HTTPS_PROXY environment variable. Some SDKs use custom HTTP implementations that need additional configuration.
Compatibility matrix
| SDK / Library | Works with env vars? | Workaround |
|---|---|---|
curl, wget | Yes | None needed |
Go net/http | Yes | None needed |
Rust reqwest | Yes | None needed |
Python requests | Yes | None needed |
Python httpx | Yes | None needed |
Ruby net/http | Yes | None needed |
undici.fetch() | Yes (with register) | --import @c6o/cordon/register |
Node built-in fetch | Partial | Set env vars + register import |
node-fetch | No | Use http-proxy-agent package |
axios | No | Configure proxy option |
got | Yes | Respects env vars natively |
AI / LLM SDKs
The major AI SDKs use customfetch implementations and do not respect HTTPS_PROXY env vars or undici’s global dispatcher. They require explicit proxy configuration.
Anthropic SDK
OpenAI SDK
Both the Anthropic and OpenAI SDKs are built on the same underlying SDK generator (Stainless), which is why their proxy configuration is identical.
Other AI SDKs
| SDK | Status |
|---|---|
| Vercel AI SDK | Not yet tested |
| LangChain.js | Not yet tested |
| Google Generative AI | Not yet tested |
| AWS Bedrock | Not yet tested |
| Cohere | Not yet tested |
| Mistral | Not yet tested |
We’re actively testing more SDKs. If you’ve tested one not listed here, let us know.
Node.js register import
For Node.js applications that usefetch (built-in or undici), the @c6o/cordon/register import patches the global dispatcher to respect proxy env vars:
NODE_OPTIONS:
globalThis.fetch or undici.fetch(). It does not work for libraries that bring their own HTTP stack (like node-fetch, axios, or the AI SDKs listed above).