Plugin/skill discovery doesn't traverse parent directories
Resolved 💬 3 comments Opened Apr 10, 2026 by PengyuKevinChen Closed Apr 13, 2026
Description
When Claude Code is launched from a subdirectory of a git repo, plugins enabled in the repo root's .claude/settings.json are not discovered. The plugin loader appears to only check the CWD for .claude/settings.json, unlike CLAUDE.md which correctly traverses up the directory tree.
Repro
Given this repo structure:
repo-root/
├── .claude/
│ └── settings.json ← has enabledPlugins + extraKnownMarketplaces
└── deeply/nested/subdir/
└── (no .claude/settings.json)
- Launch Claude Code from
repo-root/→/skillsshows all plugin skills ✅ - Launch Claude Code from
repo-root/deeply/nested/subdir/→/skillsshows 0 plugin skills ❌ /reload-pluginsfrom the subdirectory reports0 plugins · 0 skills
Expected behavior
Plugins enabled in a parent directory's .claude/settings.json (up to the git root) should be inherited by subdirectories, consistent with how CLAUDE.md files are resolved.
Environment
- Claude Code v2.1.92
- macOS (Darwin 25.4.0)
- Custom marketplace plugin (
extraKnownMarketplacespointing to a private GitHub repo) installed_plugins.jsonhas the plugin scoped to the repo rootprojectPath
Workaround
Duplicate the .claude/settings.json (with enabledPlugins and extraKnownMarketplaces) into the subdirectory.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗