
Claude Code 2.1.284 and the Sonnet 5.5 Shift
We unpack Claude Code 2.1.284 and the quiet switch to Sonnet 5.5, from the 1M-token context window and cheaper cache reads to the new 512-token cache minimum. Plus: adaptive thinking defaults, tool-calling changes, keybinding controls, and the token-counting gotchas that could affect your bill.
Chapter 1
The Quiet Default Swap in Claude Code 2.1.284
James Turner
So Claude Code shipped version 2.1.284, and the default Sonnet changed underneath everybody. Um, no big banner. Just a line in the release notes.
Lachlan Reed
Like somebody swapping the engine while you're parked at the servo. Which model are we talking?
James Turner
Sonnet 5.5. The model ID is claude sonnet five five. The release notes say it's now the default Sonnet on the Anthropic API, with a one million token context window. Two dollars per million tokens in, ten dollars out, and cache reads at twenty cents per million.
Lachlan Reed
And this quick breakdown is brought to you by Jellypod AI, just so that's on the record. Right, twenty cents versus two dollars. That's a tenth, yeah?
James Turner
Yeah, a ninety percent discount on cached input. And here's the bit I, I, I didn't expect. The migration guide says the minimum cacheable prompt drops from 1,024 tokens down to 512.
Lachlan Reed
Hang on. Why does that matter for me? My prompts are big.
James Turner
Are they though? Think about a tight CLAUDE.md file, a few terse project rules, or a subagent with a short system prompt. Those could sit under 1,024 tokens. Nothing in the sources says this happens in Claude Code, so that's my inference. But a prompt that size couldn't be cached before and now, in principle, it can.
Lachlan Reed
Ohh. So short loops, the ones where you ask, tweak, ask again, they're the ones that get cheaper. Small stuff finally counts.
James Turner
Right. Now the runtime side, because this is where old code might trip. Sonnet 5.5 runs adaptive thinking by default. Send a request with no thinking field, and it thinks.
Lachlan Reed
Fair enough. What if I don't want it to?
James Turner
There's a lowest setting called between tools. The old disabled setting now returns a 400 error. And, uh, there's a twist. Notes longer than a sentence or two that the model writes between tool calls come back inside thinking blocks, empty by default. So an interface that shows those notes can go quiet.
Lachlan Reed
Wait, so it's talking, I just can't hear it.
James Turner
Pretty much.
Lachlan Reed
What about forcing a tool call? I've done that plenty.
James Turner
Gone. Forcing a tool with tool choice any, or naming a specific tool, gets a 400 error. The guide says send auto and mark the tool strict, so the input matches your schema. Then tell the model in the prompt when to use it.
Lachlan Reed
Hmm, so less handcuffs, more, uh, a really clear brief.
James Turner
Yeah, that's it. And on the Claude Code side, 2.1.284 adds three keybinding actions. effortSlider:decreaseEffort, increaseEffort, and toggleUltracode. You can rebind the arrows and Tab on the slash effort slider in keybindings.json.
Lachlan Reed
And the levels are...?
James Turner
Five of them. Low, medium, high, xhigh, and max. The guide says the default on the API is high, and for agentic coding it suggests starting at medium for well specified tasks.
Lachlan Reed
Okay, so what's the catch? There's always a catch. Last time I skipped the fine print I, I, I nearly took down a client's site.
James Turner
Tokens. Sonnet 5.5 uses Sonnet 5's tokenizer. Against Sonnet 4.6, Sonnet 4.5, and Haiku 4.5, the same text produces about thirty percent more tokens, depending on the content. And thinking tokens are billed as output tokens.
Lachlan Reed
So the ten dollar side of the price sheet is where the, the, the surprise bill lives.
James Turner
Could be. The guide says recount your tokens and re-baseline cost.
Lachlan Reed
Fair. Right, the good stuff in the release notes. First one I like. Auto mode now has a Yes, but ask again next time answer, when Claude wants to read outside your working directories.
James Turner
So you allow that one read, and it still asks about the next.
Lachlan Reed
Exactly the middle ground I wanted. Then there's slash mcp reconnect all. One command to retry every MCP server that failed to connect or needs authentication.
James Turner
No more poking at them one by one. And the compaction fix, that one's sneaky good. Before, Prompt is too long errors could stick around even after compacting.
Lachlan Reed
Been there. Compact, and it's still too fat.
James Turner
Now if the compacted request is still too long, Claude Code compacts once more, keeping less of the recent conversation.
Lachlan Reed
So the upgrade is a cheaper cache, a chattier brain, and a bigger token bill to watch. I can live with that.