# Claude Code v2.1.290

> Claude Code v2.1.290, released 5 Oct 2026 (2026-10-05). 548 entries read out of the shipped bundle. Unofficial, and not affiliated with Anthropic.

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

You can now stop Claude Code compacting a long conversation while you sit idle by setting idleCompaction to false. The CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS variable sets how large a conversation must be before idle compaction starts. A new --proactivity flag picks how much Claude does on its own when it starts. CLAUDE_CODE_DISABLE_PROACTIVITY turns that choice off. Running claude remote-control with --allow-unattended-tool-calls lets cloud sessions use the current folder for one run. Remote sessions now read the SDK address from CLAUDE_CODE_REMOTE_SDK_URL when --sdk-url is not given.

This release has 7 entries in the build that are not switched on yet. One would let you attach more PDFs as a reference when their page count is known. Another would let an MCP server that needs you to sign in keep its saved tools. Claude Code could also tell the model that you pay per token and what a Bash call costs. Live-update connections could learn to spot a proxy answering in place of the real server. Each of these waits on a switch that is off by default.

Among this release's fixes, a cancel sent from outside the terminal no longer throws away every prompt you had queued. Plugin names that version 2.1.287 changed now match the installed plugins again. Synced skills now keep the text that sits above their main body. A plugin's hook error handler now still runs if the worker running those hooks is replaced mid-event. Stopping a remotely served background command now returns without waiting for it to end.

## 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.290/full.md).

- [What probably matters to you](https://changelogs.core-directive.com/v/2.1.290/what-probably-matters-to-you.md): 61 entries, 3 pages
- [Improvements](https://changelogs.core-directive.com/v/2.1.290/improvements.md): 335 entries, 9 pages
- [Bug Fixes](https://changelogs.core-directive.com/v/2.1.290/bug-fixes.md): 37 entries
- [In Development](https://changelogs.core-directive.com/v/2.1.290/in-development.md): 5 entries
- [Internal Changes](https://changelogs.core-directive.com/v/2.1.290/internal-changes.md): 107 entries, 3 pages
- [Removed](https://changelogs.core-directive.com/v/2.1.290/removed.md): 3 entries

## What probably matters to you

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

- [claude remote-control gains --allow-unattended-tool-calls](https://changelogs.core-directive.com/v/2.1.290/e/remote-control-gains-allow-unattended-tool-calls-and-a-for.json): A new remote-control option lets auto-mode cloud sessions run commands in your folder without asking, sandboxed, with status messages showing what is allowed
- [A hidden --proactivity option and a matching session control request](https://changelogs.core-directive.com/v/2.1.290/e/new-proactivity-cli-option-hidden-from-help.json): A new `--proactivity ` option, hidden from help, sets how much Claude does on its own, and a remote session started from Claude Code is sent the same level
- [Idle compaction gets an idleCompaction off switch and a minimum-token override](https://changelogs.core-directive.com/v/2.1.290/e/idle-compaction-gets-a-user-setting-and-a-min-token-env-over.json): New idleCompaction setting can stop idle compaction, and CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS overrides its minimum token threshold
- [New OfferChromeSetup tool lets Claude offer to set up Claude in Chrome](https://changelogs.core-directive.com/v/2.1.290/e/offerchromesetup-tool-added.json): A new OfferChromeSetup tool lets Claude offer one-time Claude in Chrome setup mid-task when the browser extension is not connected
- [Election info tool name, unattended tool call option and shorter shell error](https://changelogs.core-directive.com/v/2.1.290/e/attention-budget-us-election-info-tool-and-allowunattendedt.json): Claude Code adds `us_election_info` to its web tool names, an `allowUnattendedToolCalls` option, and trims a shell error message
- [Subagents get their own effort level and token budget](https://changelogs.core-directive.com/v/2.1.290/e/subagent-effort-can-be-lowered-by-remote-value-tengu-harmon.json): Subagents now get a computed effort level and total-token budget with a countdown reminder, and a remote value can lower their effort
- [PDF reference attachments can tell Claude the whole file is readable](https://changelogs.core-directive.com/v/2.1.290/e/pdf-reference-attachment-readablewhole-telemetry-under-teng.json): A new PDF path can attach a PDF as a reference and tell Claude it may read the whole file without picking pages
- [New --proactivity flag sets how much Claude does on its own at startup](https://changelogs.core-directive.com/v/2.1.290/e/new-proactivity-startup-level-gated-by-tengu-proactivity.json): A `--proactivity` flag picks the proactivity level when Claude Code starts, and `CLAUDE_CODE_DISABLE_PROACTIVITY` turns the selector off
- [Strings can be removed from prompts with an environment variable](https://changelogs.core-directive.com/v/2.1.290/e/prompt-string-ablation-via-env-var-or-client-data.json): Setting CLAUDE_CODE_REMOVE_PROMPT_STRINGS to a JSON list removes those strings from the prompts Claude Code sends to the model
- [Messages with file attachments: missing-file notice and no queue merging](https://changelogs.core-directive.com/v/2.1.290/e/new-system-message-subtype-file-attachments-missing.json): A new file_attachments_missing message reports attachments that did not arrive, and queued messages with attachments are no longer merged
