Claude Code 2.1.301: the Read tool stops misreading binary files as text

2.1.301 fixes the Read tool treating binary files like .xlsm and .heic as plain text, skills vanishing after /rewind, and a few sign-in and worktree cleanup bugs.

claude-code changelog digest-standard

Claude Code 2.1.301, released October 15, 2026, skips flashy new features: a handful of additions, two changes, four improvements, and thirty-seven bug fixes spread across the whole tool. Two fixes stand out because they touch tools you rely on without thinking about them: the Read tool and skills.

The Read tool stops reading .xlsm and .heic files as text

The Read tool displays a file's content directly in the conversation, whether that's code, markdown, or an image. Until 2.1.301, a handful of binary formats, a macro-enabled Excel workbook (.xlsm), a .parquet file, an epub, or a .heic photo, got read as plain text instead: best case an unreadable mess, worst case an answer built on content Claude never actually read. 2.1.301 fixes this for binary files in general; the changelog cites these four formats only as examples. If you regularly hand Claude Code data exports or documents, this is a real reliability fix, not a cosmetic one.

Skills no longer vanish after a /rewind

A skill's description stays listed in context on every turn, not its full content, so Claude knows when to invoke it. 2.1.301 fixes a bug where that listing was no longer sent to the model after a /rewind: Claude no longer knew which skills existed, so it couldn't invoke them on its own, and nothing warned you. If you rewind often mid-session to correct a wrong turn, this fix saves you from a silent loss of capability.

The rest, briefly

  • Hook-created worktrees are safer: a WorktreeCreate hook replaces the default git logic for non-git repositories. Quitting could remove such a worktree without asking even when it might hold unpushed commits; Claude Code now asks first, as it already does for an ordinary git worktree on exit.
  • More stable sign-in: a short command like claude auth status exiting in the middle of a token refresh could cause sign-in refresh timeouts and unexpected sign-outs. Fixed.
  • The fable alias is more forgiving: if the newest Fable model isn't available to your organization, Claude Code now automatically retries once on the previous Fable model instead of just returning an error.
  • Vim mode: the % motion now jumps to the matching bracket, and Escape no longer discards a typed answer to one of Claude's questions.
  • Grep and Glob: when the search program failed before returning anything, they reported no matches. They now return an error saying the search failed.
  • Model switching: moving to a model with a smaller context window now has the previous model summarize a conversation that's too long for the new one first, and that summary no longer spends usage credits without asking you.
  • Everything else is mostly about VS Code (LaTeX math rendering, panel performance), mod development, OpenTelemetry events, and self-hosted runners.

None of this changes how you work day to day, but if you hand Claude Code Excel files or epubs, or you lean on /rewind mid-session, both fixes land directly.

Pierre Rondeau

Pierre Rondeau

Developer and indie builder. I build products and automations with AI. Creator of Claude Hub.

LinkedIn