Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.236 Home All releases olderv2.1.235 v2.1.237newer
Claude Code v2.1.236

Cancellable waits when /model talks to a cloud session

You'll notice
Useful4 Signal2
Cloud Sessions

You can now escape the wait when /model loads or switches models on a cloud session.

/model
What

Fetching the model list and switching models on a cloud session are both waits you can now escape from instead of watching a spinner indefinitely. The picker shows a cancellable line with an escape shortcut while it loads, the underlying request carries an abort signal and a timeout, and cancelling gives you a specific message telling you what to do next rather than a generic failure.

Details
  • While the list loads the picker shows Loading models from the cloud session… with an escape shortcut, and cancelling aborts the in-flight request and records a cancelled outcome.
  • Cancelling a wait for the model list produces "Stopped waiting for the cloud session's model list — run /model again, or pass a model name, e.g. /model sonnet", which sits alongside the existing "Couldn't load the model list from the cloud session" message that still covers an outright failure.
  • Cancelling a wait for a model switch shows Stopped waiting for the cloud session and tells you a notice will still arrive if the switch lands.
  • Both cancellations record a remote_wait_cancelled outcome on the model-switch telemetry event.
  • A switch rejected after you have already cancelled is suppressed rather than surfaced as an error, and a model-list response that arrives after an abort is discarded.
  • Timeouts for control requests, the messages Claude Code sends to a cloud session and waits on, are now chosen per request type instead of through one special case for side questions.
  • The timeout message dropped its [RemoteSessionManager] prefix and now reads as the control request name plus the elapsed seconds.
  • Passing a model name directly, as in /model sonnet, skips the fetch entirely.
Evidence

Loading models from the cloud session\u2026, Stopped waiting for the cloud session, Stopped waiting for the cloud session’s model list — run /model again, or pass a model name, e.g. /model sonnet, control_request '${e}' got no response after ${t / 1000}s

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.236 →