{"version":"2.1.281","anchor":"new-sdk-control-requests-claim-session-for-await-claim-s","canonical_anchor":"new-sdk-control-requests-claim-session-for-await-claim-s","heading":"Remote Control can download attachments ahead of time, and SDK hosts get new control requests","tier":"use","area":"SDK","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/new-sdk-control-requests-claim-session-for-await-claim-s","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Remote Control can download attachments ahead of time, and SDK hosts get new control requests\n\nA new prefetch_attachments request lets Remote Control download up to 16 files early, and a new claim_session request targets parked spare processes\n\n**Unclear.** The finding does not say what `prefetch_attachments` does with the files it receives.\n\n**What**\n\nClaude Code can now start downloading files attached to a Remote Control message before the message itself is processed. Remote Control is the feature that lets you drive a Claude Code session from claude.ai or the mobile app. A host program sends a control request (an instruction passed to Claude Code outside the conversation) called `prefetch_attachments`, listing up to 16 file UUIDs. When a later message names one of those files, Claude Code uses the copy it already downloaded. Before this release, attachments were fetched only when the message was handled.\n\n- `prefetch_attachments`: takes up to 16 file UUIDs and is passed through the same way `mcp_call` and `rename_session` are.\n\n- Limits on prefetching: a cap on how much downloaded data can be held in memory, a limit on how many downloads may start in a given time window, a cutoff that discards stale requests, and an expiry for files nobody ends up using.\n\n- `claim_session`: a second new control request, sent to a parked \"spare\" Claude Code process started with `--await-claim`. It is refused in the same state where `set_cwd` and `add_directory` are refused. When it fails, it returns a reason such as `not_a_spare`, `already_claimed`, `busy`, `turn_started` or `cwd_not_found`. It is accepted only by a process started with `--await-claim` that has not already been claimed.\n\nThe prefetching code sits behind a server-side flag, `tengu_dapper_brooks`. Nothing has been read about that flag's state.\n\n**Why**\n\nPrefetching could make images and files sent from claude.ai or mobile appear sooner, because the download can already be finished when the message arrives. For anyone building on the SDK, these are two new request types a host can send: one to warm up attachments and one to take over a spare process that is already running.\n\n- Area: SDK\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 4\/5"}