Claude Code ships almost daily, which makes the changelog hard to follow. This is a digest of v2.1.294 through v2.1.300, taken from the GitHub releases page. The page shows dates without a year and truncates some notes, so I’m only reporting what it displayed, and I haven’t tested these features myself.
The change most people will notice: idle compaction (v2.1.299)
A conversation of 200K+ tokens that has been idle for about 54 minutes is compacted before its one-hour prompt cache expires. The release notes give two controls: CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS to tune the threshold, and "idleCompaction": false in settings.json to turn it off.
My reading, not Anthropic’s: this looks aimed at the cost of resuming a huge session after a break, when the cache has gone cold. The notes don’t explain the motivation, so that’s inference. If you rely on a long session keeping its full detail, you may want it off.
Also in v2.1.299: /effort and /fast in agent view, CLAUDE_CODE_DISABLE_FILE_MENTIONS (Claude gets @ paths to read with its tools instead of the contents), and fixes for /usage showing more than 100%, scheduled wakeups not firing during background tasks, and sandboxed commands failing on WSL2.
v2.1.300 (October 14)
- Added:
/advisoron Claude Platform on AWS (off unless you pick one), OpenTelemetry additions (cache-creation token counts and GenAI semantic-convention attributes on spans), and aprompt.changemod hook. - Fixed: several
--worktreeissues, including a wrong starting commit and a branch showing as “.invalid”, SessionEnd hooks sometimes not running, andclaude remote-controlgiving up on connection renewal after a brief sign-in error. - Changed:
updatedInputfrom PreToolUse and PermissionRequest hooks is now validated like Claude’s own input; background commands are force-killed 1.5 seconds after exit is requested; large requests to api.anthropic.com are gzipped even with telemetry off (CLAUDE_CODE_GZIP_REQUEST_BODIES=0disables it).
v2.1.296 (October 9)
- Added:
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODELto run all workflow agents on one model,autoCompactWindowin subagent definitions, longer 529 backoff, and anallow_largeoption on the Read tool. - Fixed: Esc during a
UserPromptSubmithook ending headless sessions, and Edit/NotebookEdit corrupting non-UTF-8 files (those edits are now refused). - Changed: the default MCP tool-description limit rose from 2,048 to 4,096 characters, and
/costnow prices Sonnet 5.5 cache reads at $0.10 per million tokens (was $0.20). That’s a display correction in/cost, so check your actual bill.
v2.1.295 and v2.1.294 (October 8)
- Added:
onFailure: "block"for command and HTTP hooks, so a hook that can’t start or times out blocks the action instead of letting it through. That’s a meaningful safety option for anyone using hooks as guardrails. - Fixed:
[1m]models failing when a gateway refuses the 1M-context beta (it now resends without it),claude -pdropping earlier responses, and remote MCP servers staying disconnected after outages. - Improved:
promptandagenthooks written as instructions (“Block commands that…”) sometimes allowed what they should block, and judgment on Stop hooks was improved.
Why I’d read changelogs like this
Most of the interesting changes are guardrail details: hooks that fail closed, validated hook input, refusing to corrupt non-UTF-8 files. Those connect to the permission fixes I covered in the Claude Code permission post, and the worktree fixes are relevant if you use worktrees with other agents too, like in my Codex CLI post.
If you only do one thing: check whether you want idle compaction on, and consider onFailure: "block" for any hook that is a safety check.
Source: Claude Code releases on GitHub.