Skip to content

Claude Code v2.1.280

Released · Anthropic

Must-knowChanges context and compaction settings, MCP server config, permission rules, skills and plugins

Models:Makes Claude Opus 5.5 the default

What the release notes say

What's changed

  • 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
  • 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