CLI: verify that the process reads the configuration
Command-line programs don’t always use the system proxy automatically. Check how your SDK or tool supports proxies before choosing app settings, environment variables, or a client-specific network mode. Whether HTTPS_PROXY, HTTP_PROXY, and NO_PROXY work depends on the runtime and how the process starts. The variables being set doesn’t prove that requests use the proxy.
Get the proxy address and port from your local client settings; don’t copy someone else’s configuration. After changing environment variables, restart terminals and programs that may still have the old values. When troubleshooting, review redacted connection errors, but don’t print full request headers, credentials, or subscription details.
IDE extensions: distinguish the interface from where requests run
The editor, extension host, and integrated terminal may handle proxy settings differently. A working Cursor or Copilot sign-in window doesn’t prove extension requests use the same network exit. Check app settings, extension documentation, and error logs to identify whether authentication, model responses, or asset downloads are failing, then adjust the relevant configuration.
With remote development, containers, or workspace connections, code may run on another machine. Your local client’s route won’t automatically cover remote processes. Check the network in the environment that actually sends the request, and follow your organization’s network policies. Don’t change centrally managed security settings.
CI: start with the runner’s network
CI requests come from the runner, so a successful test in your local browser proves nothing about its connection. Check the runner’s network exit, the platform’s supported regions, credential permissions, and proxy settings at runtime. Containers have their own network boundaries: localhost inside a container isn’t the same as the host’s address.
Inject secrets through protected CI variables and limit which jobs can read them. Keep enough error detail in failure logs to identify the error type, but redact credentials, private prompts, and business data. Before enabling automatic retries, distinguish temporary network failures from rate limits and permission errors; don’t let failing jobs resubmit indefinitely.