Claude Code release notes usually read like a list of small tweaks. This time several entries share a pattern that matters if you leave the agent working unwatched: they turn a silent failure into explicit behavior. Here are five, quoted from the official notes.

1. Quitting no longer deletes a worktree with unpushed commits

The notes list: “Fixed quitting removing a worktree made by a WorktreeCreate hook without asking when it may hold unpushed commits”. If you use hooks to give each task its own working copy, the risk was losing work that existed only there. Quitting now asks first.

2. Read stops treating binaries as text

Another entry says: “Fixed the Read tool reading binary files such as .xlsm, .parquet, .epub and .heic as text”. Reading a binary as text fills the context with noise and can lead the model to reason about garbage. It is a small fix with a direct effect on session quality.

3. Grep and Glob tell “no results” apart from “the search failed”

According to the notes: “Fixed Grep and Glob reporting no matches when the search program failed unexpectedly before returning any results; they now return an error saying the search failed”. For an agent, “it does not exist” and “I could not search” lead to opposite decisions.

4. A cap on waiting for a usage limit to reset

The notes add: “Added CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS so unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) ends a request at a usage limit that resets too far away instead of waiting”. It is an optional environment variable for anyone who runs the agent from a cron job or a queue.

5. Switching to a model with less context

The notes say: “Improved switching to a model with a smaller context window: a conversation too long for the new model is now summarized by the previous model first”. They also record a related fix: “Fixed a case where switching to a model with a smaller context window could spend usage credits on a summary by the previous model without asking first”.

What they have in common

The five entries have in common that they replace a silent failure with a visible error or a question. In my view, that is the kind of entry that matters most in the release notes of a tool that runs without supervision.

Sources

  1. Claude Code v2.1.301 release notes (GitHub)