Mid-run changes to a cloud session are either handled, forwarded, or refused with a stated reason.
What's wrong with this entry?
Requests that change a running session (switch model, toggle MCP, rewind, change permission mode) are now routed one of four ways for a cloud session: handled locally, forwarded, forwarded while later sends are held, or rejected with a message naming the reason. Anything anchored to your local machine is rejected rather than silently failing.
- Handled locally: initialize, interrupt, end_session, cancel_async_message. Forwarded with sends held: set_model, mcp_toggle, rewind_conversation, set_permission_mode and others.
- Rejected because they name a path on this machine: set_cwd, add_directory, register_repo_root, rewind_files.
- Also rejected: mcp_set_servers and mcp_message (in-process MCP servers), remote_control, channel_enable, ultrareview_launch, the claude_/mcp_ auth subtypes, set_color, poll_event, stage_file, and agent-originated requests such as can_use_tool, hook_callback and elicitation.
- Unrecognised request types get a generic "is not supported in a cloud-hosted session" rejection, recorded in telemetry as "unknown".
MCP server changes are not available in a cloud-hosted session yet; this machine's MCP servers reach cloud sessions through the device link
Strings lifted out of the shipped bundle, so the claim above can be checked against them.