{"version":"2.1.314","anchor":"cloud-session-post-refusal-gets-an-explicit-error-message","canonical_anchor":"cloud-session-post-refusal-gets-an-explicit-error-message","heading":"Remote sessions explain when a send is refused","tier":"notice","area":"Cloud Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314\/e\/cloud-session-post-refusal-gets-an-explicit-error-message","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314","markdown":"### Remote sessions explain when a send is refused\n\nIn remote sessions, a refused send now returns a 'Nothing was sent' message with the HTTP status and an optional hint, and keepalives get a new check\n\n**What**\n\nWhen 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:\n\n- 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 ...)'.\n\n- 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.\n\n- A new check controls sending keepalives (small messages that keep a connection open). It passes only when the environment variable `CLAUDE_CODE_REMOTE_SEND_KEEPALIVES` is set and a server-side switch returns 'on'.\n\n**Why**\n\nA 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.\n\n- Area: Cloud Sessions\n- Names: `CLAUDE_CODE_REMOTE`\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}