Journal

Field notes, written as I ship. Newest first.

96 posts

field-notes

Claude's token-efficient tools header has no page left to check (2026)

Anthropic tells you to remove token-efficient-tools-2025-02-19 because it has no effect. The page that defined it now 307s to a migration guide index that mentions neither the feature nor beta headers. Measured October 2026: 0 occurrences across a 760-URL documentation index, and the whole surviving description is one sentence on one of four model migration guides.

12 min read137
field-notes

Claude structured outputs can silently change your enum

Structured outputs promise you can stop validating. The same page documents four ways the output can miss your schema, and one of them returns a normal 200 with no stop_reason. Measured: the caveat says it covers strict tool use, and the strict tool use page never links it.

13 min read173

Claude's PDF page limit keys off a number you cannot see

The PDF support page states its page ceiling with a condition you cannot evaluate from that page. Three other statements of the same limit key it off the model instead. Measured on October 9, 2026, plus the arithmetic that makes 600 unreachable on a dense document.

13 min read219

The text editor tool prices a version the tool reference does not list (2026)

Claude's text editor tool publishes one token cost, keyed to text_editor_20250429, a version the canonical tool reference omits. The two versions it does list have no published figure, both follow-up links land on the wrong table, and the endpoint that would settle it is mentioned zero times on any tool page.

14 min read118
Field notes

Claude's memory tool lost its exemption from context editing

Anthropic's memory tool docs used to tell you to exempt memory from context editing. That paragraph was removed between February and August 2026, the cookbook still cites it at a dead anchor, and the surviving combined example ships unprotected in all nine languages.

12 min read235

The 1-hour cache fix for batches has a break-even you cannot see

Anthropic's batch docs tell you to swap the 5-minute prompt cache for the 1-hour one. The swap costs a 60 percent heavier write on every miss, and the hit rate it has to reach to pay for itself is 57.6 percent at the bottom of Anthropic's own published band and outside that band at the top. A correction to my own September post.

12 min read186

Continuing a context window truncation returns a 400

Two stop reasons mean your response was cut off, and the continuation helper on Anthropic's own stop reasons page only handles one of them. model_context_window_exceeded falls out of the loop and is returned as complete. Adding it to the condition is worse: the continuation re-sends a full window as input, which is documented as a 400 on every model.

11 min read171

Claude's token counter stops at the advisor's first call

The advisor tool is the only server tool Anthropic's count_tokens endpoint accepts, and the count covers the executor's first sampling call only. The top-level usage object is executor-only too, so both default meters miss the advisor sub-inference. Arithmetic on Anthropic's own published example puts 75.2 percent of output tokens outside the headline figures.

10 min read107

Priority Tier capacity is not extra capacity

An Anthropic Priority Tier commitment is drawn down alongside your ordinary rate limit, not on top of it. Reading the service tiers page next to the pricing page and the models list turns up a 20x burndown spread, a single cache read rate that only holds because of the exclusion list, and three of four current models excluded.

10 min read137

The container outlives its own expires_at

The Claude code execution tool returns an expires_at that is a short rolling value, not the real 30-day container limit. Three tool versions share two runtimes, two timeouts arrive in two different shapes, and web search quietly adds a second execution environment.

9 min read169