# Claude Code v2.1.281

> Claude Code v2.1.281, released 23 Sep 2026 (2026-09-23). 1065 entries read out of the shipped bundle. Unofficial, and not affiliated with Anthropic.

[Web version](https://changelogs.core-directive.com/v/2.1.281)

Of this build's 31 gated additions, none are switched on yet. They include code for a headless `claude -p --cloud` run whose enabling switch returns false, and an Anthropic plugin directory marketplace that is compiled out. A new compact prompt footer with an artifacts shortcut is also built but switched off, so the old footer stays. Dark-launched work would let Claude Code offer to sign in to an MCP server again with wider permissions when a tool call is refused for missing scope, and let Remote Control download up to 16 attachments before the message that uses them arrives.

Opus 5.5 (`claude-opus-5-5`) now fills the Opus slot in the model picker in place of Opus 5, with default effort set to medium; it is one of 280 usable changes. Setting CLAUDE_CODE_MCP_APPS_HOST to true tells MCP servers that Claude Code accepts MCP App content. Setting CLAUDE_CODE_CCR_EARLY_REMOTE_CONNECT makes a resumed `--sdk-url` session open its remote connection before the rest of startup finishes. /focus now works in non-interactive sessions such as the SDK, and a hidden `--await-claim` option lets an SDK host start a spare process early and bind it to a session later. Plugin hooks modules gain `$.state.get` and `$.state.set`, a versioned shared store where only a value's owner can write it.

Resuming a conversation gets two of the 57 fixes: messages split away from their response are moved back beside it, and messages whose tool results are all interrupted or missing placeholders are no longer dropped. A response stream that ends early is now treated as a dropped connection and retried, with the message 'Connection closed before the response finished'. Hooks that call MCP tools now wait for a server that is still connecting instead of being skipped. Uninstalling a plugin no longer deletes install folders that other plugins still use, and a scheduled task whose run throws an error no longer disrupts scheduling.

## Sections

Each section is its own markdown document of whole entries, in pages of about 40 KB. The whole release in one document is [full.md](https://changelogs.core-directive.com/v/2.1.281/full.md).

- [What probably matters to you](https://changelogs.core-directive.com/v/2.1.281/what-probably-matters-to-you.md): 62 entries, 3 pages
- [New Features](https://changelogs.core-directive.com/v/2.1.281/new-features.md): 2 entries
- [Improvements](https://changelogs.core-directive.com/v/2.1.281/improvements.md): 205 entries, 6 pages
- [Bug Fixes](https://changelogs.core-directive.com/v/2.1.281/bug-fixes.md): 53 entries, 2 pages
- [In Development](https://changelogs.core-directive.com/v/2.1.281/in-development.md): 12 entries
- [Internal Changes](https://changelogs.core-directive.com/v/2.1.281/internal-changes.md): 206 entries, 5 pages
- [Removed](https://changelogs.core-directive.com/v/2.1.281/removed.md): 3 entries
- [Changes](https://changelogs.core-directive.com/v/2.1.281/changes.md): 522 entries, 11 pages

## What probably matters to you

The first 10 of 62, one line each. The section's own pages have every one in full.

- [Opus 5.5 becomes the Opus choice in the model picker, defaulting to medium effort](https://changelogs.core-directive.com/v/2.1.281/e/bundled-model-catalog-adds-claude-opus-5-5-opus-55-whi.json): The bundled model catalog now puts claude-opus-5-5 (Opus 5.5) in the Opus picker slot with medium thinking effort, and the in-app release notes announce it
- [Hidden `claude -p --cloud` headless cloud-print path added, but compiled off](https://changelogs.core-directive.com/v/2.1.281/e/hidden-claude-p-cloud-headless-cloud-print-path-added.json): Code for a headless `claude -p --cloud` run is added, but the switch that enables it returns false, so no one can use it in 2.1.281
- [Plugin Directory marketplace code added but compiled out](https://changelogs.core-directive.com/v/2.1.281/e/plugin-directory-marketplace-code-added-but-compiled-out.json): Code for an Anthropic plugin directory marketplace is present but cannot switch on in this build
- [Artifact tool gains gated inherited type capabilities and prompt text variants](https://changelogs.core-directive.com/v/2.1.281/e/artifact-telemetry-reports-inherited-type-grant-when-the-swi.json): Two new Artifact tool experiments: capabilities inherited from Anthropic-published types, and v0/v1/v2 variants of the tool's guidance text
- [Safety-check prompts for dangerous removals now deny themselves after a timeout](https://changelogs.core-directive.com/v/2.1.281/e/auto-mode-safety-check-dialog-now-auto-denies-on-a-timer-te.json): Prompts for dangerous commands like rm in auto or bypass mode deny after 2 minutes by default and stop appearing after 3 unanswered
- [Remote Control can download attachments ahead of time, and SDK hosts get new control requests](https://changelogs.core-directive.com/v/2.1.281/e/remote-control-can-prefetch-attachment-downloads-before-the.json): A new prefetch_attachments request lets Remote Control download up to 16 files early, and a new claim_session request targets parked spare processes
- [Claude Desktop gateway sessions: lineage variable for child processes, deferred consent and managed-policy checks](https://changelogs.core-directive.com/v/2.1.281/e/claude-code-host-gateway-lineage-new-env-var-that-marks-s.json): Sessions run by Claude Desktop through a gateway pass that status to child processes, defer consent in background, and verify the gateway's policy
- [Plugin hook modules get a shared state store: $.state.get and $.state.set](https://changelogs.core-directive.com/v/2.1.281/e/plugin-state-store-for-the-hooks-module-runtime-stateget.json): Plugin hook modules can read and write shared, versioned values with $.state.get and $.state.set, under static and runtime checks
- [New compact footer and an artifacts shortcut are built but switched off at build time](https://changelogs.core-directive.com/v/2.1.281/e/new-compact-footer-and-an-artifacts-shortcut-are-built-but-s.json): A new compact prompt footer with an artifacts shortcut is built in but switched off at build time, so the old footer stays
- [MCP Apps host capability advertised behind CLAUDE_CODE_MCP_APPS_HOST](https://changelogs.core-directive.com/v/2.1.281/e/mcp-apps-host-capability-advertised-behind-claude-code-mcp-a.json): With CLAUDE_CODE_MCP_APPS_HOST set to true, Claude Code tells MCP servers it accepts MCP App content
