Follow Discord

Claude Code v2.1.289

next 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 →
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
8 entries

What probably matters to you

Anything you can use today, anything that visibly changes, and anything worth poking at. One line each, open for detail.

+New
You'll notice
Useful4 Signal4
Group of 4 Plugin UI no docs found unclear

Plugin UI failures are now caught, reported and recoverable#

When a plugin's on-screen UI throws an error, Claude Code now catches it, draws its own UI instead and lets the plugin recover

Unclear It is not clear whether ui.fault handlers are behind a rollout switch or reachable only when the desktop app is the host.

Details 0 0 Feedback
ui_client_fault
+New
Under the hood
Useful4 Signal4
Plugin Hooks Notable no docs found unclear

A new drawing slot for plugin function hooks, plus an interface fault event#

Claude Code lists a new drawing slot for plugin function hooks and a new interface event for reporting faults

Unclear It is not clear what switches the new drawing slot on, or whether users can reach it at all.

Details 0 0 Feedback
plugin_function_hooks_draw
+New
Under the hood
Useful4 Signal4
Plugin Hooks Notable no docs found unclear

Plugin function hooks get a capability named for reading the selection#

A plugin function-hook capability called plugin_function_hooks_selection_read now exists, along with a new internal control message

Unclear What this capability allows and what the new control message does are both unclear.

Details 0 0 Feedback
plugin_function_hooks_selection_read
↑Improved
Use it now
Useful3 Signal2
Group of 2 Plugin Hooks unclear

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

Unclear How the hook name is used after it is accepted, and whether plugin hooks of this kind are on by default, is not clear.

Details 0 0 Feedback
+New
You'll notice
Useful4 Signal2
Plugins unclear

Claude Code can notice when a plugin's folder has been edited#

Claude Code can detect plugin folders changed since they were last read and show a notice that the plugin was re-read from its folder

Unclear When and from where this check runs is not shown.

Details 0 0 Feedback
↑Improved
Use it now
Useful3 Signal2
Plugins unclear

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

Unclear Whether the same error also appears elsewhere, such as when updating plugins, is not known.

Details 0 0 Feedback
claude plugin eval
↑Improved
Under the hood
Useful2 Signal2
Plugin UI Notable unclear

Plugin text lines described as up to 10000 characters instead of 4096#

Plugin-supplied text lines such as the pinned line are now described as up to 10000 characters followed by an ellipsis, not at most 4096

Unclear Whether the 10000 character limit is enforced or only described is not known.

Details 0 0 Feedback
Were these the right ones to put at the top? 0 answered
Below the fold

Everything else

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

25 entries

Improvementsopen

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

↑Improved
You'll notice
Useful3 Signal2
Terminal UI unclear

Pane headers now have two drag areas instead of one#

In the terminal interface, a pane's header now has two separately sized mouse grab areas, one at the left edge and one just past the close mark

Unclear It is not clear what the two grips are meant to do differently, or why the header was split this way.

Details 0 0 Feedback
↑Improved
You'll notice
Useful3 Signal1
Group of 2 Plugins unclear

Clearer handling of plugins loaded from a local folder#

Folder-based plugins now get a note on update, extra lines in /reload-plugins output, and file watching that follows the real path

Unclear The exact conditions under which the note appears are not settled.

Details 0 0 Feedback
/reload-plugins
↑Improved
You'll notice
Useful2 Signal2
Plugin UI unclear

Plugin pane layout rearranged around its tabs, content and close button#

A pane's tab strip, body and close button are now laid out in separate boxes, with scrolling handled differently and a spacer row in some cases

Unclear What a reader would actually see differently is not known.

Details 0 0 Feedback
↑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
Elsewhere unclear

Unread file references can now say the file could not be examined#

A referenced file that was not read now shows "not read: could not be examined" when it could not be examined, and "not read" otherwise

Unclear It is not clear what makes Claude Code mark a file as one that could not be examined.

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

Dismissed prompts now always offer a Dismiss option on key 0#

The list of choices shown after "Dismissed." now always ends with a "Dismiss" option bound to key 0

Unclear It is not clear which prompt or dialog shows this row.

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

Plugin updates can print a note about the plugin's folder#

Updating a plugin from the command line can now print an extra note about its folder before the result

Unclear When the folder note is set and what it says is not shown.

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
Useful2 Signal1
Terminal UI unclear

Syntax highlighting gives up on code blocks that take too much work#

Code highlighting now has a work limit based on text length, nesting and embedded languages, and stops highlighting a block that goes over it

Unclear How the block is shown once highlighting is abandoned is not stated.

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

The "That was helpful" feedback prompt now gets a way to be dismissed#

The two-choice feedback prompt ("That was helpful" / "Didn’t understand") is now given a dismiss action, so it can be closed without answering

Unclear It is not clear what the dismiss action does on screen, which key or click triggers it, or whether this prompt is shown to everyone.

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
↑Improved
You'll notice
Useful1 Signal1
Plugin UI unclear

Plugin client error messages drop repeated prefixes and fall back when empty#

Error text from a plugin client now has its leading labels removed, and a standard message is shown when nothing is left

Unclear The exact old wording could not be read cleanly, so the precise before and after behaviour is unclear.

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

Clearer errors when a plugin launches an agent that cannot start#

Plugin agent launches now say when required MCP servers have no tools yet, and list the available agents when the named one does not exist

Unclear What turns on the plugin hooks involved is not clear.

Details 0 0 Feedback
↑Improved
Under the hood
Useful1 Signal1
Elsewhere unclear

A URL check no longer limits length and gives shorter error messages#

One of Claude Code's URL checks dropped its length limit and empty-text check and now uses shorter error messages

Unclear Which URLs go through this check is not stated, though it may be the one used for plugin URLs.

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

Warnings for plugin hooks that were not applied no longer say "skipped"#

A plugin hook that was not applied now gets a warning reading "<event> hook: <reason>" instead of "<event> hook skipped: <reason>"

Unclear When a hook counts as not applied rather than skipped is not stated.

Details 0 0 Feedback
9 entries

Bug Fixesopen

✓Fixed
You'll notice
Useful2 Signal2
Teammates unclear

Plugins see accurate ids and states for teammates#

Plugin agent launches now return a teammate's real id and model, and plugin messaging and task lists find teammates more reliably

Unclear What reads the updated task list beyond plugins is not clear.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful1 Signal2
Plugin UI unclear

A plugin view that crashed while drawing is no longer applied again#

Claude Code now skips applying a plugin view whose drawing failed, and fits pane contents to the space left by the pane frame

Unclear The visible effect of the pane row calculation is not settled.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful2 Signal1
Terminal UI unclear

Fix for stale or overdrawn content in scrolled boxes#

Claude Code's terminal display now tracks clipped areas while scrolling, fixing stale or overdrawn content in scrolled boxes

Unclear It is not known which specific visible glitch this fixes.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful2 Signal1
Elsewhere unclear

claude auth status now exits straight away after printing its result#

After showing your login status, claude auth status now ends at once with exit code 0 or 1 instead of first waiting on an internal step

Unclear It is unclear what the old exit routine did besides ending the program, so other small differences on exit cannot be ruled out.

Details 0 0 Feedback
claude auth status
✓Fixed
You'll notice
Useful1 Signal0
Terminal UI unclear

Text containing tabs is measured the same way it is drawn#

Claude Code now expands tabs and respects the wrapping mode when measuring text width, so layout matches what appears on screen

Unclear The exact effect on how text is laid out on screen is not established.

Details 0 0 Feedback
10 entries

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
·Internal
Under the hood
Useful1 Signal2
Elsewhere unclear

A new remote feature switch with no visible purpose yet#

Claude Code has a new remotely controlled switch that counts as on when the server sends no value, and nothing yet shows what it controls

Unclear What this switch controls is not known.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal0
Permissions unclear

Read-deny check for attached files now goes through shared helpers#

Checking whether a deny rule blocks reading an attached file now uses a shared helper that also tests whether any read-deny rules exist

Unclear It is not clear whether attachments are blocked any differently than before.

Details 0 0 Feedback
2 entriesPlugin Hooks · none marked notable
·Internal
Under the hood
Useful1 Signal0
Plugin Hooks unclear

Handling of failed plugin hooks reorganised#

The code that marks in-progress work as failed when a plugin hook fails was moved into a shared helper; runaway-plugin shutdown is unchanged

Unclear It is not known whether the new helper changes what happens when a hook fails.

Details 0 0 Feedback
2 entriesPlugin UI · none marked notable
·Internal
Under the hood
Useful2 Signal2
Plugin UI unclear

Questions sent to an interface host now report why they failed#

When Claude Code asks an interface host a question, a failure now comes back with a reason instead of an empty result

Unclear What uses these failure reasons is not shown.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal2
Plugin UI unclear

Plugin notification description no longer promises 2 second spacing#

The description of plugin pop-up notifications now tells apps to expect them at no fixed rate, instead of 2 seconds apart

Unclear It is not known whether the 2 second spacing itself was removed or only dropped from the description.

Details 0 0 Feedback
2 entriesTeammates · none marked notable
·Internal
Under the hood
Useful2 Signal3
Teammates unclear

Teammate records now store how the teammate was spawned#

Teammates running inside Claude Code now carry a spawnedWith record of how they were started

Unclear It is not shown what reads this field, or whether it is used to restore or resume teammates.

Details 0 0 Feedback
Verbatim
Awaiting notes

Official release notes pending

Anthropic has not published official notes for v2.1.289 yet. This section updates automatically when the entry appears in the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

System prompt

No change to the system prompt since v2.1.288.

Claude Code, interactive mode

Documentation

What the docs did around this release

103 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