anthropic Claude Code Releases · · 2.1.280

Claude Code v2.1.280 Adds Opus 5.5 Model and Extensive Bug Fixes

sdkaigaengineerenergy
feature patch

Claude Code version 2.1.280 is now available, featuring the integration of Claude Opus 5.5 as the new default Opus model. This model offers a 1M context window and revised pricing tiers. The update also includes a broad array of bug fixes that enhance UI stability, improve auto-mode reliability, and address various input and interaction issues across the application. These changes aim to provide developers and users with a more robust and efficient coding environment.

  • Added Claude Opus 5.5 (claude-opus-5-5), now the default Opus model — 1M context, $4/$20 per Mtok with $0.20/Mtok cache reads
  • Added hook output sizes and the number of oversized outputs saved to a file to the hook_execution_complete OpenTelemetry event
  • Fixed text fields in dialogs losing a typed letter, digit or Space to a keybinding on that key
  • Fixed subagent hand-back messages showing an internal provenance preamble when expanded outside verbose mode
  • Fixed skills in ~/.claude/skills/ being moved to ~/.claude/skills/.trash/ when a manifest.json in that folder listed their names
Features (4)
  • Added Claude Opus 5.5 (claude-opus-5-5), now the default Opus model — 1M context, $4/$20 per Mtok with $0.20/Mtok cache reads
  • Added mouse support to more lists in fullscreen mode: the wheel scrolls the /skills list, and a skill's state options in /plugin can be clicked

  • Added CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH to change the 2,048-character cap on MCP tool descriptions and server instructions for every MCP server in the session

  • Added hook output sizes and the number of oversized outputs saved to a file to the hook_execution_complete OpenTelemetry event
Enhancements (23)
  • Improved /permissions: focus returns to the rule list after viewing, adding or deleting a rule, and the delete-rule and remove-directory confirmations now default to No

  • Improved /permissions tab navigation: ←/→ and Tab pressed in a rule list now switch tabs without moving focus to the tab bar
  • Improved /cost cache-miss causes to name thinking mode and thinking display changes
  • Improved the Artifact tool so that when Claude cannot read an artifact link it was given, it tells the user before continuing
  • Improved /install-github-app: the GitHub CLI check and repository selection steps now show "Esc to cancel"
  • Improved the /artifacts and /workflows lists: a scrollbar at the right edge shows how much of a long list is hidden and where you are in it
  • Improved the workflow progress tree: running agents and phases now show a dim dot instead of ⟳
  • Improved /plugin's Add Marketplace form in fullscreen: it no longer draws a box inside the pane, and its text and key hints line up with the rest of /plugin

  • Improved the /workflows detail view in fullscreen: it no longer draws a second horizontal rule under the pane's divider
  • Improved code blocks that don't name a language: they are now colored like inline code, so commands stand out from the surrounding text
  • Improved /btw asked while a tool is still running: the side question now knows that call is in progress instead of reading it as a failed one

  • Improved the UserPromptSubmit hook timeout notice and the debug log to name which hook command timed out
  • Improved @ file suggestions: a file whose name contains the query now ranks above one that only matches across its folder names
  • Improved artifact pages: no Print buttons, confirm dialogs or device features the viewer blocks, email and phone details shown as text, and dark mode that reaches form controls and scrollbars

  • Improved /ultrareview uploads: renamed copies of key files, such as id_rsa copy or kubeconfig (1).yaml, now also stay on your machine
  • Improved the cross-session messaging startup warning to explain that --debug-file writes a debug log to a path you choose
  • Changed the default model on Pro and Team Standard plans from Sonnet to Opus, matching Max, Team Premium, and Enterprise
  • Changed an effort level saved before /effort became per-model to no longer apply to newly released models such as Opus 5.5; they start at their default until you pick a level

  • Changed Opus 4.7, Opus 4.8 and Fable 5 to stop holding their launch-default effort over /effort in -p or the Agent SDK, a project, managed or --settings effortLevel, or a per-model level

  • Changed /autocompact's footer hint to name ←/→, the keys that adjust other ordered values
  • Changed /fast's footer to name Space as the toggle key
  • Changed plugin marketplaces whose name imitates a reserved marketplace name to be refused when added, and to stop loading if one was already added

  • Changed PermissionRequest hooks: an agent-type hook no longer runs there, since its answer could never allow or deny the request; it now shows an error pointing to command or http hooks

Fixes (53)
  • Fixed writes through a symlinked path being judged by their in-tree spelling: the prompt names where the write lands, and acceptEdits, allow rules and auto mode no longer approve one landing outside

  • Fixed auto mode retrying an action over and over when a safety check declined to review it; the action is now denied once, noting that retrying won't help

  • Fixed auto mode denying actions over and over without pause when a safety check gave no answer; retries now back off, and the turn stops with a message after ten in a row

  • Fixed Write calls failing validation when a model sends path, file_text, file_content or a stray description instead of file_path and content

  • Fixed Ctrl+C or Ctrl+D pressed twice in most dialogs (/model, /effort, /config, /status, /usage, /plugin, /sandbox, /permissions, /artifacts, /mobile, /login, /upgrade, /usage-credits, /install-github-app, /setup-bedrock, /setup-vertex) quitting Claude Code instead of closing the dialog

  • Fixed a click that only brought the terminal window to the front also triggering the item under the pointer — in search pickers, tab bars, agent/workflow rows, slash-command links and suggestion dropdowns

  • Fixed a stray n closing dialogs and a stray y confirming them; Enter and Esc accept and cancel (bind y/n to confirm:yes/confirm:no in keybindings.json to restore)

  • Fixed text fields in dialogs losing a typed letter, digit or Space to a keybinding on that key
  • Fixed the prompt line staying scrambled on Windows terminals after invisible characters were removed on Enter; the screen is now repainted so you review the exact text that will be sent

  • Fixed the invisible-character cleanup removing the zero-width non-joiner that Persian and Arabic text uses to attach a suffix to a Latin word or number, such as the plural of "PDF"

  • Fixed voice dictation not stopping on Ctrl+C (the prompt cleared but the microphone kept recording), Esc not cancelling while a transcript was processing, and held Space starting dictation from the transcript view and vim NORMAL mode

  • Fixed a model switch made from a host app (Claude Desktop, VS Code, SDK) while Claude is working causing a prompt-cache miss on the next prompt

  • Fixed resumed fork subagents rebuilding their tool list instead of re-sending the one they first used, which broke prompt caching for that agent

  • Fixed subagent hand-back messages showing an internal provenance preamble when expanded outside verbose mode
  • Fixed installed_plugins.json keeping the install-time commit after updating a plugin from a GitHub repository or git URL that tracks a branch or tag

  • Fixed skills in ~/.claude/skills/ being moved to ~/.claude/skills/.trash/ when a manifest.json in that folder listed their names
  • Fixed the session feedback survey showing no hover highlight on light and ANSI themes
  • Fixed /workflows briefly showing a one-row list before opening the only run
  • Fixed the mouse wheel not scrolling selection lists with hidden options (such as /model and /permissions) in fullscreen mode
  • Fixed a skill you switched off showing the same red ✘ as a plugin that failed to load in /plugin and /skills; off now shows a dim ◯
  • Fixed multi-select option descriptions being indented under the option number instead of under the label
  • Fixed the search box in /plugin, /skills and /mcp losing its right border in fullscreen mode
  • Fixed /mcp showing △ in the server list but ⚠ in the detail view for the same server; the list, detail views and /plugin now all show ⚠
  • Fixed Home and End doing nothing in the /config settings list and in selection lists such as /model, /memory and permission prompts
  • Fixed PgUp/PgDn in the /skills menu wrapping past the first or last skill instead of stopping there
  • Fixed Tab silently changing the selected setting's value in the /config list; it now does nothing there
  • Fixed conversations failing on every turn with a "role 'system' must precede an 'assistant' message" API error
  • Fixed conversations with the advisor on failing every turn with API Error 400 "Input tag 'advisor_20260301'" behind a proxy or gateway that doesn't support it; the request now retries without it

  • Fixed a session failing on every turn and /compact when its saved history held a malformed notice about MCP tools that could not be loaded
  • Fixed a crash when resuming a session whose saved transcript holds a malformed system message or a memory-saved notice without its file list
  • Fixed one cause of long-running fullscreen sessions exiting with "Claude Code exited after an unrecoverable interface error": a damaged cached message list is now rebuilt

  • Fixed Claude Code hanging when a settings file, or a file it re-reads after an edit, is replaced by a named pipe mid-read
  • Fixed /config crashing and some on/off preferences being misread when a preference that has moved to settings.json still holds a value like null or "false" in ~/.claude.json

  • Fixed resuming a session with unfinished background agents, shells or workflows starting a model turn on its own before you typed anything
  • Fixed messages sent to a background subagent being silently lost in headless and SDK sessions when the subagent was finishing its turn
  • Fixed a finished subagent's report being lost when the conversation that launched it was compacted before the report was read
  • Fixed background subagents being unable to use the LSP tool when an LSP plugin is active
  • Fixed background shell tasks reporting benign non-zero exits (e.g. grep with no matches) as failures
  • Fixed background sessions (claude --bg) being unable to run git, hooks, plugins and other helper programs when an environment variable handed to the session contained a NUL character

  • Fixed Ctrl+C needing three or four presses to exit while background subagents are running; two presses now exit
  • Fixed IDE selection being dropped when a sent prompt comes back into the input, such as pressing Esc to edit it, rewinding to it, or pressing Esc while startup hooks run

  • Fixed a ! shell-mode prompt stashed with Ctrl+S coming back as a plain prompt when restored, and / listing file paths right after stashing one

  • Fixed claude agents showing a blank, unresponsive screen instead of an error when the temp directory is full, not writable or owned by another user

  • Fixed an MCP server re-added under the same name after claude mcp remove still showing as needing authentication instead of reconnecting
  • Fixed background plugin marketplace auto-update ignoring git credential helpers, so private-repo marketplaces were re-cloned every run or never updated

  • Fixed claude plugin update clearing a plugin's recorded commit and moving it to version "unknown" when the official marketplace's snapshot file is a link or too large

  • Fixed the Artifact tool silently disappearing when your organization's policy can't be loaded (for example behind a web proxy); Claude now says what's blocking it

  • Fixed artifact republishes silently resetting stored database access rules or dropping the viewer profile scope when that capability was re-sent without them; they are now refused

  • Fixed /ultrareview reporting a stopped cloud review as completed or as an error to retry, and waiting out the full timeout when its session was deleted or the signed-in account changed

  • Fixed the Claude app showing a missing or stale context usage figure for Remote Control and cloud sessions right after /compact or /clear
  • Fixed the Claude app's diff view for Remote Control and cloud sessions dropping a branch's committed files whenever there are also uncommitted changes

  • Fixed cloud and self-hosted runner sessions failing with "Authentication failed" after waiting out a long overload during which the session's access token was rotated

  • Fixed memory write conflicts in Cowork sessions showing Claude only the start and end of a memory file over about 10,800 characters, so the retried write dropped the middle

Read the original announcement →

https://github.com/anthropics/claude-code/releases/tag/v2.1.280

Related releases