[BUG] Active Remote Control sessions auto-archived server-side when shared OAuth credential rotates on another Mac (multi-Mac datapoint)

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 0 comments · opened Aug 4, 2026

Summary

Active Claude Code desktop sessions on macOS are archived server-side (banner "This session is archived. Unarchive it to continue the conversation." at claude.ai/code) without any user action. Local session records remain isArchived: false — client and server archive state diverge (matches #65838).

Existing open reports on cross-client archiving are all Mac + iPhone (#75525, #79198). This report adds the missing Mac + Mac datapoint, with a complete log-correlated timeline pointing to shared-credential rotation as the trigger.

Environment

  • Claude Desktop macOS 1.24012.11 (auto-updated from 1.24012.9 on 2026-08-04), Darwin 25.3.0
  • Claude Code CLI 2.1.220 on four Macs sharing one Max20 subscription via OAuth (1 interactive MacBook Pro + 3 always-on nodes running headless claude -p workers and --remote-control sessions)
  • iOS app also signed in to the same account (Code tab rarely used)
  • Sessions run with cwd /Users/<user> — the dominant transcript bucket (96 transcripts; cf. density hypothesis in #59451 where ~83 triggered)

Timeline (2026-08-04, all times local)

| Time | Event | Evidence |
|---|---|---|
| 00:09 | Mac #2 (always-on) rotates the shared OAuth credential | keychain item mdat = 20260804000938Z |
| 05:38 | MacBook Pro desktop app logs [oauth] CLI requested token refresh after 401 | ~/Library/Logs/Claude/main.log |
| 05:51 / 06:39 | Last activity in two active sessions | session records |
| ~06:46–06:48 | MacBook Pro forced re-login; new credential established | keychain mdat = 20260804064857Z |
| 08:05 | 503 overloaded_error on GET /v1/environment_providers/<org>/environments?limit=1000 | renderer log |
| morning | Both sessions (plus one from the previous evening) found archived server-side; local JSON still isArchived: false | claude.ai/code banner |

This is the third observed occurrence of the pattern (2026-07-29, 2026-08-04 previous instance, 2026-08-04 above): the always-on Mac rotates the shared credential overnight → the interactive Mac gets 401s a few hours later → sessions that were active on the interactive Mac end up archived server-side.

Hypothesis

Refresh tokens are single-use; when another Mac on the same subscription rotates the shared credential, the interactive Mac's bridge/environment connection dies with 401. The server appears to treat this as "Claude Code exited" and applies the by-design RC archiving rule (changelog v2.1.113: "Fixed Remote Control sessions not being archived when Claude Code exits") to sessions that are still live/resumable locally.

This unifies the Mac+iPhone reports (#75525, #79198) with multi-Mac: any second client event that invalidates or supersedes the first client's bridge session triggers server-side archiving of active sessions.

Expected

Sessions that are active or resumable on the originating machine should never be auto-archived by credential rotation or bridge reconnects. Archive state should reconcile with the owning client, not with the last client event.

Workaround used

Open claude.ai/code/<session_01…> directly → Unarchive. No data loss observed; local JSONL transcripts intact throughout.

Ask

  1. Confirm whether bridge disconnect / 401 is treated as session exit for archiving purposes.
  2. An opt-out (disableAutoArchive) as requested in #60043.
  3. Multi-device credential handling that doesn't invalidate sibling machines (or documented guidance for multi-Mac single-subscription setups).

View original on GitHub ↗