Reference claude ai code sessions status field

The endpoint GET https://api.anthropic.com/v1/code/sessions, authenticated with the existing claudeAiOauth.accessToken from ~/.claude/.credentials.json (scope user:sessions:claude_code), returns every claude.ai/code session with a literal status field: "active" or "archived". Each row also carries title (matches the tmux session name), id (cse_..., same suffix as the local bridge id session_...), worker_status, last_event_at, and pagination via next_cursor.

This was confirmed by direct probe during the chat.justin (session launcher) archive-sync feature work: 20 sessions returned, 2 active, 18 archived, matching Justin's actual claude.ai web UI state.

Why this matters: forge_session_launcher_api.py currently buckets sessions by local tmux liveness only, which is why archiving a session on claude.ai web UI doesn't reliably move it in chat.justin (only works today if the archived tab still owns the live bridge-linked tmux process, which kills the process as a side effect). This endpoint is the mechanism to make chat.justin's active/archived buckets mirror the claude.ai web UI directly instead of relying on tmux liveness as a proxy.

How to apply: when building or debugging the archive-sync feature (see plan at memory/plans/ dated 2026-07-05), join local sessions to this API's status field via bridge-id suffix match (cse_X <-> session_X) or title match against tmux session name. Token expires ~hourly; needs self-refresh via refreshToken with atomic write-back to .credentials.json since the launcher runs as a long-lived service, not an interactive CLI session that auto-refreshes.

[auto-memory session f7a2c956-394a-461d-9680-bd1434d69be4, confidence 0.85, mode direct]