{"version":"2.1.319","anchor":"proxy-can-resolve-hostnames-that-do-not-resolve-locally","canonical_anchor":"proxy-can-resolve-hostnames-that-do-not-resolve-locally","heading":"CLAUDE_CODE_PROXY_RESOLVES_HOSTS lets a proxy look up names your machine cannot","tier":"use","area":"Internals","scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/proxy-can-resolve-hostnames-that-do-not-resolve-locally","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### CLAUDE_CODE_PROXY_RESOLVES_HOSTS lets a proxy look up names your machine cannot\n\nWith CLAUDE_CODE_PROXY_RESOLVES_HOSTS set, websocket connections to names that fail to look up locally are left to the proxy instead of failing\n\n**What**\n\nA proxy is a go-between server that Claude Code can send its network traffic through. `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` is an environment variable, a setting passed to Claude Code from your shell. It is now listed with the other proxy variables, such as `HTTPS_PROXY`, `NO_PROXY`, `CLAUDE_CODE_HTTP_PROXY` and `CLAUDE_CODE_HTTPS_PROXY`.\n\nWhen it is set and your machine cannot look up a server name (the lookup fails with `EAI_AGAIN` or `ENOTFOUND`), a websocket connection, a long-lived two-way link to a server, is now left to the proxy to resolve. Before, Claude Code stopped with a \"could not resolve\" error. Some names are never handed over:\n\n- names that mean your own machine (loopback)\n\n- names that point at cloud metadata services\n\n- names with an empty part, such as two dots in a row\n\n**Why**\n\nOn networks where only the proxy can look up outside names, such as sandboxed or proxy-only setups, these connections can now go through instead of failing at the name lookup.\n\n- Area: Internals\n- Names: `CLAUDE_CODE_PROXY_RESOLVES_HOSTS`\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 2\/5\n- Scope: both\n- Heads-up: no"}