claudekit / updates / claude-code-2-1-275
[ PATCH · ]

Claude Code 2.1.275

A new send-now key (ctrl+enter) interrupts the current turn and sends all queued messages at once, and the skills and plugins enabled on your claude.ai account now sync to terminal sessions signed in with it. `/plugin install <plugin> --marketplace <source>` offers to add the marketplace before installing. Plugins installed from an npm source no longer run the package's install scripts. Fixes include sessions failing to resume or start because of a malformed transcript entry, sandboxed Bash commands on Linux reporting exit code 0 for failed commands under zsh, and plugin messages and logs showing a password or token stored in a git, ssh or marketplace URL.

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.275 shipped on September 17, 2026, the same day as 2.1.274. The headline additions are about input flow and your claude.ai account: a send-now key lets you stop waiting on a long turn and push your queued messages through, and the skills and plugins enabled on your claude.ai account now follow you into the terminal. Most of the fixes target resuming and stability — several ways a single malformed transcript entry could break --resume or crash a session are fixed, as are fullscreen freezes and “unrecoverable interface error” exits. On the security side, npm-sourced plugins no longer run install scripts, and credentials embedded in git, ssh or marketplace URLs are no longer shown in plugin messages, logs or claude plugin marketplace list.

New features

  • A send-now key

    Messages typed while Claude was responding sat in the queue until the turn ended. ctrl+enter (or ctrl+x ctrl+s) now interrupts the current turn and sends all queued messages at once. Sent and queued messages show in gray until the model receives them.

  • Syncing claude.ai skills and plugins

    The skills and plugins enabled on your claude.ai account now sync to terminal sessions signed in with it. Opt out with syncClaudeAiSkills: false or syncClaudeAiPlugins: false.

  • /plugin install <plugin> --marketplace <source>

    Installing a plugin from a marketplace you hadn’t added took two steps. This form offers to add the marketplace before installing the plugin.

  • Signed-in account in Claude apps gateway sign-in

    When the gateway names the signed-in account, you confirm it before the credential is saved, and /status shows it.

  • A startup warning when otelHeadersHelper fails

    A failing otelHeadersHelper meant a session silently exported no telemetry. It now triggers a warning at startup.

  • [VSCode] Viewing, editing and deleting a saved memory

    The Memory dialog now handles saved memories directly.

  • [VSCode] Accept and reject buttons per change

    The proposed-change diff tab now has accept and reject buttons under each change, so an edit can be reviewed change by change.

  • [VSCode] Other additions

    You can send an attached image without typing any text, and the MCP servers dialog shows a Retry link when the server list fails to load.

  • [Claude Code on the web] A “New routine” button

    The page shown when a routine link no longer resolves now has a “New routine” button next to the link back to your routines list.

  • [Claude Tag] Access bundle attach conditions and presets

    An Owner can let an access bundle also apply in channels with guests or Slack Connect channels, not just member-only. The Credentials tab adds Amazon CloudWatch, CloudWatch Logs, Amazon SNS, Google Cloud Monitoring and Cloud Logging presets, plus Datadog presets for the US3, AP1, AP2 and US1-FED sites; new Datadog connections are limited to Datadog’s read and query API routes.

Key improvements

Prompt caching & responsiveness

  • --system-prompt with __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__

    A string --system-prompt wasn’t cached globally the way the SDK’s array form is. With a __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__ line, the text above it is now cached globally.

  • Slow or paused terminals

    Output no longer falls further behind while the terminal catches up.

  • Plan-usage reads

    Editor windows and non-interactive sessions on one machine each called the usage endpoint. They now share a read made in the last minute.

  • The /desktop error

    When Claude Desktop does not open, it now says why and what to do next.

Images & files

  • Pasted and attached images

    Images are now saved where Claude can open them as files without a permission prompt, including in Desktop and VS Code.

  • Write and Edit in the synced account-skills folder

    Results now say the change is not saved to your account, and how to save it.

  • ListPlugins tool description

    Claude now knows it lists plugins enabled on your claude.ai account, not plugins installed locally with /plugin.

Artifacts

  • Publish and read results

    They now say who can open the page and what the owner’s Share menu offers. Publish results also name the tab icon sent, warn when the page contains a NUL byte, and retry a flaky fetch of the newer page to merge after a stale publish.

  • Shared artifacts you can edit

    Claude could publish a separate copy of an artifact you had edit access to. Its guidance now has it update the shared artifact in place.

Changed behavior

  • npm-sourced plugins (changed)

    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.

  • Claude in Chrome in auto mode (changed)

    Classifier-approved calls skip the extension’s per-site check, as bypass mode does, fixing browser_batch “Permission denied” after a redirect.

  • Routine runs and artifacts (changed)

    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 session permission prompts (changed)

    An unanswered permission prompt stays up after a container restart instead of being asked again.

  • Artifact tab icon (changed)

    A first publish asks for a one-word tab icon instead of an emoji favicon.

  • /logout for Claude apps gateway sign-ins (changed)

    It now also ends the session on gateways that advertise token revocation.

  • One-off routine startup notice (removed)

    The notice that a one-off scheduled routine had run since your last session is gone.

[VSCode], [Claude Code on the web] & [Claude Tag]

  • [VSCode] Agent map

    The pill counts running agents and turns red after a failure, the main agent stays in view while the map scrolls, and agents sort by state then end time.

  • [VSCode] New session placement and mid-turn messages (changed)

    New session in a Claude editor tab opens in the sidebar when Preferred Location is set to Sidebar. A message sent while Claude is working waits at the bottom of the conversation until Claude starts on it.

  • [Claude Code on the web] Routines Claude didn’t create

    When asked to edit, delete or run one, Claude now links to the routine’s page so you can do it yourself.

  • [Claude Tag] Enterprise Grid shared channels

    Notices now say when no workspace is set up yet, or why only organization defaults apply.

Bug fixes

Resume & stability

  • --resume, the resume picker preview, resumed background agents and the transcript view failing on a session whose saved history contains a malformed task-reminder or @-file attachment entry; also crashes and start failures caused by malformed message entries or content blocks.
  • --resume and --continue dropping earlier thinking when a built-in tool the conversation started with has since been switched off by a server-side flag.
  • /rewind in a forked or background session restoring a zero-filled or truncated file when file-history backups could not be fully copied.
  • A crash at launch when ~/.claude.json holds a malformed mcpNeedsAuthNoticed value.
  • Background sessions crashing and restarting their worker when a command fed through stdin ran on a machine out of file descriptors.
  • A restored memory file’s age note changing between requests after a compaction or resume, causing prompt cache misses.
  • A resumed cloud session leaving an unanswered question open after a queued message superseded it.

Fullscreen & input

  • Fullscreen mode freezing or blanking for several seconds when scrolling up past a large file diff.
  • Fullscreen sessions exiting with “Claude Code exited after an unrecoverable interface error” when typing fast or holding a key with the slash-command dropdown open.
  • Background-task completion notices placed beneath a long turn’s collapsed tool row instead of where they arrived.
  • Mouse-selected text in the fullscreen claude --resume session picker never reaching the clipboard.
  • Vim mode placing the cursor one character right after a dot-repeated ”!” or a fast-typed “i!” switched a non-empty prompt into shell mode.
  • @-mention file suggestions buried below MCP resources with a custom fileSuggestion command or when typing @./@./.
  • A stray </ccmemory>-style closing tag occasionally appearing in responses.

Tools & sandbox

  • Sandboxed Bash commands on Linux reporting exit code 0 for failed commands when the shell is zsh.
  • Sandboxed Bash commands unable to write to project directories named hooks/ or config/.
  • Grep, Glob and @-file suggestions hanging or running out of memory on searches over the 20MB output cap, and system ripgrep reporting “no matches” instead of an error after a flood of warnings.
  • The Read tool hanging instead of reporting an error when part of a large file could not be decoded under memory pressure.
  • /update-config writing Write(path) permission rules, which file permission checks don’t match, instead of Edit(path) rules.
  • A terminal API Error: 400 on every turn behind a network gateway that rewrites API error responses when a beta request header is rejected.
  • Artifact updates failing with “File not found” after a session resumes on another machine or its scratchpad is cleared; the page’s last published version is now restored.
  • Four dead documentation URLs (Pricing, Computer Use, Skills, CLI) in the bundled claude-api skill’s live-sources table.

Plugins & security

  • Plugin and marketplace messages, logs and claude plugin marketplace list showing a password or token stored in a git, ssh or marketplace URL.
  • claude plugin marketplace update deleting a GitHub marketplace’s local copy when the fetch failed and the marketplace was named after its repository.
  • Plugin messages, logs and the VS Code plugin dialog showing the wrong server for some git addresses.
  • Plugin reload previews replacing a running session’s extracted plugin files when the plugin was loaded from a --plugin-dir or --plugin-url archive.

Agents, hooks & headless

  • --forward-subagent-text stream-json and SDK output dropping messages of subagents spawned by a context: fork skill, and of forked skills invoked by a subagent or another forked skill.
  • SubagentStop hooks with a specific matcher firing for every stopping subagent whose agent type was empty.
  • Self-hosted runners with --drain-wait-sec losing the final result of a turn that finished during a SIGTERM drain.

[VSCode]

  • Slash commands typed while Claude is responding being sent as text instead of running once the response finishes.
  • Renaming a running session reverting to the generated name (regression in 2.1.269).
  • The conversation pulling you back to the bottom while a reply streams after you scroll up; a new claudeCode.scrollToBottomOnSend setting turns off the jump on send.
  • A rare case where text selected in a git-ignored file could be sent to Claude after the extension was unresponsive for several seconds.
  • The Manage plugins dialog showing a password or token typed into a marketplace URL.
  • Rewound and forked conversations not keeping the permission mode picked for the original conversation.
  • An empty CLAUDE_CONFIG_DIR entry in environmentVariables making Claude Code keep its files in the workspace.
  • Remote Control staying shown as connected after a failed turn-off, and /remote-control being ignored while Remote Control is still connecting.
  • Some claude.ai/code sessions opening in VS Code as an empty conversation.
  • A background agent’s completion notice and agent-map result lost after a window reload, and the “Continuing the step” notice not appearing, and the continue limit resetting, after a reload that follows a crash with background tasks still running.
  • The session list showing when a session was last reopened instead of when its last message was sent.
  • Unreadable code in the plan preview and the Hooks and Permission rules dialogs with the High Contrast Light theme.
  • The transcript creeping toward the bottom in small steps while a permission card waits and content keeps arriving.
  • The agent map showing agents a crash left unfinished as stopped instead of failed once the session is reopened.
  • “Fork conversation from here” failing on the message right after one sent while Claude was working.
  • The prompt cache clock showing too few minutes after reopening a session with a message sent while Claude was working.

[Claude Code on the web]

  • Cloud environments with a very long allowed-domains list saving fine and then failing every session start; saving now fails up front and says how much to trim.
  • A personal-account cloud session denied GitHub access pointing to an admin settings page; it now links to claude.ai/connect-github.
  • Routine “paused” and “on hold” notifications cut off mid-sentence.

[Claude Tag]

  • S3 uploads from recent AWS CLI and SDK versions failing with a 502 error through an AWS connection.
  • The model you switched to in a Slack thread silently reverting to the channel’s default after that thread’s session was restarted or refreshed.
  • Claude sometimes replying twice when another app or bot @mentioned it in a top-level channel message.
  • Claude treating a channel as inactive while still posting there from a routine or thread, and a thread’s “Claude [task]” display name reverting to “Claude” after a session refresh or restart.

[Code Review]

  • Reviews occasionally dropping part of their analysis when a reviewing agent returned findings in an unexpected format.
  • Pull requests with more than 100 Claude reviews getting a full re-review on every clean merge from the base branch instead of the lighter merge-focused review.

Notes

  • claude.ai skills and plugins now sync to the terminal — opt out with syncClaudeAiSkills: false or syncClaudeAiPlugins: false. Edits in the synced account-skills folder are not saved to your account.
  • npm-sourced plugins no longer run install scripts — they are fetched with npm pack --ignore-scripts and integrity-verified.
  • The send-now key interrupts the current turn — ctrl+enter (or ctrl+x ctrl+s) sends all queued messages at once.
  • Routine runs update editable artifacts without asking — this applies to scheduled and Run now runs; public artifacts, first publishes and deletes still ask.
  • Claude in Chrome in auto mode skips the per-site check — only for classifier-approved calls, as bypass mode does.