Follow Discord
Sweep 09 Oct 2026 · 17:27Z Build v2.1.296 517 read Stable v2.1.287 Latest v2.1.296 Next v2.1.296 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.296 ·

set_model gains an only_if_model_is_current guard for swapping the system prompt

SDK set_model requests can swap the system prompt only if a named model is running, failing with model_not_current otherwise; Remote Control refuses it

Group of 3 Use it now Notable New Features
JSON All of v2.1.296
Use it nowTier: how much it should matter to you
5Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
AgentsArea: what it touches
New FeaturesKind: in v2.1.296,
What probably matters to youSection of the release

What

Programs that drive Claude Code through the SDK (the software development kit for building on top of Claude Code) can send a set_model request to change the model. That request now accepts an optional true-or-false field, only_if_model_is_current.

  • When only_if_model_is_current is true, the request does not switch models. model must name a specific model, and system_prompt is required.
  • If the session confirms it is running the named model, system_prompt replaces the session's custom system prompt.
  • If the session cannot confirm that, the request fails with the new error code model_not_current and changes nothing.
  • The field is marked internal and is documented as supported by claude -p and by claude-code-server workers.
  • Remote Control, which lets you drive a session from another device, refuses the field with the error "set_model: Remote Control does not implement only_if_model_is_current. The request changed nothing." Before, Remote Control ignored it.

The same release also changes how a remote cloud session is created. The request no longer sends a builtinTools field, an environment check now runs before launch, and branch-name generation is skipped when builtinTools is not empty.

Why

A program can now replace the system prompt only while a known model is running, so a model change happening at the same moment cannot leave the wrong prompt on the wrong model. When the condition is not met, nothing changes and the error code says why. Programs talking to Remote Control get an explicit error instead of having the field silently ignored.

Read from
Names in the bundleset_modelonly_if_model_is_current

See this entry in the whole of v2.1.296 →

Feedback