Session archive is one-way: no unarchive tool and no Archived view in desktop
Open 💬 1 comment Opened Jun 12, 2026 by BorrowedFire
Summary
Archiving a session has no inverse exposed to either the assistant or the user, leaving archived sessions effectively orphaned.
Two related gaps:
- MCP gap:
mcp__ccd_session_mgmt__archive_sessionexists, but there is nounarchive_session. The assistant can put a session into the archived state but cannot take it out. - Desktop UI gap: the macOS desktop app's sidebar (Chat / Cowork / Code panels) has no Archived view, filter, or per-project toggle. Archived sessions are not visible anywhere in the sidebar I can find. \"More\" doesn't surface them either.
Repro
- In the desktop app, archive a session (e.g. via auto-archive on PR merge, or by asking the assistant to archive).
- Try to find it again from the sidebar — no Archived filter or section.
- Ask the assistant to restore it. It can
list_sessions({include_archived: true})andsearch_session_transcriptsto find the session ID, but there is no tool to flipisArchivedback tofalse. mcp__ccd_session_mgmt__send_messagealso rejects archived sessions with \"Session ... is archived; unarchive it first.\" — pointing at an action that has no exposed path.
Workaround discovered
Editing the session JSON file directly (e.g. ~/.claude/.../local_<id>.json) and flipping isArchived: true → false restores the session. Quitting and reopening Claude Desktop refreshes the index. This works but is undocumented and requires file editing.
Suggested fixes
- Add
mcp__ccd_session_mgmt__unarchive_session(session_id)symmetric witharchive_session. - Add an Archived view (or per-project filter) in the desktop sidebar with a restore action.
- Until then: when
send_message/archive_sessionerrors mention \"unarchive,\" link or document the exact path.
Environment
- Claude Code desktop app (Mac), Opus 4.7
- macOS Darwin 25.5.0
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗