Skip to main content

Claude Code v2.1.287: Claude Mods, the You should know Mod, and Default 1M Context on Bedrock, Vertex and Foundry

Claude Code v2.1.287 adds Claude Mods and the built-in You should know mod, supports URL prompts from MCP servers, and defaults Opus 4.7+ and Fable to 1M context on Bedrock, Vertex and Foundry.

Claude Code v2.1.287 is a large release that introduces Claude Mods, which let plugins modify deeper behavior, along with a built-in mod called You should know. It also makes 1M context the default for Opus 4.7+ and Fable on Bedrock, Vertex, Foundry and the Claude apps gateway, adds URL prompts from MCP servers on the 2025-11-25 protocol, and tightens how shell writes through symlinks and to protected files are approved. The rest of the release is fixes, including a sizable group for screen reader mode.

What’s New

Claude Mods and the You should know mod

Claude Mods let plugins modify deeper behavior. The built-in You should know mod runs a side agent that watches your back and flags things you or Claude might miss; turn it on with /plugin enable cc-plugin-you-should-know@builtin (for first-party sessions with telemetry on).

1M context by default on Bedrock, Vertex, Foundry and the Claude apps gateway

Opus 4.7+ and Fable now use a 1M context window by default on Bedrock, Vertex, Foundry and the Claude apps gateway, with no [1m] suffix. Set CLAUDE_CODE_DISABLE_1M_CONTEXT=1 to keep 200K.

URL prompts from MCP servers

MCP servers on the 2025-11-25 protocol can now send URL prompts, for example to sign in. If a server no longer connects after this update, add "bareElicitationCapability": true to its MCP config entry.

Agents view: n: filter and queued replies

The agents view gains an n:<text> filter that matches session names and tasks; a filter now shows matches in collapsed sections, and Enter opens the first match. Replies from claude agents now arrive as queued messages, and slash commands other than /stop sent while a turn is running now run when it ends.

Stricter approval for risky shell writes

A shell write through a repo-committed symlink onto a sensitive file or out of the working tree now names where it lands and waits for a person, including on lines with a ~ target. Whole-tool Bash allow rules and allowing hooks now prompt for, rather than run, shell writes to files that Claude Code’s file tools refuse outright, such as the Anthropic profile store and the host credentials file. A dangerous rm (such as one on / or the home directory) also keeps its always-ask safeguard when the same command redirects output to a ~ or wildcard path.

prompt_text in the OpenTelemetry user_prompt event

The OpenTelemetry user_prompt event now includes prompt_text, a copy of prompt for backends that nest dotted keys. Drop or mask it wherever you drop or mask prompt.

Other behavior changes

Waiting permission prompts now show oldest first, so a new prompt no longer covers the one you’re reading (prompts with a countdown still open on top), and automatic model switches after a flagged message keep your current effort level instead of the new model’s default. An MCP server set to alwaysLoad: false now defers all of its tools behind tool search. Right-click paste on Windows and Linux, and middle-click paste on Linux, now happen when the button is released, and moving the pointer away before releasing cancels them.

VS Code: Run in background

VS Code adds “Run in background” to a running command or sub-agent, so you can move it to the background and keep working, and the agent map now shows the output of background shells and Monitors on their cards. The Claude in Chrome “Enabled by default” switch now also connects the editor’s own sessions, which still ask before browser actions.

Fixes and Improvements

  • Models: Switching between Opus 5.5 and Sonnet 5.5 (/model, opusplan) no longer rewrites earlier MCP tool announcements, which could drop earlier extended thinking.
  • Models: Picking Fable in /model on a claude.ai login no longer saves the current version’s id, so your saved default now follows the newest Fable as it does for Opus and Sonnet.
  • Advisor: /advisor pairing checks now let Sonnet 5.5 advise Opus 4.7 and 4.8, and advisors the API would refuse are flagged up front instead of being silently dropped.
  • Bedrock and Vertex: Startup model checks no longer ignore an enforced availableModels list, which could collapse /model to one Opus row.
  • Headless and SDK: claude -p and SDK sessions no longer repeat a model fallback on every later message after the model was switched while a reply was running.
  • Permissions: Organization per-tool permission ceilings are no longer silently dropped for an MCP tool named __proto__, and Bash permission prompts now give a plain explanation instead of internal parser names such as “Contains simple_expansion”.
  • Sessions: A folder’s CLAUDE.md is no longer attached a second time after resuming a session or after a compaction, and cloud sessions no longer sometimes lose the earlier conversation when they restart during compaction.
  • Agents view: claude agents no longer sometimes hides the permission prompt a background session is waiting on, and background sessions can be reopened from it after the agent exited and removed the worktree the session was started in.
  • Hooks: Hooks configured with asyncRewake no longer wake Claude over and over with “found issues” notifications when the hook’s script file is missing; the broken hook is now reported once.
  • Remote Control: Remote Control no longer goes minutes without receiving messages when a reconnect request gets no response (it now gives up after 30 seconds and retries), and on macOS, sessions started with claude remote-control no longer stop mid-turn when the Mac goes to idle sleep.
  • File delivery: Files Claude sends from cloud sessions and Remote Control are now retried once after a timeout, network error or 502, 503 or 504, large files stream from disk instead of being read into memory, and messages sent from the Claude apps with 17 to 20 attached files no longer deliver only the first 16.
  • MCP: An MCP connector tool call no longer occasionally runs twice, and the connector’s calls no longer fail until restart, when its server changes which MCP protocol version it supports. Large MCP tool results also use less memory and make smaller session files.
  • Screen reader mode: The cursor now stays with the typed text in search boxes and sign-in code fields, file edit approval prompts and other diffs include the changed lines, and times in claude agents change at most every 10 seconds. New or changed lines are now written without first pausing with the cursor at the start of the line; set CLAUDE_AX_PREPARK_MS=50 to restore the pause.
  • UI: /config settings that cycle now show ‹ › and step both ways with ←/→, and the “Reduce motion” setting now also stops the running-tool dot and three spinners.
  • Windows: Interactive claude no longer hangs or crashes with “Raw mode is not supported” when its input is piped or redirected; it now says why and exits (use -p for piped input). The Bash tool is faster after removing a subshell that ran before every command, and a startup warning now appears when denying the Bash tool also turns off the PowerShell tool.
  • Self-hosted runner: A built-in gh api (REST only) is available for sessions that use Anthropic-managed git on macOS and Linux machines where the GitHub CLI is not installed.
  • Code Review: Code Review no longer skips a pull request after a new push when its review had failed twice on the previous commit; it now reviews the latest commit.

This release contains 106 changes in total; see the full changelog for the complete list.

How to Update

  1. Check your installed version: claude --version
  2. Update in place: claude update
  3. If an MCP server no longer connects after updating, add "bareElicitationCapability": true to its MCP config entry. If your OpenTelemetry pipeline drops or masks prompt, do the same for the new prompt_text field, and set CLAUDE_CODE_DISABLE_1M_CONTEXT=1 on Bedrock, Vertex, Foundry or the Claude apps gateway if you want to keep 200K context.