MIUI / HyperOS

MIUI and HyperOS Hidden Developer Toggles: Finding Install via USB and USB Debugging (Security Settings)

Published: July 6, 2026 Applies to: Xiaomi, Redmi, and POCO devices running MIUI or HyperOS

On stock Android, enabling Developer Options and flipping USB Debugging is enough to get adb devices working and adb install pushing APKs without complaint. On MIUI and HyperOS, that single toggle often isn't sufficient — Xiaomi splits USB-related permissions across two or three separate switches, and one of them isn't even in Developer Options at all. Missing the extra step is the single most common reason adb connects fine but every install still fails on these devices.

Step 1: The Standard USB Debugging Switch

This part matches every other Android device: Settings > About Phone, tap MIUI Version (or the build number field on HyperOS) seven times to unlock Developer Options, then go to Settings > Additional Settings > Developer Options and enable USB Debugging. This alone gets a device showing up in adb devices, but installing an app with adb install at this point commonly fails silently or hangs waiting for a confirmation that never appears.

Step 2: USB Debugging (Security Settings)

Still inside Developer Options, scroll to a second, separately labeled entry: USB Debugging (Security Settings). This one specifically governs whether adb is allowed to install apps and grant permissions via USB, as distinct from just the debug connection itself. Enabling it usually requires being signed into a Xiaomi account on the device and having an active data or Wi-Fi connection at the moment you flip it, since MIUI performs an online verification step before allowing the toggle to stay on.

Step 3: Install via USB (Sometimes Outside Developer Options)

On some MIUI versions, there is a third relevant switch called Install via USB, located either inside Developer Options or under Settings > Apps > Permissions > more permissions, depending on the exact build. This one governs whether the device accepts app installs from a connected computer at all, separate from the debugging security setting above. If adb install returns success but the app never appears on the device, or returns an install-blocked error referencing "unknown sources" despite the APK coming through adb rather than a browser, this is usually the missing toggle.

Why Xiaomi Splits This Into Multiple Switches

MIUI's permission model treats "can this computer see debug output" and "can this computer install or modify apps" as separate trust levels, layered on top of standard Android's single toggle, as part of Xiaomi's broader MIUI Security app sandboxing. The practical effect is that a workflow which requires nothing but standard USB Debugging on a Pixel or a Samsung phone needs two or three toggles flipped on a Xiaomi device before adb install, adb push to protected locations, or sideloading APKs works the same way.

The Xiaomi Account Requirement

Because the security-settings toggle performs an online check, a device with no Xiaomi account signed in, or one on a region-locked ROM without Mi Cloud access, can get stuck unable to enable it at all. Signing into any valid Mi account (even one created just for this purpose) and retrying with an active internet connection resolves this in the overwhelming majority of cases; a full device reboot after signing in sometimes clears a stuck verification state that a simple retry doesn't.

If the Toggles Are Right But adb Still Fails

Confirm the driver and connection basics are in order first — the Xiaomi USB driver and MIUI setup guide covers the Windows driver side of the connection, which is a separate layer from the on-device toggles covered here. A device that shows as unauthorized rather than absent from adb devices is waiting on the confirmation dialog rather than missing a toggle; see the general guide on enabling USB debugging on any Android device for that base case before troubleshooting MIUI's extra layer.

HyperOS Differences

HyperOS keeps the same three-switch structure inherited from MIUI, though menu wording and placement shift slightly between versions — "Additional Settings" on some builds becomes a top-level "Special Settings" or similar rename. The underlying requirement is unchanged: standard USB Debugging, the security-settings toggle with an online account check, and in some cases the separate install-via-USB permission, all three needed together for a full adb install workflow to work reliably.