2.1.293 hit the npm registry on October 7 at 17:18 UTC, about 40 minutes before the Haiku 5.5 announcement. The release is long but almost entirely repair work: three new things, more than thirty fixes.
Haiku 5.5 is the default Haiku now
Claude Code knows Claude Haiku 5.5 as claude-haiku-5-5 and makes it the default Haiku model on the Anthropic API. The changelog lists the prices right there: $0.10 input and $0.50 output per Mtok, rising to $0.50 and $2.50 for prompts over 100K. Context window: 1M tokens.
Two smaller additions for tool builders. subagentStatusLine gains an agentType field so a script can tell custom subagent types apart. And $.tool.register accepts isDeferred for mods: set it to false and the tool’s schema sits in the prompt from the start instead of waiting behind tool search.
The memory leak and the ignored project rules
Two repairs stand out.
The first: an HTTP MCP connection kept every request it had sent until it closed. In a long session against an MCP server over HTTP, that grows and grows.
The second concerns what Claude knows about your project. Path-scoped rules and nested CLAUDE.md files weren’t loading when Claude views a file with cat, head, tail, sed -n or grep in the Bash tool instead of the Read tool. If you’ve organized your rules by directory, they could be bypassed without anyone noticing — purely by how the file got read.
There’s also a context fix: Claude sometimes treated its own last actions before a compaction as done afterwards, then retracted or redid finished work.
The usual pile of interface bugs
The rest is small stuff, but there’s a lot of it. A sample:
- A message sent while Claude was working got lost when
←moved the session to the background. Now the session stays put and says so. /modellet the arrow keys wrap past the highest or lowest effort level, which could accidentally save Low as a model’s default./tuidisconnected Claude in Chrome in a session started with--chrome, and ignored--no-chrome.claude logs,stop,kill,rmandclaude daemon status,stop,uninstalloccasionally signed you out when your login had expired or was about to.claude purgestopped silently (exit 0, or a hang) when a file couldn’t be deleted. Now it deletes the rest, lists what it couldn’t, and exits 1.claude plugin evalrefused every Bash-granting run on Macs with Docker Desktop, over links under~/.docker/bin.- Subagents and
--agentsessions were told a built-in tool was disabled for the whole session when only their own tool list left it out.
The desktop app shipped v2.26454.2 the same day, bundling Claude Code 2.1.293, with no user-facing changes of its own.
One fix worth more than the new model
The Haiku 5.5 support is the headline. The find of the day is the path-scoped rules.
If you keep CLAUDE.md files per subdirectory, you’re drawing boundaries: these conventions here, different ones there. Those boundaries not applying the moment Claude reads a file with grep instead of the Read tool is exactly the kind of gap nobody spots — because nothing breaks. The wrong rules just get applied quietly. If you’ve noticed Claude knowing your directory conventions some days and not others, that was it.