Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-code

Error reference changederrors

Nearest release: v2.1.238, published 6 hours before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+37added
Lines−6removed
From line 12 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits187to this page, all time

The whole hunk

from line 12, old and new numbered
/
lines
from line 12
1212 
1313## Find your error
1414 
15Match the message you see in your terminal to a section below.
15Match the message you see to a section below.
1616 
1717| Message | Section |
1818| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------- |
from line 54
5454| `Claude.ai login expired` | [Authentication](#remote-control-couldnt-refresh-your-login) |
5555| `Claude.ai login was rejected — run /login, then /remote-control` | [Authentication](#remote-control-couldnt-refresh-your-login) |
5656| `OAuth token unavailable — run /login to restore Remote Control` | [Authentication](#remote-control-couldnt-refresh-your-login) |
57| `Signed out of Claude — run /login, then /remote-control` | [Authentication](#remote-control-couldnt-refresh-your-login) |
5758| `signed-in claude.ai account or organization changed on this machine` | [Authentication](#remote-control-stopped-because-the-signed-in-account-changed) |
59| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |
60| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |
5861| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |
5962| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |
6063| `Login expired · Please run /login` | [Authentication](#login-expired) |
from line 731
728731 Remote Control couldn't refresh your login
729732</h3>
730733 
731Claude Code runs a live [Remote Control](/docs/en/remote-control) connection on short-lived credentials that it obtains and renews using your saved claude.ai login. When Claude Code can't produce a login token that claude.ai accepts, whether while connecting or mid-session, it stops Remote Control and shows the reason in a warning and a transcript line that starts with `Remote Control disconnected`. Your local session keeps running without Remote Control.
734Claude Code runs a live [Remote Control](/docs/en/remote-control) connection on short-lived credentials that it obtains and renews using your saved claude.ai login. When claude.ai stops accepting that login, or Claude Code has no saved login left, Claude Code stops Remote Control and needs you to sign in again. Either failure can happen while Claude Code is still connecting or later, when it renews the credentials.
732735 
736When Claude Code asks the login service to refresh your saved login and gets no answer, it keeps Remote Control running and tries the refresh again while the connection's current credential is still valid. A refresh gets no answer when Claude Code can't reach the login service, the request times out, or the service fails without rejecting your login. If the login service still isn't answering when that credential expires, Claude Code stops Remote Control and reports `OAuth token refresh failed`.
737 
738When Claude Code stops Remote Control, it shows the reason in a warning and in a transcript line that starts with `Remote Control disconnected`. Your local session keeps running without Remote Control. This section covers these lines:
739 
733740```text theme={null}
734741Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control
735742Remote Control disconnected — Claude.ai login expired — run /login, then /remote-control
from line 744
737744Remote Control disconnected — OAuth token unavailable — run /login to restore Remote Control
738745Remote Control disconnected — OAuth token refresh failed — run /login to re-authenticate
739746Remote Control disconnected — JWT refresh failed: no OAuth token — run /login
747Remote Control disconnected — Signed out of Claude — run /login, then /remote-control
740748```
741749 
742The middle of the message names what failed:
750Claude Code names the cause in the middle of the message:
743751 
744752* `Claude.ai login expired` and `Claude.ai login was rejected`: claude.ai no longer accepts your saved login token, because it expired or was revoked
745753* `OAuth token unavailable`: Claude Code had no saved login token when the connection's credential came due for renewal
746* `OAuth token refresh failed`: Claude Code tried to refresh the saved login and the refresh failed, typically because the OAuth service rejected the stored refresh token
754* `OAuth token refresh failed`: claude.ai rejected your saved login token while Claude Code was reconnecting, and refreshing the token produced no new one
747755* `JWT refresh failed: no OAuth token`: Claude Code found no saved login token to renew with
756* `Signed out of Claude`: you signed out on this machine, for example by running `/logout` in another terminal, so Claude Code has no saved login left to renew the connection with
748757 
749758**What to do:**
750759 
from line 762
753762 
754763Before v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` read `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, and `JWT refresh failed: no OAuth token — run /login` read `no OAuth token available for recovery (code <N>)`. The `Claude.ai login expired`, `Claude.ai login was rejected`, and `OAuth token unavailable` messages were added in v2.1.225.
755764 
765Before v2.1.238, Claude Code reported the cases that now say `Signed out of Claude` as `JWT refresh failed: no OAuth token — run /login`, and stopped Remote Control with `Claude.ai login expired — run /login to restore Remote Control` as soon as one login refresh got no answer.
766 
756767<h3 id="remote-control-stopped-because-the-signed-in-account-changed">
757768 Remote Control stopped because the signed-in account changed
758769</h3>
from line 784
773784* To switch back, run `/login` and sign in to the previous account or organization again. Then run `/remote-control`.
774785 
775786Before v2.1.234, Claude Code didn't notice when you switched to a different account or organization outside the Claude Code session. Claude Code kept the Remote Control session connected until a later request to the Remote Control server failed with `Remote Control server rejected the request (HTTP 404)`. That failure could come hours after the switch.
787 
788<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">
789 Remote Control stopped because the app running the session signed out or switched accounts
790</h3>
791 
792When the Claude desktop app or an IDE hosts your session, Claude Code gets its login token from that app rather than from `/login`. When claude.ai rejects that token, Claude Code asks the app for a new one. If the app answers that it's signed out, or that it's now signed in to a different Claude account, Claude Code ends the [Remote Control](/docs/en/remote-control) session and sends the app one of these lines:
793 
794```text theme={null}
795Remote Control stopped — the app running this session is now signed in to a different Claude account
796Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on
797```
798 
799Your local session keeps running without Remote Control.
800 
801**What to do:**
802 
803* If the app is signed out, sign in to it again, then turn Remote Control back on in the app
804* If the app switched accounts, Claude Code can't continue the ended session under the new account. Start a new Remote Control session under that account.
805 
806Before v2.1.238, Claude Code sent the app the `run /login` messages listed under [Remote Control couldn't refresh your login](#remote-control-couldnt-refresh-your-login) in both cases.
776807 
777808### OAuth token revoked or expired
778809 
Feedback