Claude Code 2.1.260 landed late on September 3, one day after 2.1.259. The changelog is long again, but this time a few of the items are things you’ll notice in daily work.
The diff panel
In fullscreen mode, a panel now opens beside the conversation and shows your uncommitted changes while Claude edits. Toggle it with /diff. Until now you needed a second terminal or your IDE for that. If you let Claude run for a while and want to keep an eye on what’s actually being written, you finally get both views at once. Related: ctrl+l or cmd+k in fullscreen now clears the transcript view like a normal terminal clear.
Why the cache missed
/cost and the prompt_cache field in the status line now name a likely cause when the prompt cache wasn’t hit. For example: tool definitions or the system prompt changed, or the session sat idle past the TTL. Before, you only saw that the cost went up, not why. If you’ve ever wondered why a session suddenly got expensive, this is the diagnostic that was missing.
And here’s the fix that saves real money: on Claude Fable 5.1, prompt caching didn’t cover the context attached after tool results. That context was resent as uncached input on every single tool call. If you’ve been running Fable 5.1 in Claude Code since Tuesday, you’ve been overpaying for two days. Also fixed: changing /effort mid-session no longer invalidates the cache on Fable 5.1. And the /model picker now shows Fable 5.1 for organizations that can use it; before, you had to type /model claude-fable-5-1 by hand.
Security fixes in permission rules
Several fixes touch permission rules, and one of them is serious: Edit, Write and Read rules whose path contains parentheses were dropped as invalid or ignored by the Bash sandbox. Folders that were supposed to be read-only were writable. On top of that, Bash permission checks were auto-approving zsh commands that hid a command substitution inside an assignment to REPORTTIME, REPORTMEMORY or DIRSTACKSIZE. Those now prompt. And rules with text after the closing parenthesis, like Bash(ls) x, which never matched anything, are now reported as invalid settings instead of being silently ignored.
One change from 2.1.259 got reverted: the Read() deny rules there also applied to Bash arguments. That blocked npm run build under a rule like Read(./**/build/**) in every mode and made cd … && grep prompt even in auto mode. Gone.
More of a clarification: whatever you type at the ! bash-mode prompt now runs outside the sandbox even in strict sandbox mode, like typing into your own terminal. Makes sense, but you should know.
For teams and automation
/reload-plugins and a text form of /advisor now work in headless sessions too, meaning the desktop app, Remote Control and the Agent SDK. Claude in Chrome follows your organization’s admin setting from now on; when it’s off, --chrome, /chrome and the browser tools are unavailable. A managed CLAUDE.md no longer triggers the security approval dialog, while hooks, shell commands and sandbox settings still do. Auto-compact for 1M-context models now kicks in shortly before the limit, and /ultrareview waits up to 45 minutes instead of 30 for cloud reviews.
There’s also a batch of fixes for agent teams, background sessions and Remote Control: a subagent that never got woken up after SendMessage, a session showing up twice in ListAgents, and so on. The Artifact tool’s first call in some Cowork sessions used to fail with a validation error. Sounds familiar.
My take: the diff panel is the visible feature, the Fable 5.1 cache fix is the important one. If you use Fable 5.1, update right away and then check /cost to see whether your cache hit rate looks right again.
Sources: Claude Code Releases: v2.1.260, Claude Code Changelog