[FEATURE] Unarchive Claude Code sessions in desktop app option

Resolved 💬 26 comments Opened Mar 4, 2026 by reyewon Closed Jun 21, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Archived Claude Code sessions in the desktop app cannot be unarchived. When viewing archived sessions via the filter, hovering over a session only shows a delete icon. There is no unarchive/restore option, making archiving a one-way action with no way to undo it.

Proposed Solution

Add an unarchive icon (or toggle the existing archive icon) when hovering over archived sessions, allowing users to restore them back to the active sessions list.

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

26 Comments

github-actions[bot] · 4 months ago

Found 2 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/30201
  2. https://github.com/anthropics/claude-code/issues/26677

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

twellspring · 4 months ago

I went to rename and archived by mistake. Having an unarchive would be helpful for mistakes like this.

KobaltKoding · 4 months ago

+1 facing same issue

Asher- · 4 months ago

this is definitely a bug

AdaWorldAPI · 4 months ago

happened to me too

there was always an unarchive button

now its neither in CLI, NOR in Gui, nor Web, nor one of the 2 Web apps

thats such a terrible blunder

josh2-7 · 4 months ago

SAMEEEE :(

danarkind · 4 months ago

+1 on this. Context from my workflow: I'm a PM vibe coding in Claude Code. I archive sessions actively to manage a busy session list and return to them throughout the day. Right now, archiving is a one-way trap — the only action on an archived session is Delete, which makes the feature feel broken rather than useful.

A few suggestions worth considering for the solution:

  • Toggle the archive icon on hover (as proposed) — simplest fix
  • Right-click context menu with Unarchive — more discoverable
  • Slash command (/unarchive) — good for keyboard-first users
  • "Move to Today" as a label rather than just "Unarchive" — makes the intent clearer in the UI

The use case is: archive-to-park, then restore-to-resume. That's a legitimate workflow that the current implementation breaks entirely.

crypto-vault · 3 months ago

Reinforcing this need, if you archive session used by dispatch, dispatch stops working, and there's no way to unarchive it and have dispatch working again.

mlloyd5 · 3 months ago

Really frustrating if you accidentally archive something before committing. I made this mistake today.

ryanrood · 3 months ago

Same here. I just made the same mistake. Please fix this by adding the option to unarchive.

Asher- · 3 months ago

As a temporary fix you can ask Claude to unarchive it

ryanrood · 3 months ago
As a temporary fix you can ask Claude to unarchive it

I tried ... it said no lol.

I can't control the chat interface — unarchiving is something you need to do directly in the Claude.ai UI. Look for an archive or settings option on the conversation itself.

Asher- · 3 months ago

That’s so weird - it did it for me!

Maybe due to reasoning depth? I am using opus 4.6 max.

SugaCrypto · 3 months ago

Until this feature is implemented, I made a tool that provides unarchive (and delete) functionality through a browser-based GUI.

https://github.com/SugaCrypto/cowork-archive-manager

androbwebb · 3 months ago

The claude API explicitly prevents it btw

const sessionId = "session_....";

const res = await fetch(`https://claude.ai/v1/sessions/${sessionId}`, {
  method: 'PATCH',
  headers: {
    'Content-Type': 'application/json',
    'anthropic-version': '2023-06-01',
    'anthropic-beta': 'ccr-byoc-2025-07-29',
    'x-organization-uuid': '...'
  },
  body: JSON.stringify({ session_status: "idle" })
});
console.log(res.status, await res.text());

Gives back a 409

'{"error":{"details":"session_id=session_...","message":"cannot update archived session session_...","type":"invalid_request_error"},"request_id":"","type":"error"}'
jarrodjohnson-gif · 3 months ago

Working fix (macOS) — no app update needed:

The archive flag is stored as isArchived in a local JSON file. Flipping it and relaunching fully restores the session.

# 1. Find your archived session file(s)
find ~/Library/Application\ Support/Claude/claude-code-sessions   -name '*.json' | xargs grep -l '"isArchived": true'

# 2. Unarchive (replace <path> with the file found above)
python3 -c "
import json
path = '<path>'
with open(path) as f: d = json.load(f)
d['isArchived'] = False
with open(path, 'w') as f: json.dump(d, f, indent=2)
print('Done:', d.get('title'))
"

# 3. Fully quit Claude Code (Cmd+Q), then relaunch

Session reappears in the active list immediately on restart.

Proposed product fix: right-click context menu on archived sessions → 'Unarchive' — one write to isArchived: false in the session JSON + sidebar refresh. Should be a minimal change on the desktop side.

Astro-Han · 3 months ago

The broader issue here is that Claude Desktop is missing basic session lifecycle management that Claude Code CLI already has:

  • CLI: cleanupPeriodDays (default 30) auto-purges inactive sessions on startup. Simple and effective.
  • Desktop: No auto-cleanup, no delete for active sessions, and archive is a one-way trap.

At minimum, Desktop should inherit the CLI's cleanupPeriodDays behavior. Archive without unarchive, and no delete, makes session management painful for heavy users.

fjimenez77 · 2 months ago

AHH Get this done

JMarcSyd · 2 months ago

Here is the fix for Windows 11 Desktop version:
Manually edit the session file:
Find the session JSON at %AppData%\Claude\claude-code-sessions\{org-id}\{user-id}\local_{session-id}.json
Alternatively it may be here: %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude-code-sessions
Change "isArchived": true → "isArchived": false
Save and restart Claude Code

scr-oath · 2 months ago

Just another "me too" on this - organization and classification should not be a one-way action (with the exception of Delete). In fact, perhaps Delete should be a progression - you can only delete archived things 🤷‍♂️ . But definitely crave the unarchive

jarrodjohnson-gif · 2 months ago

@scr-oath I agree, I always prefer a progression! Even delete should flow into a temp bin - perm delete (personally prefered)

kilroy91841 · 2 months ago

+1... * 100, so +100

fredrik · 2 months ago

This exists:

<img width="194" height="306" alt="Image" src="https://github.com/user-attachments/assets/e929e243-cc9c-4a60-b191-588ec4db4e87" />

(Claude 1.5354.0 (9a9e3d) 2026-04-29T01:14:34.000Z for Mac)

jarrodjohnson-gif · 2 months ago

@fredrik Nice to see they finally added it.

danarkind · 1 month ago

Thank you very much. The changes, including pinning, are very helpful.

Teik-El · 17 days ago

still not fix with the latest Claude Code in desktop version. Claude would auto archive my sessions in a folder and the folder does not have the filter while another folder have a filter icon.