[BUG] All newly-created Code sessions auto-archive on iOS and become inaccessible from mobile app
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Every Code session I create is being automatically moved to the "Archived" tab on the iOS Claude app within minutes of creation, and I can no longer interact with any of them from mobile.
This started about a month ago and has progressively worsened. At first it was intermittent — only some sessions auto-archived while others stayed accessible. As of today it affects every session: 100% of new sessions auto-archive on mobile and become completely inaccessible from the app.
Key observations:
- Sessions show a green "Connected" status while sitting in the Archived tab, so the connection is alive — they're just locked behind the archived state with no unarchive option on mobile.
- The only session that stays OUT of Archived is one I'm continuously interacting with. The moment a session goes briefly idle after creation, it gets auto-archived. This points to the auto-archive logic firing on active sessions that shouldn't qualify.
- The problem is mobile-only. On my Mac, the CLI shows every session as healthy and unarchived — nothing is archived on that side. The mismatch is entirely between the iOS app and the actual session state.
- The "All" tab on mobile only shows older, Disconnected sessions; all my live Connected sessions end up in Archived.
Net effect: the mobile app is currently unusable for Code. The Mac terminal where I initiate the session is my only way to access these sessions.
Possibly related: #32651, #59449, #32018
What Should Happen?
A connected, active session should remain in the active list and stay interactive from mobile. The Archived tab should only contain sessions the user explicitly archived or that are genuinely inactive on the server. Mobile archive state should match the actual server/CLI state, and there should be a way to unarchive a session from the mobile app.
Error Messages/Logs
Steps to Reproduce
- On Mac: start or confirm a Code session is active and connected.
- On iOS: open the Claude app and go to the Code section.
- Create a new session, or view an existing active one.
- Leave it briefly idle (~5 min).
- Session moves to the Archived tab while still showing "Connected."
- Tap it — shows "Archived" state, no unarchive option, no interaction possible.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Claude Code 2.1.119
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
_No response_
4 Comments
Seeing this same active-session auto-archive on macOS via the CLI / Remote Control, so it's not iOS-only — adding data points in case they help isolate the trigger:
Likely the same root cause as #67360 (Remote Control JWT-refresh 401 / concurrent-session token-refresh race) — the archive seems to coincide with a reconnect/token-refresh boundary rather than genuine idleness. Filed #71873 separately before finding this; closing that as a duplicate in favor of this issue.
Same symptom here, with host-side log evidence. Setup: Mac Studio (always-on, Ethernet,
pmset sleep 0), sessions created in the macOS desktop app with "Enable remote control by default" on; viewers: iPhone + MacBook, same account/org.Every morning, ALL sessions from the previous evening show as archived on iOS ("No sessions found. All sessions are archived."). Host-side
main.logshows the machine was healthy all night: device-bridge heartbeats at 23:50, 00:10, 01:01, 02:53, 06:00; OAuth token refreshes succeeding; no app restart. The sessions' local JSON still hasisArchived: falseand theirbridgeSessionIdsintact — the cloud archived state contradicts the host state.Three additional data points:
/remote-controlon the host always recovers the session instantly — but the fresh bridge does not survive the night either (bridge enabled at 22:10, archived again by morning).Happy to provide fuller logs if useful.
Follow-up with two more data points from systematic elimination testing:
main.log): the[remote-control]bridge reconnects all night with widening gaps — reconnects at 23:50, 00:10, 01:01, 02:53, 06:00 (gaps up to ~3h). Sessions appear to get archived during a long disconnect window, and reconnection never un-archives them (one-way ratchet). This would explain why daytime sessions rarely archive (short gaps + user activity) while every overnight session dies.claude --remote-control(process alive,bridge_state: connected,handoff: publishinglogged) is visible nowhere — not in the macOS desktop app viewer, not in iOS app, not in mobile Chrome on claude.ai/code. Meanwhile desktop-app sessions re-enabled via/remote-controlDO appear on the MacBook viewer but still never on the phone (same account, same workspace — verified; single-workspace account). So the phone-side view seems broken independently of bridge health.Environment: macOS desktop app + CLI v2.1.205, single claude.ai account (Max), Mac Studio always-on host.
Additional evidence from another setup (macOS desktop app → iOS), observed 2026-07-28 → 2026-07-31
Environment: macOS (Darwin 25.5.0), Claude desktop app 1.24012.9 (installed Jul 24, unchanged since), embedded Claude Code component 2.1.219, and Settings → Claude Code → Local sessions → "Enable remote control by default" = ON.
What we found on the desktop side, which may explain the iOS "auto-archive / inaccessible" symptom:
~/Library/Logs/Claude/main.logshows regularEnabling remote control for session local_*entries up to 2026-07-28 20:00 local — then zero such entries for the next three days, despite daily use and several newly created sessions. The app binary did not change in that window, so we suspect a silent auto-update of the embedded Claude Code component switched to a new bridge architecture (logs now show[sessions-bridge] Registering environment,env_*/cse_*identifiers,[buddy] starting bridge).bridgeSessionIdsfield at all in~/Library/Application Support/Claude/claude-code-sessions/<acct>/<org>/local_*.json. Sessions created earlier retain 1–2 stale bridge IDs that no longer resolve remotely.[sessions-bridge] Environment registered,[remote-tools-device] authenticated), but no per-session enablement ever follows./remote-controlinside a session. That session then appears on iOS within seconds — per-session, manual only.In short: on our machine the mobile-side invisibility correlates with the desktop app silently ceasing to (re)publish session bridges after 2026-07-28, while the manual
/remote-controlpath still registers a fresh bridge successfully. Hope the contrast between the dead automatic path and the working manual path helps narrow down the regression.