User Hopper
2.0 · GitHub
More about this app
Create, start, stop and delete guest and secondary users on devices where the maker disabled multi-user support
User-Hopper
Enable guest and secondary-user management on Android devices where the manufacturer has restricted multi-user functionality, without root access.
User-Hopper uses Shizuku to manage Android users without root access.
Modes
| Guest mode | Digital Legacy mode | |
|---|---|---|
| Supported devices | Android devices generally, including Samsung Galaxy devices running One UI 8.0 or lower | Samsung Galaxy phones running One UI 7.0 or higher |
| User creation | Created directly by the app (pm create-user --guest) |
Created through Samsung's Digital Legacy feature to work around multi-user restrictions |
| App installation | Install Shizuku and User-Hopper into the guest user | Automatically installs Shizuku and User-Hopper into the detected user |
| Notes | Digital Legacy mode can also be used on One UI 7.0–8.0 | On One UI 8.5 or later, the Digital Legacy interface may open automatically |
Features
- Create, start, exit, and delete a secondary user.
- End a secondary user's session without deleting the user, stopping all apps running in that user.
- Enable or disable actions according to the current user, user existence, and session state.
- Automatically detect a Digital Legacy user and install Shizuku and User-Hopper into it.
- Save failed shell commands to
Documents/UserHopper/command_log.txt.
Requirements
- Shizuku installed and running, with permission granted to User-Hopper.
- For Digital Legacy mode, a supported Samsung Galaxy phone with the Digital Legacy feature.
Usage
Guest mode
| Main Screen 1 | Main Screen 2 | Guest Screen |
|---|---|---|
![]() |
![]() |
![]() |
- Start Shizuku and open User-Hopper. Grant the requested Shizuku permission.
- Tap Create Guest User to create a guest user.
- Tap Install Shizuku and Install Manager to install both apps into the guest user.
- Tap Start Guest to switch to the guest user.
- To return to the owner user, open User-Hopper inside the guest user and tap Exit Guest.
Digital Legacy mode
| Main Screen 1 | Main Screen 2 | Digital Legacy Screen |
|---|---|---|
![]() |
![]() |
![]() |
- Start Shizuku and open User-Hopper. Grant the requested Shizuku permission.
- Tap Create Digital Legacy User to open the Digital Legacy app's information page.
- Open the Digital Legacy settings and tap the Digital Legacy request button to create the user and switch to it.
- User-Hopper detects the new user, disables the Digital Legacy feature within that user, and installs Shizuku and User-Hopper automatically.
- To return to the owner user, open User-Hopper inside the secondary user and tap Exit.
Important notes
General
- You may get stuck in the secondary user. On devices that do not officially support switching between secondary users, you may be unable to return to the owner user if Shizuku stops running or User-Hopper is uninstalled. Make sure Shizuku is running and User-Hopper has permission in the secondary user before switching. If Shizuku stops, you may need to use USB debugging to switch users or restart the device. Restarting may cause unsaved data in the owner user to be lost.
- Use this project at your own risk. This project is not affiliated with Samsung or Google.
Guest mode
- Do not reset the guest session when prompted by the system after switching to the guest user. Resetting the session may remove Shizuku and User-Hopper from the guest user. On devices without a user-switching toggle, this may leave you unable to return to the owner user.
Digital Legacy mode
- Use this mode only if you understand the implications of using Samsung's Digital Legacy feature for this purpose. The feature is intended to securely transfer a deceased person's phone data, such as contacts and notes stored in Samsung Cloud, to a designated Legacy Contact. If you actually need the Digital Legacy feature, delete the secondary user created for this purpose and submit the request directly through Settings.
- If you submit a Digital Legacy request directly through Settings instead of User-Hopper, the normal Digital Legacy interface is displayed. When you start the user through User-Hopper, the Digital Legacy feature is disabled within that user so it can be used like a regular secondary user.
- Digital Legacy mode is not supported on Samsung Galaxy tablets or devices from other manufacturers.
How it works
User-Hopper executes standard Android shell commands through Shizuku.
| Action | Shell command |
|---|---|
| Create guest user | pm create-user --guest Guest |
| Install an existing app into a user | pm install-existing --user <id> <package> |
| Start / exit a user | am switch-user <id> |
| End a user's session | am stop-user -w -f <id> |
| Delete a user | pm remove-user <id> |
| Disable / enable Digital Legacy | pm disable-user --user <id> / pm enable --user <id> |
| Detect users and sessions | pm list users |
Troubleshooting
- A button is disabled: The action may not be available in the current state. For example, the Start button is disabled when you are already inside the secondary user. Tap the Refresh button in the upper-right corner.
- Shizuku errors: Make sure Shizuku is running and permission has been granted. Failed commands are logged at
<device storage>/Documents/UserHopper/command_log.txt. - Exit is disabled inside the secondary user: Shizuku may not be running in that user, or User-Hopper may not have Shizuku permission.
License
This project is licensed under the GNU General Public License v3.0 or, at your option, any later version (GPL-3.0-or-later).
See the LICENSE file for the full license text.
Credits
How Shizuku is used
Can create, switch, stop and delete guest users via `pm` and `am` shell commands through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
User Hopper uses Shizuku to run privileged user and package commands that manage guest users on devices where the maker disabled multi-user support.
- Create guest user: creates a new guest profile with the
pm create-user --guestshell command through Shizuku. - Detect guest users: lists profiles and checks whether the guest session is running with the
pm list usersshell command through Shizuku. - Install apps in guest: makes Shizuku and User Hopper itself available inside the guest profile with the
pm list packagesandpm install-existingshell commands through Shizuku. - Start and exit guest: switches the foreground user into the guest profile and back to the owner profile with the
am switch-userandam get-current-usershell commands through Shizuku, including enabling and disabling a companion package withpm enableandpm disable-useras part of the switch. - Stop guest session: terminates the running guest session with the
am stop-usershell command through Shizuku. - Delete guest user: removes the guest profile with the
pm remove-usershell command through Shizuku.
Android APIs or commands used
pm create-userpm list userspm list packagespm install-existingpm remove-userpm disable-userpm enableam switch-useram stop-useram get-current-user
Changelog
What's new for version 2.0
Full Changelog: https://github.com/dlawoals2713/User-Hopper/compare/v1.2...v2.0
Permissions
2 permissions requested





