Multi-root skill discovery and duplicated skill directories
Parent: Mac local LLMs: Agent clients, context and compaction · Published reference · snapshot 2026-10-05
↓ Facts as markdownall context files
Claude Code same-name precedence: enterprise over personal over project; any of these replaces a bundled command (not its aliases); a skill beats a .claude/commands file; a project-root skill and a nested skill both load; a plugin skill and any other both load because plugins are namespaced plugi...
These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
Facts
- Claude Code same-name precedence: enterprise over personal over project; any of these replaces a bundled command (not its aliases); a skill beats a .claude/commands file; a project-root skill and a nested skill both load; a plugin skill and any other both load because plugins are namespaced plugin-name:skill-name. [source]
- Nested skills with a clashing name appear as a directory-qualified entry such as /apps/web:deploy, and the listing tells Claude to invoke the one whose directory holds the files in use. [source]
- Claude Code loads .claude/skills from the start directory and every parent up to the repository root; --add-dir or /add-dir loads that directory's .claude/skills, commands and agents. [source]
- Claude Code watches skill directories and picks up changes in the session, except in bare mode. [source]
- Before v2.1.246, /cd did not add the new directory's project skills; from v2.1.246 it does. [source]
- Issue 43003 (2026-04-03, closed not planned): personal skills copied to ~/.claude/skills did not suppress the anthropic-skills: copies, so both appeared in the list. This matches the plugin-namespaced both-load rule, so duplicate listing cost across a plugin copy and a local copy is by design. [source]
- Because plugin skills and qualified nested skills never dedupe, a sync tool that copies a library into a plugin and a personal root pays the listing twice in Claude Code, unlike OpenCode where unique names are required. [inferred] [source]
- Whether OpenCode drops or errors on a duplicate name across roots; the measured 441 distinct names suggests it dedupes but the rule is undocumented. [source]
- Claude Code resolves same-name skills as enterprise over personal over project, and a plugin skill and a non-plugin skill both load [source]
- A project-root skill and a nested skill of the same name both load, and the nested one is listed as a directory-qualified name [source]
- Claude Code loads .claude/skills from the start directory up to the repository root and from --add-dir directories [source]
- Issue 43003 reported local personal skills not suppressing anthropic-skills: duplicates in the list; closed as not planned [source]
- A skill name or directory clash across roots is the cause of duplicate listing cost in Claude Code; keeping one small root for local sessions avoids it [source]
Children
- No children recorded.