Claude Code v2.1.275: Send-Now Key, claude.ai Skills and Plugins Sync, and Safer npm Plugin Installs
Claude Code v2.1.275 adds a send-now key for queued messages, syncs claude.ai skills and plugins to terminal sessions, confirms the gateway sign-in account, and stops npm plugin install scripts from running.
Claude Code v2.1.275 is a large release with 95 changelog entries. It adds a send-now key that interrupts the current turn to deliver queued messages, syncs the skills and plugins enabled on your claude.ai account to terminal sessions, and shows the signed-in account during Claude apps gateway sign-in. Plugins installed from npm no longer run install scripts, and many fixes target resume robustness, secret redaction, fullscreen mode and the VS Code extension.
What’s New
Send-now key for queued messages
A new send-now key (ctrl+enter, or ctrl+x ctrl+s) interrupts the current turn and sends all queued messages at once. Sent and queued messages show in gray until the model receives them.
claude.ai skills and plugins in the terminal
The skills and plugins enabled on your claude.ai account now sync to terminal sessions signed in with that account. Opt out with syncClaudeAiSkills: false or syncClaudeAiPlugins: false. The ListPlugins tool description now makes clear that it lists plugins enabled on your claude.ai account, not plugins installed locally with /plugin, and Write and Edit results for files in the synced account-skills folder say the change is not saved to your account and how to save it.
Gateway sign-in shows the account
When a Claude apps gateway names the signed-in account during sign-in, you now confirm it before the credential is saved, and /status shows it. /logout for gateway sign-ins also ends the session on gateways that advertise token revocation.
Plugin install changes
/plugin install <plugin> --marketplace <source> offers to add the marketplace before installing the plugin. Plugins installed from an npm source are now fetched with npm pack --ignore-scripts and integrity-verified, so a package’s install scripts no longer run.
Telemetry helper warning
Claude Code now warns at startup when a configured otelHeadersHelper fails, so sessions that silently export no telemetry are noticed.
Prompt caching for custom system prompts
For a --system-prompt that contains a __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__ line, the text above that line is now cached globally, as the SDK’s array form already is.
Auto mode, images and routines
- In auto mode, Claude in Chrome now skips the extension’s per-site check for classifier-approved calls, as bypass mode does, which fixes
browser_batch“Permission denied” after a redirect. - Pasted and attached images are now saved where Claude can open them as files without a permission prompt, including in Desktop and VS Code.
- Scheduled and Run now routine runs save data to, and republish the page of, an artifact you can edit without asking; public artifacts, first publishes and deletes still ask.
- Hosted sessions keep an unanswered permission prompt up after a container restart instead of asking again.
VS Code: per-change review and memory editing
The proposed-change diff tab now has accept and reject buttons under each change, so an edit can be reviewed change by change. The Memory dialog lets you view, edit and delete a saved memory, you can send an attached image without typing any text, and the agent map’s pill now counts running agents and turns red after a failure.
Fixes and Improvements
- Resume robustness:
--resume, the resume picker preview, resumed background agents and the transcript view no longer fail on a session whose saved history contains a malformed task-reminder or @-file attachment entry. Malformed message entries or content blocks in a transcript no longer crash a resume or stop a session from starting. - Thinking and caching:
--resumeand--continueno longer drop a conversation’s earlier thinking when a built-in tool it started with has since been switched off by a server-side flag, and a restored memory file’s age note no longer changes between requests after a compaction or resume, which had caused prompt cache misses. - Secrets: Plugin and marketplace messages, logs and
claude plugin marketplace listno longer show a password or token stored in a git, ssh or marketplace URL; the VS Code Manage plugins dialog no longer shows one typed into a marketplace URL. - Marketplaces:
claude plugin marketplace updateno longer deletes a GitHub marketplace’s local copy when the fetch fails and the marketplace is named after its repository. - Network gateways: Users behind a network gateway that rewrites API error responses no longer get a terminal
API Error: 400on every turn when a beta request header is rejected. - Sandbox on Linux: Sandboxed Bash commands no longer report exit code 0 for failed commands when the shell is zsh, and can now write to project directories named
hooks/orconfig/. - Search: Grep, Glob and @-file suggestions no longer hang or run out of memory on searches over the 20MB output cap, and system ripgrep now reports an error instead of “no matches” after a flood of warnings. @-mention file suggestions are no longer buried below MCP resources with a custom
fileSuggestioncommand or when typing@./@./. - Files: The Read tool now reports an error instead of hanging when part of a large file cannot be decoded under memory pressure, and
/rewindin a forked or background session no longer restores a zero-filled or truncated file when file-history backups could not be fully copied. - Fullscreen: Scrolling up past a large file diff no longer freezes or blanks the screen for several seconds, typing fast or holding a key with the slash-command dropdown open no longer ends the session with an unrecoverable interface error, and mouse-selected text in the
claude --resumesession picker now reaches the clipboard. - Hooks and permissions:
SubagentStophooks with a specificmatcherno longer fire for every stopping subagent whose agent type was empty, and/update-confignow writesEdit(path)permission rules instead ofWrite(path)rules, which file permission checks don’t match. - SDK and runners:
--forward-subagent-textstream-json and SDK output no longer drop the messages of subagents spawned by acontext: forkskill, and self-hosted runners with--drain-wait-secno longer lose the final result of a turn that finished during a SIGTERM drain. - Stability: Fixed a crash at launch when
~/.claude.jsonholds a malformedmcpNeedsAuthNoticedvalue, background sessions crashing when a command fed through stdin ran on a machine that had run out of file descriptors, and a stray</ccmemory>-style closing tag occasionally appearing in responses. - Artifacts: Artifact updates no longer fail with “File not found” after a session resumes on another machine or its scratchpad is cleared, Claude now updates a shared artifact in place when you were given edit access, and a first publish asks for a one-word tab icon instead of an emoji favicon.
- Responsiveness: Output no longer falls further behind when the terminal is slow or paused, and plan-usage reads made in the last minute are now shared across editor windows and non-interactive sessions on one machine.
- VS Code: Renaming a running session no longer reverts to the generated name (a regression in 2.1.269), slash commands typed while Claude is responding now run once the response finishes, and a rare case where text selected in a git-ignored file could be sent to Claude is fixed. A new
claudeCode.scrollToBottomOnSendsetting turns off the jump to the bottom on send. - Claude Code on the web: Cloud environments with a very long allowed-domains list now fail at save time and say how much to trim, instead of failing every session start; GitHub access denials on personal accounts now link to claude.ai/connect-github.
- Claude Tag: Access bundles gain attach conditions for channels with guests or Slack Connect channels, plus Amazon CloudWatch, CloudWatch Logs, Amazon SNS, Google Cloud Monitoring and Cloud Logging presets and more Datadog site presets; new Datadog connections are limited to read and query API routes. S3 uploads from recent AWS CLI and SDK versions no longer fail with a 502.
- Code Review: Reviews no longer occasionally drop part of their analysis when a reviewing agent returns findings in an unexpected format, and pull requests with more than 100 Claude reviews now get the lighter merge-focused review on a clean merge from the base branch.
This release contains 95 changes in total; see the full changelog for the complete list.
How to Update
- Check your installed version:
claude --version - Update in place:
claude update - Skills and plugins enabled on your claude.ai account now sync to terminal sessions signed in with it; set
syncClaudeAiSkills: falseorsyncClaudeAiPlugins: falseif you don’t want that. Plugins from an npm source no longer run their install scripts.