[BUG] Cowork does not load personal/project skills from .claude/skills/ on Windows (Code tab + CLI work fine)
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?
Personal and project-level skills (.claude/skills/ and ~/.claude/skills/) are not recognized by the Cowork tab in Claude Desktop on Windows, even though the same skill loads and works correctly via the Claude Code CLI and the desktop app's Code tab.
This appears related to #26998, #26254, and #26131, but adds new diagnostic detail: it isolates the failure specifically to the Cowork sandbox/mount layer, not to skill content, frontmatter, or file placement.
What Should Happen?
Cowork should load skills from the same .claude/skills/ (project) and ~/.claude/skills/ (personal) locations that the CLI and Code tab use, consistent with the documented Agent Skills behavior.
Error Messages/Logs
No explicit error message or exception is shown. The failure is silent:
- No entry in the UI indicating the skill was found and rejected.
- No console/log error in the Cowork session pointing to a missing mount or failed load.
- The only indirect evidence of the failure is behavioral: the skill's trigger phrase is never matched, and Claude's response shows no awareness the skill exists, even though the same skill is confirmed loaded (via `claude --debug`) in the CLI and Code tab sessions for the identical project folder.
Relevant local file (not an error log, but the closest thing to diagnostic evidence found):
%AppData%\Roaming\Claude\local-agent-mode-sessions\skills-plugin\<session-id>\<id>\manifest.json
This manifest holds Cowork's own per-skill `updatedAt` timestamp, which does not update when the skill's files are edited directly on disk.
Steps to Reproduce
- Create a minimal skill with valid YAML frontmatter (
name+description) at<project>\.claude\skills\test-skill\SKILL.md. - Run
claude --debugfrom that project directory and send a message matching the skill's description.
- Debug log confirms:
Loading skills from: managed=..., user=..., project=[<path>\.claude\skills]andLoaded N unique skills (..., project: 1, ...). - Skill triggers correctly.
- Open the same project folder in Claude Desktop's Code tab.
- Same debug log signature (
project: 1) appears. - Skill triggers correctly once invoked directly.
- Open the same project folder in the Cowork tab.
- The skill is never recognized. No error, no fallback message — it's simply not considered, even when explicitly invoked by name or by its exact trigger phrase.
Claude Model
Not sure / Multiple models
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.187
Platform
Other
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Related Issues:
- #26998
- #26254
- #26131
- #24859
Additional Context:
This issue isolates the failure specifically to the Cowork tab's skill-loading mechanism, as opposed to skill content/frontmatter validity or file placement — both of which were verified correct via the CLI and Code tab successfully loading and triggering the identical skill from the identical project folder.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗