What
When Claude Code runs as a remote session (CLAUDE_CODE_REMOTE), sending a message can be refused by the server. How that is reported has changed:
- An HTTP 403 or a sign-in 401 on a send now returns a message that starts 'Nothing was sent to ...: the post from this cloud session was refused (HTTP ...)'.
- The helper that used to build the whole 'Nothing was sent: Remote Control session ...' message now returns only an optional hint, 'This target may be reachable with ...', which is added to the message when present.
- A new check controls sending keepalives (small messages that keep a connection open). It passes only when the environment variable
CLAUDE_CODE_REMOTE_SEND_KEEPALIVESis set and a server-side switch returns 'on'.
Why
A send from a cloud session that fails now says plainly that nothing went out and gives the HTTP status, so neither you nor Claude assumes the message arrived. Keepalives need both the environment variable and the server switch.
Names in the bundleCLAUDE_CODE_REMOTE
Documented inclaude-code/agent-sdk/typescript