Follow Discord
Sweep 02 Oct 2026 · 18:55Z Build v2.1.288 509 read Stable v2.1.285 Latest v2.1.287 Next v2.1.288 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.287 ·

SDK sessions send fewer duplicate command-list updates and close removed MCP servers

In stream-json mode commands_changed is sent only when the command list changes, and SDK MCP servers are closed on removal, replacement or disable

Group of 3 You'll notice Improvements
JSON All of v2.1.287
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
SDKArea: what it touches
ImprovementsKind: in v2.1.287,
ImprovementsSection of the release

What

These changes affect headless sessions, where a program drives Claude Code through the SDK using the stream-json output mode instead of the interactive screen:

  • commands_changed: this system message is now sent only when the list of commands differs from the last one sent. Before, it was sent on every state change. Updates that arrive while a hold is active are deferred and replayed afterwards, and command reloads are tracked as a single in-progress task.
  • SDK MCP servers: MCP servers are add-on tool providers. Headless sessions now keep a record of their SDK MCP connections and close them when a server is removed, replaced, or switched off with mcp_toggle. Before, only the connected client was cleaned up, and only on disable. If closing fails, the error "Failed to close SDK MCP server after mcp_toggle disabled it" is reported.

Why

Programs built on the SDK receive fewer redundant command-list events, and removed or replaced MCP servers no longer leave connections open.

How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhat causes the message to be held back is not known.

See this entry in the whole of v2.1.287 →

Feedback