Global ~/.claude/skills/ not discovered when project .claude/skills/ exists
Description
When a project has its own .claude/skills/ directory, skills from the global ~/.claude/skills/ directory are not loaded. The docs state that both locations should be discovered, with global taking precedence over project-level on naming conflicts.
Steps to Reproduce
- Create a global skill:
~/.claude/skills/save/SKILL.md - Have a project with its own
.claude/skills/containing other skills (e.g.,analyze-sources,search) - Start a new Claude Code session in that project
- The global
saveskill does not appear in the skill list
Expected Behavior
Per the skills docs, skills from all four locations should be discovered:
| Location | Path | Priority | |----------|------|----------| | Enterprise | Managed settings | 1 (Highest) | | Personal (Global) |~/.claude/skills/| 2 | | Project |.claude/skills/| 3 | | Plugin |<plugin>/skills/| 4 |
Global skills should load alongside project skills, not be shadowed entirely by the existence of a project-level skills directory.
Actual Behavior
Only project-level skills from .claude/skills/ are discovered. Global skills in ~/.claude/skills/ are ignored entirely (not just name-conflicting ones — all of them).
Workaround
Symlink global skills into the project: ln -s ~/.claude/skills/my-skill .claude/skills/my-skill (+ gitignore the symlink).
Environment
- Claude Code CLI (Claude Max)
- macOS (Darwin 25.4.0)
- Model: claude-opus-4-6
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗