Follow Discord

Claude Code v2.1.289

latestnext 67 entries read Grouped into 52 v2.1.288 → v2.1.289 Mods API: +7 added · 0 removed · 5 changed · 10 docs only Markdown JSON Follow Unofficial

You can now let plugins read the text you have selected in a connected app, in sessions without a terminal. The first non-empty answer that arrives within 5 seconds is used. Plugin agent-launch hooks now also apply when you start a named teammate. Such a hook can block, rewrite or retype the teammate. Running claude plugin eval on a plugin from a folder marketplace now runs it from that folder. When a plugin's view drawn by the desktop app fails, the plugin is told and can draw another view.

A plugin interface that crashes no longer breaks the screen. Claude Code shows its own interface instead and keeps your session running. Plugins now get a teammate's real id and model when they launch agents. The claude auth status command now exits right away with code 0 or 1 after printing your login status. Stale or overdrawn content in scrolled boxes is fixed. A plugin view that crashed while drawing is no longer applied again.

Written by our agent from the shipped bundle, not by Anthropic.

Five to try today

Picked from 2 you can use now
  1. Permission decisions can now name the hook that made them

    Permission decisions gain an optional hook field, which plugin tool.check hooks can set, and rules inside nested commands are now found

    Extensions
  2. claude plugin eval tests folder marketplace plugins from where sessions load them

    Evaluating an installed plugin from a folder marketplace now runs it from that folder, or stops with an error if the folder no longer lists it

    Extensions

Want the reasoning? Read walks the 8 entries that probably matter to you, each one opening to what changed and why.

Read this release → Every row →
10 of 52 shownClear
Reading as
Show only
Who it's for
Tier
Flag state
Names
Pick an entry · j / k steps through · rest on a row to peek
Below the fold

Everything else

Smaller changes and internals, grouped as the pipeline found them. Nothing is dropped, it is only further down.

9 entries here

Improvementsopen

3 more of these are in What probably matters to you, above.

↑Improved
You'll notice
Useful2 Signal1
Group of 2 Elsewhere unclear

@-mentioned files are re-checked before reading and may be left unexamined#

@-mentioned files are now re-checked before being read; ones that can't be safely opened are passed as references and the model is told why

Unclear It is not clear what makes Claude Code mark mentions as ones that could not be examined.

Details 0 0 Feedback
↑Improved
You'll notice
Useful2 Signal1
Permissions unclear

Fewer find commands are allowed without asking#

Claude Code now asks before running some find, test, jobs and set commands that it used to treat as safe to run automatically

Unclear Exactly which find options are treated as read differently by different versions is not stated.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Group of 4 Permissions unclear

find -rm is no longer auto-approved as a read-only command#

Claude Code now treats find ... -rm like find ... -delete: it is not auto-allowed as read-only and is flagged as destructive

Unclear It is not clear whether the server-side setting affects the read-only pattern itself, which has -rm built in, or only the separate list of blocked options.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Permissions unclear

More shell commands get checked part by part against your permission rules#

Claude Code now checks a shell command part by part when it splits into several commands, or when its one parsed command differs from what was written

Unclear It is not clear which commands end up as a single command with different text.

Details 0 0 Feedback
1 entry here

Internal Changesopen

·Internal
Under the hood
Useful2 Signal3
Group of 2 Plugin Hooks unclear

Values leaving the plugin hook sandbox are now copied and checked#

Plugin hook values leaving the plugin's sandbox are now copied, frozen and checked as plain data, unless isLeavingUncopied is set

Unclear It is not clear what sets the option that lets values leave the sandbox uncopied.

Details 0 0 Feedback
Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.289. Text is unmodified from the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

Of these 27 bullets, 5 name something an entry on this page also names, 6 name something no entry here does, and 16 name nothing specific enough to line up either way. The pairings are made on names both sides wrote down, a flag or a setting or a slash command, so read one as probably the same thing rather than as a fact, and read the middle number as candidates rather than as a miss count.

  • Fixed a deny or ask rule on a nested part of a compound shell command not holding over a user-installed mod's approval on managed machines Nothing to match on
  • Fixed the terminal freezing on short code blocks with many unclosed <script> tags or deeply nested ${ substitutions Nothing to match on
  • Fixed Read deny rules not applying to files @-mentioned, changed, or selected in the IDE through a symlink Probably plugin-list-shows-where-each-plugin-was-read-from-and-its-fo
  • [VSCode] Reverted a 2.1.288 change to claude auth status that may have made sign-outs more frequent Probably auth-status-cli-exits-directly
  • Improved how quickly large files open in a plugin code pane by laying the highlighted view out once at its final width Nothing to match on
  • Fixed plugin list, plugin eval and plugin update showing a stale copy of a plugin installed from a local folder marketplace, and hot reload for a symlinked --plugin-dir Probably plugin-list-shows-where-each-plugin-was-read-from-and-its-fo, claude-plugin-eval-resolves-installed-plugins-from-marketpla
  • Fixed installed mods not loading in the first session after an upgrade Nothing to match on #99130Mods off remotely on 2.1.288 despite docs saying on by default since 2.1.287 (rollout switch serves off) Open
  • Fixed a plugin's rows above the prompt showing a stale row while the Background tasks dialog was open in fullscreen Nothing to match on
  • Fixed plugin panes drawing nothing when a link used a localhost address, an @ in its path, an uppercase host or a file: path Nothing to match on
  • Fixed a user-installed plugin being able to rewrite the descriptions of an organization-managed MCP server's sign-in tools Nothing to match on
  • Fixed a freeze or forced quit at launch when a plugin drew a Box with a border style the terminal does not know Nothing to match on
  • Fixed supervised and background sessions ending when a plugin's on-screen handler threw asynchronously Nothing to match on
  • Fixed sessions ending with an interface error when a plugin region with no height kept growing Nothing to match on
  • Fixed Bash deny and ask rules missing a command behind an environment variable prefix with an expanded value (e.g. TZ="$HOME" rm -rf build) when the sandbox auto-allows commands No entry names this
  • Fixed a Bash deny or ask rule being skipped under sandbox auto-allow when a bare variable assignment came before the command Nothing to match on
  • Fixed claude plugin validate skipping the plugin when the folder also holds a marketplace manifest No entry names this
  • Added agent.spawn for teammates, one agent id across plugin hook events, and idle and waiting states in $.agent.list() Probably teammate-spawn-records-spawnedwith-agentspawn-hook-gains, agent-teammate-spawn-now-runs-through-the-agentspawn-plugin
  • Fixed sessions ending with "unrecoverable interface error" when a value a mod's ui.render hook wrote made a row throw while drawn; the engine now draws its own row instead No entry names this
  • Fixed text with a tab, a stray escape and a C1 control, or a short text with a tab and CRLF line endings, drawing over the rows below it Nothing to match on
  • Fixed right-aligned content in a mod's pane or band drawing under the close mark or [-], which now also keep one column in from the terminal's edge No entry names this #98987[FEATURE] Mods: keep the Pane close mark (×) and the band's [-] off the terminal's last column Open
  • Fixed a mod's Client that fails while drawn taking down everything the mod drew around it; it now fails alone and raises ui.fault Probably client-error-text-is-stripped-of-prefixes-and-falls-back-whe, plugin-client-faults-are-now-reported-and-surfaced-the-clie, new-ui-client-fault-control-request-lets-the-desktop-report, new-plugin-function-hooks-feature-slot-plugin-function-hook
  • Fixed claude plugin validate failing an Anthropic marketplace's own plugin and listing a clean plugin.json in --json No entry names this
  • Fixed a mod's band that fails to draw briefly telling the cards under it to step aside Nothing to match on
  • Fixed a failed plugin component showing Error or nothing as its reason when the failure carried no message No entry names this
  • Improved the line a mod's author sees when its band or pane fails to draw: it names the mod and says nothing was drawn Nothing to match on
  • Fixed published artifact pages freezing or crashing the reader's browser tab on short code blocks with many unclosed <script> tags Nothing to match on
  • Fixed a mod's Client region staying failed for the whole session after the terminal threw while drawing it Nothing to match on

A model matched these bullets to the GitHub issues they fix, so a link can be wrong.

System prompt

No change to the system prompt since v2.1.288.

Claude Code, interactive mode

Documentation

What the docs did around this release

182 documentation changes were recorded within 24 hours either side of this release, nearest first. The closest 12 are below. They're here because they happened near this release in time. That's not a claim that this release caused the edit, or that the page documents anything in it.

Switches

Every name in this release

The 11 literal strings found in the bundle, with the number of entries that name each one. Picking one searches for it. A name is here because this build's code mentions it, which is not the same as it working or being finished.

Slash commands

Settings and names in the code

Feedback