[BUG] Deleted skill persists in Cowork UI — cannot be removed

Resolved 💬 6 comments Opened Feb 16, 2026 by matthiaw Closed Mar 25, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

[BUG] Deleted skill persists in Cowork UI — cannot be removed

Description

A user-created skill ("hello-world") that was previously deleted still appears in the Cowork Skills UI. The skill cannot be removed through the UI — there is no working delete option.

The skill has been fully removed from both:

  • .skills/manifest.json (no entry present)
  • .skills/skills/ directory (no folder present)

Despite this, the UI continues to display the skill. Restarting the Claude Desktop app does not resolve the issue.

Expected Behavior

Skills that are not present in manifest.json and have no corresponding directory should not appear in the UI. Alternatively, the UI should provide a working delete action for orphaned entries.

Actual Behavior

The ghost skill entry persists in the UI with no way to remove it. The delete function either does not exist or is non-functional for this state.

Steps to Reproduce

  1. Create a user skill in Cowork (e.g., "hello-world")
  2. Delete the skill (however it was removed — possibly via direct file deletion or a previous session). I think it was a false positive upload via ui. I have at the moment wo ghost-skills which can not be removed.
  3. Confirm that .skills/manifest.json does not contain the skill entry
  4. Confirm that .skills/skills/hello-world/ does not exist
  5. Open Settings > Skills in Cowork UI
  6. Observe: the deleted skill still appears
  7. Attempt to delete it via UI — fails or option unavailable

Environment

  • OS: macOS
  • Claude Desktop: latest version (as of 2026-02-17)
  • Mode: Cowork

Additional Context

This suggests the UI maintains a separate cache or state that is not synchronized with the filesystem/manifest. The UI should either derive its state entirely from manifest.json or provide a mechanism to purge orphaned entries.

Possibly Related

  • #25797 — Cowork folder mounting issues
  • #25072 — Skills not loading from ~/.claude/skills/
  • #26131 — User skills not loading / directory contents disappearing mid-session

What Should Happen?

Claude should fi the bug and (forced) deletion of ghost-skills should be possible. Also the error-handling must be more detailed, because "Internal Server Error" (on failed Upload) or "Try later" (on failed Deletion) is a unsatisfying user experience. The should be an error code and transparency what is wrong and where.

Error Messages/Logs

Yes, an error code would be nice, if you would provide it from the client. The failed deletion only shows "Failed to delete skill. Try again."

Steps to Reproduce

  1. Create a user skill in Cowork (e.g., "hello-world")
  2. Delete the skill (however it was removed — possibly via direct file deletion or a previous session). I think it was a false positive upload via ui. I have at the moment wo ghost-skills which can not be removed.
  3. Confirm that .skills/manifest.json does not contain the skill entry
  4. Confirm that .skills/skills/hello-world/ does not exist
  5. Open Settings > Skills in Cowork UI
  6. Observe: the deleted skill still appears
  7. Attempt to delete it via UI — fails or option unavailable

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

latest version (as of 2026-02-17)

Claude Code Version

latest version (as of 2026-02-17)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗