If ChatGPT will not load in its iPhone app or in Safari while Shadowrocket is connected, compare the same request with Shadowrocket off, with a different Global Routing mode, and with another connection you already have configured. Then check whether the failure points to a rule, DNS resolution, an unreachable or unstable proxy node, or a restriction affecting the service or exit IP. This guide assumes you already have your own connection configuration; it does not provide or recommend nodes or subscriptions.
Identify where ChatGPT stops loading
Start by recording what you see rather than changing several settings at once. Does the app remain on a blank screen, does a conversation load but fail when you send a message, or does Safari show a network error? A page that never reaches the sign-in screen can have a different cause from a request that fails only after you send it. Note whether the issue affects the ChatGPT app, Safari, or both.
Check the connection status on Shadowrocket’s Home screen. A connected status confirms that the app has established a tunnel; it does not prove that the selected server can reach every destination, that DNS is resolving correctly, or that a particular service accepts the connection. Run Connectivity Test if it is available in your current interface, then try opening an ordinary website and ChatGPT separately. A successful test to one destination is useful evidence, not a guarantee that every destination is reachable.
- Other websites also fail: Begin with the selected server, its connection details, and whether the current network allows the tunnel to connect.
- Other websites work, but ChatGPT fails in both the app and Safari: Check routing and DNS, then compare with another server from your own configuration.
- Safari works but the app does not: Test the app after confirming its network access and restarting it. If only the app fails, do not assume that changing a domain rule is the right fix.
- The app opens but sending a message fails: Check whether the failure is limited to one request or conversation, then retry after confirming that the connection remains active.
Keep a short record of the test conditions: the iPhone’s current network (Wi-Fi or cellular), selected Shadowrocket entry, Global Routing mode, and the exact error or behavior. This makes a comparison meaningful. If you change the network, server, DNS setting, and routing mode all at once, you may get a different result but will not know which change mattered.
Check Global Routing and rules
Global Routing changes how Shadowrocket handles traffic. In Config, traffic is evaluated using the active rule configuration; a matching rule can send it through a proxy or directly, and a final rule may handle traffic that did not match earlier entries. In Proxy, traffic is routed through the selected proxy rather than relying on the same rule-based choice. In Direct, traffic bypasses the proxy. These modes are useful for diagnosis, but a temporary test is not necessarily the right everyday setting.
First note the current mode on Home. If it is Config, check that the intended configuration is active and that it has not been replaced by a different file. Look for rules that could match the ChatGPT app’s destination or related domains and route them to DIRECT, an unavailable policy, or a different group from the one you expect. Do not assume that one guessed domain covers all app and browser requests: a service can use multiple hostnames for sign-in, API requests, and other functions.
For a controlled comparison, temporarily select Proxy and retry the same action. If ChatGPT works in Proxy but fails in Config, that points toward rule matching or the active rule configuration. It does not prove which individual rule is responsible. Return to Config and inspect the matching rules rather than leaving a broad routing mode enabled without understanding its effect. If the test fails in both modes, continue to DNS and server checks.
Routing comparison
Config- Uses the active configuration’s rules and policies.
Proxy- Useful as a temporary test of rule-based routing.
Direct- Bypasses the proxy; use only as a controlled comparison.
Record the original mode and restore it after testing.
Rule checks
- Active file
- Confirm the intended configuration is selected.
- Matching rule
- Check the action and policy for relevant destinations.
- Final rule
- Check how unmatched requests are handled.
Avoid adding broad rules until you know what they will match.
When reviewing a configuration, follow its rules in order and check the policy each matching rule selects. If the configuration is remotely managed, use the configuration source you already rely on for changes; do not edit unrelated entries just to make one test pass. A rule that sends a destination to PROXY also depends on the selected policy having a usable server. If a rule points to a group or policy that has no working selection, a correct-looking domain match can still fail.
Compare DNS and proxy connectivity
DNS translates hostnames into addresses. If name resolution fails or returns an unusable result, a connection may fail before the service can respond. But DNS is only one possibility: a proxy server can be unreachable, an authentication field can be wrong, or the connection can be interrupted on the current Wi-Fi or cellular network. Use repeatable tests to distinguish these cases instead of changing DNS values at random.
Keep the selected server unchanged while you compare routing modes, then keep the routing mode unchanged while you compare another server already present in your own configuration. If one server consistently fails to load ChatGPT while another works under the same conditions, investigate the failing server’s reachability, credentials, or exit IP. A successful connection to a different server does not establish that the original server is misconfigured; it narrows the likely causes.
If your Shadowrocket setup includes DNS options, note the current setting before changing it. Use only DNS values supplied by a source you trust or already use in your configuration. Change one DNS setting at a time, repeat the same test, and restore the previous value if the result becomes worse or ambiguous. Do not enter a DNS address simply because it appears in an unrelated guide: the right choice depends on the configuration and network conditions.
Conclusion: change one variable per comparison
If the same ChatGPT request works in Proxy but not Config, investigate rule selection first. If the routing mode stays the same and changing to another configured server changes the result, investigate the server path or exit IP. If neither comparison changes anything, check DNS, the iPhone’s network, and service-side conditions before editing more rules.
For a hands-on test, use the following sequence and repeat the same action each time—for example, opening the same page or sending a short new message. Avoid switching between the app and browser midway through the comparison, because that adds another variable.
- On
Home, record the selected server and currentGlobal Routingmode. - With Shadowrocket connected, check
Connectivity Test, then test ChatGPT in the app or Safari and note the result. - If the current mode is
Config, temporarily selectProxyand repeat that same ChatGPT test. - Restore the original mode, select another server already in your own configuration, and repeat the test without changing DNS.
- If the result still points to DNS, change only a DNS option you understand, then repeat the test and record whether the result changed.
These comparisons are diagnostic, not a promise that any one mode, DNS setting, or server will work. If you are on a managed iPhone or a network with its own access policies, follow the applicable device and network instructions. Do not remove system or management settings you do not recognize as part of troubleshooting.
Interpret common errors without guessing
The exact wording can vary between the ChatGPT app, Safari, and the network layer. An error shown by the app does not by itself identify whether the cause is a Shadowrocket rule, DNS, the server, or a service-side condition. Record the message and the test conditions, then use the pattern across your comparisons.
Error: “Unable to connect”
Possible cause and next check: The selected server may not be reachable, or the current network may interrupt the connection. Check Shadowrocket’s connection status and Connectivity Test, then test another server already in your configuration while keeping the routing mode unchanged.
Error: “This site can’t be reached”
Possible cause and next check: DNS resolution, routing, or the proxy path may be failing. Compare Config with a temporary Proxy test, then review the active rule and DNS setting without changing both at once.
Error: ChatGPT opens, but a request does not finish
Possible cause and next check: The connection may be unstable, or a service-side condition may affect the request. Check whether the tunnel stays connected, retry once on the same network, and compare one other configured server before changing rules.
Error: A sign-in or access message appears
Possible cause and next check: An access decision may depend on service-side conditions or the exit IP, not only on local routing. Record the exact message, compare a different server you already have configured, and consult the service’s own support information if the message persists.
Do not treat a specific error string as proof that the service is blocking a particular network, or that changing a DNS server will solve the issue. If the message persists across the app and Safari, across Config and Proxy, and across your available configured servers, the evidence is less consistent with a single local rule. Keep that distinction in mind before making permanent changes.
FAQ
ChatGPT works in Safari but not in the iPhone app. What should I check?
Keep the same server and Global Routing mode, then close and reopen the app and retry. If only the app fails, check whether it has network access and whether the issue continues after a normal iPhone restart. Avoid adding domain rules until a routing comparison shows that rules are likely involved.
Should I leave Shadowrocket on Proxy?
Use Proxy as a temporary comparison if you need to determine whether Config rules are affecting the request. Restore your intended mode afterward and review the relevant rules. A diagnostic setting is not automatically the best permanent setting for your normal traffic.
Connectivity Test passes, so why does ChatGPT still fail?
A connectivity check confirms only the destination and conditions that the check uses. It does not prove that ChatGPT’s app requests, DNS lookups, or service-side access will succeed. Continue by comparing the same ChatGPT request in Config and Proxy, then compare another configured server.
When should I contact the service or configuration provider?
Contact the provider of your own configuration if Shadowrocket cannot connect or its server test fails across relevant networks. If the tunnel and other destinations work but ChatGPT shows a persistent access or sign-in message across app, browser, and configured servers, consult the service’s support information and include the exact message and test conditions.
After troubleshooting, restore the routing mode and DNS settings you recorded at the start unless a specific change is understood and intentionally retained. If Shadowrocket itself is not installed or you need to verify its official listing, use the App Store information and compatibility details on the app verification page.