{"name":"CLAUDE_CODE_WEB_FETCH_AGENT","slug":"claude-code-web-fetch-agent","family":"env","title":"Environment variables","noun":"environment variable","description":"The built-in web-fetch agent refuses observer and worktree roles and just runs locally.","description_source":"entry","described_by":{"version":"2.1.232","anchor":"guards-keep-the-web-fetch-agent-out-of-observer-and-worktree"},"presence":{"first_seen":"2.1.232","removed_in":null,"in_current_build":true,"newest_mined":"2.1.309","builds":67,"mined_builds":150,"first_cited":{"version":"2.1.232","released_at":"2026-08-13 21:30:53","spans":2}},"aliases":[],"entries":[{"version":"2.1.236","anchor":"web-fetch-agent-switch-moved-into-per-host-state","heading":"Web fetch agent switch moved into per-host state","line":"The web fetch agent decision moved per session; it still defaults off unless you set the variable.","released_at":"2026-08-19 18:45:14","reason":"named in this entry, found in this entry's text"},{"version":"2.1.232","anchor":"guards-keep-the-web-fetch-agent-out-of-observer-and-worktree","heading":"Guards keep the web-fetch agent out of observer and worktree roles","line":"The built-in web-fetch agent refuses observer and worktree roles and just runs locally.","released_at":"2026-08-13 21:30:53","reason":"named in this entry, found in this entry's text"},{"version":"2.1.232","anchor":"web-fetch-quoting-rules-moved-to-one-shared-constant","heading":"Web-fetch quoting rules moved to one shared constant","line":"Quoting rules for fetched pages now live in one shared block used by both fetch paths.","released_at":"2026-08-13 21:30:53","reason":"named in this entry, found in this entry's text"},{"version":"2.1.232","anchor":"a-built-in-web-fetch-subagent-that-takes-over-page-fetching-","heading":"A built-in \"web-fetch\" subagent that takes over page fetching, off by default","line":"A built-in web-fetch agent can take over page fetching and summarise pages, off by default.","released_at":"2026-08-13 21:30:53","reason":"named in this entry, found in this entry's text"},{"version":"2.1.232","anchor":"web-fetching-can-be-routed-through-a-built-in-agent","heading":"Web fetching can be routed through a built-in agent","line":"Fetches can be handed to a dedicated agent, but the server flag defaults off.","released_at":"2026-08-13 21:30:53","reason":"named in this entry, found in this entry's text"},{"version":"2.1.232","anchor":"webfetch-can-save-binary-responses-to-disk","heading":"WebFetch can save binary responses to disk","line":"Fetches can save PDFs and other binaries to disk when the fetch agent is on.","released_at":"2026-08-13 21:30:53","reason":"named in this entry, found in this entry's text"}],"entries_total":6,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"CLAUDE_CODE_WEB_SEARCH_FAST_ARG","slug":"claude-code-web-search-fast-arg","description":"The web search tool has a built-in choice between a quick, cheap search and a slower, thorough one, but it stays off unless configured"},{"name":"CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR","slug":"claude-code-web-search-refills-per-hour","description":"WebSearch is limited by an hourly refilling budget instead of a simple count, adjustable with CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR"},{"name":"CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS","slug":"claude-code-webfetch-cache-ttl-ms","description":"You can set how long WebFetch keeps pages cached, in milliseconds."},{"name":"CLAUDE_CODE_WEBFETCH_DEADLINE_MS","slug":"claude-code-webfetch-deadline-ms","description":"WebFetch requests now enforce a timeout and fail with a clear deadline error if exceeded"},{"name":"CLAUDE_CODE_WEBFETCH_PROXY_PATH","slug":"claude-code-webfetch-proxy-path","description":"A path for routing WebFetch through a proxy endpoint. When the API provider is first-party and the value starts with `\/` and contains no `:\/\/`, WebFetch skips its direct fetch and domain preflight and POSTs `{url}` (with `http:\/\/` rewritten to `https:\/\/`) to `ANTHROPIC_BASE_URL` (default `https:\/\/api.anthropic.com`) plus this path, with a 40 second timeout; a failed proxy call fails the fetch with the `web-fetch-ccr-proxy` error. Any other value is ignored."},{"name":"CLAUDE_CODE_WEBFETCH_USE_CCR_PROXY","slug":"claude-code-webfetch-use-ccr-proxy","description":"Routing WebFetch through the CCR proxy now depends on `CLAUDE_CODE_WEBFETCH_USE_CCR_PROXY` instead of being worked out from session state"},{"name":"CLAUDE_CODE_WEBSEARCH_CCR_PROXY_FAST","slug":"claude-code-websearch-ccr-proxy-fast","description":"The web search tool has a built-in choice between a quick, cheap search and a slower, thorough one, but it stays off unless configured"},{"name":"CLAUDE_CODE_WEBSEARCH_CITATIONS","slug":"claude-code-websearch-citations","description":"With CLAUDE_CODE_WEBSEARCH_CITATIONS set, Claude is no longer told to end web search answers with a written \"Sources:\" list"},{"name":"CLAUDE_CODE_WEBSEARCH_CITATIONS_DECLARED","slug":"claude-code-websearch-citations-declared","description":"A new environment variable, CLAUDE_CODE_WEBSEARCH_CITATIONS_DECLARED, joins the existing web search citations switch"},{"name":"CLAUDE_CODE_WEBSEARCH_USE_CCR_PROXY","slug":"claude-code-websearch-use-ccr-proxy","description":"The web search tool has a built-in choice between a quick, cheap search and a slower, thorough one, but it stays off unless configured"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-web-fetch-agent","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}