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:

  1. MCP gap: mcp__ccd_session_mgmt__archive_session exists, but there is no unarchive_session. The assistant can put a session into the archived state but cannot take it out.
  2. 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

  1. In the desktop app, archive a session (e.g. via auto-archive on PR merge, or by asking the assistant to archive).
  2. Try to find it again from the sidebar — no Archived filter or section.
  3. Ask the assistant to restore it. It can list_sessions({include_archived: true}) and search_session_transcripts to find the session ID, but there is no tool to flip isArchived back to false.
  4. mcp__ccd_session_mgmt__send_message also 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: truefalse 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 with archive_session.
  • Add an Archived view (or per-project filter) in the desktop sidebar with a restore action.
  • Until then: when send_message / archive_session errors mention \"unarchive,\" link or document the exact path.

Environment

  • Claude Code desktop app (Mac), Opus 4.7
  • macOS Darwin 25.5.0

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗