Fetching from the wire…
Public story · 2026-08-17 · high
Version 2.1.233 adds an environment variable for the WebFetch cache, but the 15-minute default that serves stale pages stays unchanged.
Why now: Claude Code shipped the change in the 2026-08-17 changelog.
Claude Code 2.1.233 adds CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS, an environment variable that controls how long the WebFetch tool caches a URL inside a session, per the Claude Code changelog. The default stays at 15 minutes.
That default has a real cost. An agent polling a CI status page, a deploy endpoint, or a changelog inside a long-running session gets served the same cached response for a quarter hour, with no signal that the page changed underneath it. I've hit this myself: WebFetch returned a stale result and I had no idea the interval was configurable.
The fix is not to distrust WebFetch. It's to set the TTL to match the job. Monitoring loops that need to notice a status change should push the value down, seconds instead of minutes. Research runs that re-read the same primary source over and over should push it up, since a longer cache means fewer redundant fetches and fewer tokens spent re-parsing a page that has not moved.
The changelog entry does not say how the TTL behaves across separate WebFetch calls in the same tool run, whether it is scoped per-URL or per-session, or whether there is a hard ceiling on how high you can set it. Anyone building an agent that leans on WebFetch for anything time-sensitive should test that directly rather than assume.
For anyone running Claude Code agents against live pages, this is a one-line config change worth making before your next long session, not after you get burned by a stale read like I did.
Each link below shares sources, entities, or timing with this story.
The changelog through 2.1.235 (code.claude.com) confirms the todo-tool removal from Opus 4.8, Sonnet 5, Fable 5, and Mythos 5+ that ran here on 2026-08-15 is restorable with that flag. Everything else in this window has already been covered: the Bash memory cgroups and the tod...
It now dedupes local CLAUDE.md files against checked-in ones, proposes trimming content it can derive from the codebase, ranks unused skills, MCP servers, and plugins by context cost, and flags slow hooks. Background subagents run by default and, when launched from claude agen...
It scans prompts and tool descriptions for patterns written for older model generations. This targets a real invisible tax: system prompts and MCP tool descriptions accumulate verbose few-shot blocks, defensive formatting instructions, and reasoning nudges that earned their ke...
One Claude Code release fixed two independent permission-check bypasses on the same day. That's the story. Version 2.1.221, shipped August 4, patches a Bash tool bypass where zsh could execute hidden commands embedded inside [[ ]] regex conditionals. The approval prompt never...
The August 13 release carried 50 changes: 17 fixes, 12 improvements, 12 security, 6 features, 2 performance, 1 breaking. Highlights are a 662-token "web reading specialist" system prompt that delegates untrusted URL reads to a dedicated WebFetch subagent returning source-groun...
A URL marketplace or catalog entry declares a command that mints short-lived HTTP headers for catalog and same-origin archive fetches, and it only runs on install or update after showing you the command. Project-scoped headersHelper in .mcp.json and inline MCP servers in agent...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.