Command-line processes require explicit proxy checks
Whether terminal tools use the system proxy depends on the operating system, Shell, runtime, and specific client. Start by checking the environment variables visible to the current terminal, then launch the actual program from that same terminal. If changes have no effect, reopen the terminal so an old process does not keep using the environment read at startup.
Also check whether the request target is excluded by a bypass list. An overly broad bypass rule can send AI API requests directly while the webpage still works through a browser extension, creating seemingly contradictory results.
IDEs and plugins may use separate network stacks
Cursor, Copilot, and other editor plugins may send requests through the editor’s main process, extension host, or background child process. A working system proxy does not mean every plugin inherits it automatically. After changing the proxy, fully restart the editor and test login, model requests, and the integrated terminal separately.
If only the plugin fails while the browser works, check the editor’s proxy settings, certificate handling, and extension logs. Do not switch through multiple regions in succession, as this adds account-environment changes and can obscure the original fault.
CI environments require a fixed exit and task isolation
Automation tasks usually run in an isolated environment and do not inherit the route settings of a personal computer. Configuration should specify where the task originates, which exit it uses, and whether build steps may access the target service. Parallel tasks must also follow third-party calling rules and rate limits.
Network retries should handle only temporary connection failures, not replay authentication failures or parameter errors indefinitely. Classifying errors as network, permission, quota, or request-content issues reduces wasted calls and makes it easier to locate the problem at the network or application layer.
Manage Credentials Separately from Network Settings
Store API keys in controlled environment variables or a secrets manager, not in scripts, logs, or public repositories. Manage proxy addresses, authentication credentials, and application keys separately to avoid exposing sensitive data while troubleshooting the network. Clean request headers, query parameters, and environment variables before sharing logs.