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)
  1. Launch Claude Code from repo-root//skills shows all plugin skills ✅
  2. Launch Claude Code from repo-root/deeply/nested/subdir//skills shows 0 plugin skills ❌
  3. /reload-plugins from the subdirectory reports 0 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 (extraKnownMarketplaces pointing to a private GitHub repo)
  • installed_plugins.json has the plugin scoped to the repo root projectPath

Workaround

Duplicate the .claude/settings.json (with enabledPlugins and extraKnownMarketplaces) into the subdirectory.

View original on GitHub ↗

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