Global ~/.claude/skills/ not discovered when project .claude/skills/ exists

Resolved 💬 3 comments Opened Apr 6, 2026 by Mirksen Closed Apr 10, 2026

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

  1. Create a global skill: ~/.claude/skills/save/SKILL.md
  2. Have a project with its own .claude/skills/ containing other skills (e.g., analyze-sources, search)
  3. Start a new Claude Code session in that project
  4. The global save skill 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

View original on GitHub ↗

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