{"version":"2.1.236","anchor":"cancellable-waits-when-model-talks-to-a-cloud-session","canonical_anchor":"cancellable-waits-when-model-talks-to-a-cloud-session","heading":"Cancellable waits when \/model talks to a cloud session","tier":"notice","area":"Cloud Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236\/e\/cancellable-waits-when-model-talks-to-a-cloud-session","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236","markdown":"### Cancellable waits when `\/model` talks to a cloud session\n\nYou can now escape the wait when \/model loads or switches models on a cloud session.\n\n**What**\n\nFetching 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.\n\n**Details**\n\n- While the list loads the picker shows `Loading models from the cloud session\u2026` with an escape shortcut, and cancelling aborts the in-flight request and records a cancelled outcome.\n- Cancelling a wait for the model list produces \"Stopped waiting for the cloud session's model list \u2014 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.\n- 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.\n- Both cancellations record a `remote_wait_cancelled` outcome on the model-switch telemetry event.\n- 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.\n- 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.\n- The timeout message dropped its `[RemoteSessionManager]` prefix and now reads as the control request name plus the elapsed seconds.\n- Passing a model name directly, as in `\/model sonnet`, skips the fetch entirely.\n\n**Evidence**\n\n`Loading models from the cloud session\\u2026`, `Stopped waiting for the cloud session`, `Stopped waiting for the cloud session\u2019s model list \u2014 run \/model again, or pass a model name, e.g. \/model sonnet`, `control_request '${e}' got no response after ${t \/ 1000}s`\n\n- Area: Cloud Sessions\n- Names: `\/model`\n- Tier: You'll notice\n- Useful: 4\/5\n- Signal: 2\/5"}