[Cowork] User-created skills stored in ephemeral session dirs — silently deleted on cleanup
Summary
User-created skills (SKILL.md files) built during Claude Cowork sessions are stored in ephemeral per-session directories (local_<uuid>/.claude/skills/) and get permanently deleted when the session is cleaned up. There is no warning, no confirmation, and no mechanism to promote ephemeral skills to persistent storage.
Additionally, there is no shared skill or memory storage across Claude's four desktop products (Claude Chat, Cowork, Claude Code terminal, Claude Code VSCode extension). Each product uses its own isolated storage silo.
Reproduction
- Open a Cowork session
- Use the skill-creator to build a custom skill (e.g. from MR review patterns)
- Close the session
- Open a new Cowork session
- The skill is gone — no trace anywhere on disk
Investigation: Five Isolated Storage Silos
A full filesystem investigation reveals the following storage architecture:
| Product | Storage Path | Persistent? | Shared? |
|---------|-------------|-------------|---------|
| Claude Code (terminal) | ~/.claude/plugins/marketplaces/ | ✅ Yes | With VSCode ext |
| Claude Code (VSCode) | ~/.claude/ (same as terminal) | ✅ Yes | With terminal |
| Cowork (built-in skills) | ~/.config/Claude/local-agent-mode-sessions/skills-plugin/.../skills/ | ✅ Yes | ❌ No |
| Cowork (user-created) | ~/.config/Claude/local-agent-mode-sessions/.../local_<uuid>/.claude/skills/ | ❌ NO | ❌ No |
| Cline (VSCode ext) | ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/ | ✅ Yes | ❌ No |
The critical failure is in row 4: Cowork's skill-creator writes user-created skills to the per-session local_<uuid> directory, which is ephemeral.
Additional Cross-Product Gaps
CLAUDE.mdnot shared:~/.claude/CLAUDE.md(Claude Code's persistent memory) is not read by Cowork. Knowledge built up in Claude Code is invisible to Cowork, and vice versa.- No skill discovery across products: Claude Code plugins in
~/.claude/plugins/are invisible to Cowork. Cowork's built-in skills are invisible to Claude Code. - No warning before destructive cleanup: When a Cowork session directory is cleaned up, user-created artifacts (skills, files, notes) are silently deleted.
Impact
In my case, a custom anti-flicker skill was collaboratively built over a full Cowork session by reviewing merge request diffs, extracting flicker-fix patterns from production code, and encoding them into a reusable SKILL.md. This skill was silently deleted when the session was cleaned up. The effort (~30–45 minutes of interactive work) was entirely lost.
Proposed Solution
- Single skill directory: Designate
~/.claude/skills/(or equivalent) as the canonical location for user-created skills. All products should read from and write to this location. - Shared memory file:
CLAUDE.mdshould be readable by all products. - Pre-cleanup promotion: Before cleaning up a Cowork session, scan for user-created skills and offer to promote them to persistent storage. Never silently delete user work.
- Cross-product skill registry: Skills created in any product should be discoverable and usable in all others.
- Skill versioning/backup: Skills represent significant user investment and should be protected from accidental deletion.
Current Workaround
As an interim measure, the following workaround is functional:
- Created
~/.claude/skills/as a centralized, persistent skill store - Symlinked user skills from
~/.claude/skills/into Cowork'sskills-plugindirectory - Verified that Cowork's VM sandbox resolves these symlinks correctly (skills are readable from inside the VM)
- Created a
promote-skill.shscript that copies skills from ephemeral session dirs to the centralized store and creates the symlink - Documented the convention in
~/.claude/CLAUDE.md
This workaround is fragile (depends on symlink resolution behavior that could change) and requires manual intervention after every skill creation. A proper solution needs to be built into the product.
Environment
- OS: Manjaro Linux (Arch-based), GNOME 49, Wayland
- Claude Desktop: latest as of March 6, 2026
- Claude Code VSCode extension: anthropic.claude-code 2.1.70
- Also have Cline (saoudrizwan.claude-dev 3.70.0)
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗