Claude Code 2.1.311 brings several improvements across the board, focusing on startup speed, session handling, and accessibility. This version also enhances shell command feedback and adjusts model effort settings for better performance.
Commands and interface
The ultrathink command now runs its turn at xhigh effort on Opus 5.5, Sonnet 5.5, Haiku 5.5, and Fable 5.1 through Anthropic’s API. Typing ultrathink while Claude is working raises the effort for the rest of that turn. The ultrathink rainbow appears only where the keyword can raise effort, not when the word is quoted or part of a file path.
Ctrl+D in agent view now matches the prompt: pressing it twice on an empty input exits the session. The sed -i command now gets the standard Bash prompt and runs as written, without a simulated file-edit preview. This change means edits are no longer restored by /rewind. Learn more about /rewind in roll back a step that went wrong.
Hooks and automation
The error for an MCP tool call that times out in a non-interactive session while the server’s elicitation is unanswered now tells Claude that no answer came and not to repeat the call. Sessions that set CLAUDE_CODE_SYNC_SKILLS with feature-flag fetching off reuse a claude.ai skills list up to 10 minutes old that another session on the machine fetched.
Subagents and workflows
The claude ultrareview command now requires workspace trust: it asks on a terminal or refuses the command. Scripts can pass --trust-workspace or set CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1. Learn more about agent teams in Agent teams (experimental).
Settings
Startup warnings about permission rules in settings files now show once per user until the rule changes. Commands excluded from the sandbox by settings now ask before writing to its write-list paths while the sandbox is enabled but cannot run.
Models and cost
Model names and IDs have dropped the [1m] suffix and its label on models where the suffix has no effect. The suffix is still accepted for backward compatibility.
Everything else, briefly
- Improved startup time for Pro and Max accounts by skipping two network requests on launches within an hour of the last check.
- Improved the messages shown when a background session’s process exits.
- Improved artifacts with several views: Claude now routes each view on the link’s
#name. - Improved shell commands that reach their timeout: the result shows the output so far and says the command is still running in the background.
- Improved compaction: when the model’s reply has no summary, Claude Code usually asks for the summary once more before replacing the conversation.
- Improved startup time for launches whose only arguments are options and their values, such as
claude --model opus. - Improved screen reader mode: deleting a rule in /permissions says “Deleted allow rule …” right away.
- Improved the message shown when a pasted sign-in code is refused.
- Improved Slack connector sends: Claude checks a channel’s topic for posting rules before messaging a channel you didn’t name.
- Improved screen reader mode: Claude’s questions are listed as “Questions: Color (answered), Pages”, without arrows or symbols.
- Changed
--output-format jsonandstream-jsonoutput to write DEL, C1 control, and Unicode format characters inside strings as\uXXXXescapes. - Changed
/code-reviewto tell Claude to put the effort level first and use max only when asked. - Changed clicks on scrollbar arrows and bars in fullscreen lists to act when the mouse button is released.
- Changed
claude purgeto say it deletes data only on this computer, not anything stored by Anthropic. - Improved auto mode’s prompt before the first read outside the working directories.
- Improved memory use of non-interactive sessions during compaction when the transcript file is very large.
- Improved the speed of many git commands Claude Code runs for itself on Windows.
- Improved the error when a hooks module is nested too deep to load.
- Improved disk-full handling: a Bash command cut off by a full disk now says so and names the folder to free up.
- Improved the /claude-api skill to check the live docs before saying a feature is unsupported.
- Updated the bundled dataviz skill to accept APCA as a text-contrast measure.
- Changed worktree creation and reuse so git no longer fetches objects on demand.
Where the course covers this
Read next
- Claude Code 2.1.308: what’s new
- The Claude Code practicum on GitHub: 14 hands-on tasks with automatic checks
For the full list of changes, visit the official CHANGELOG.