Connection switch won’t turn on or turns off immediately
First determine whether permission was denied or the system stopped an active connection.
Pinpoint when the connection fails
On iPhone / iPad, Not Connected on Home means no connection is currently established; it doesn’t necessarily mean the subscription is invalid. First disable automatic reconnection conditions, then toggle the switch manually and check whether the system asks to add a VPN configuration. If you haven’t approved the permission prompt, return to it and complete the confirmation. If the switch turns on briefly and then resets, note how long it stays on and the error that follows. Don’t keep tapping the switch.
Next, disconnect the client and open a page that normally loads in your browser. If the basic network connection also fails, complete any Wi-Fi sign-in, check cellular data, or reconnect to the network. On public Wi-Fi with a captive portal, authenticate while disconnected before testing the connection. Connecting to a wireless access point confirms a local network connection, not internet access.
Check the VPN configuration and system restrictions
On iPhone / iPad, search for VPN in system settings to check whether the relevant configuration exists and whether another VPN is connected. Stop any conflicting connection, then retry in Shadowrocket. Don’t delete configurations issued by your employer, school, or device management based on the name alone. Managed devices may restrict VPN connections; ask the device administrator which connection methods are allowed. Importing a server again in the app cannot remove a system restriction.
If you previously denied permission, start a new connection and watch for a system prompt. If the system contains an obsolete Shadowrocket VPN configuration, save your in-app data first, remove only the configuration you’ve confirmed belongs to this app, then let the app request permission again. A system configuration and a server entry are separate data; verify what you’re deleting so you don’t also remove subscriptions or rules. Test a manual connection first, before restoring automatic conditions.
Separate permission issues from configuration errors
On Mac, Windows, Android, and Linux, first check that the app launches normally and that the system permissions needed to create a network tunnel have been granted. On Android, check the VPN connection prompt and app battery restrictions. On desktop systems, check the current account’s permissions and any blocks recorded by security software. Change only permissions related to Shadowrocket; don’t disable system protection or broadly loosen app permissions just to troubleshoot.
If the system allows connections but the switch still resets immediately, use a saved minimal configuration with one existing server entry whose parameters are complete. Temporarily disable custom scripts, Rewrite, and complex policy groups, then reconnect. This tests whether the error is caused by configuration loading; it does not prove the server is reachable. If the minimal configuration keeps the connection active, restore extensions one at a time until you find what causes the reset.
Check On Demand and competing connections
On Demand starts connections when system conditions are met, which can make a manually disconnected connection appear to turn back on by itself. Note the current conditions, then temporarily disable On Demand so you can make just one manual connection attempt. Also stop other VPNs, network filters, or tunnel features and test again. Restore them individually afterward. When multiple components manage network traffic at once, it’s harder to identify which one owns the permissions and routes.
If the connection drops only after locking the screen or switching networks, see the battery and iPad sections rather than continuing to delete servers. If a clear configuration parsing error appears every time the app starts, check section names, punctuation, and policy references in the configuration. Comparing the exact error with the last configuration that connected successfully preserves more useful clues than reinstalling the app, and avoids re-entering sensitive authentication details.