Directory-source marketplace: inline plugin load joins absolute source.path onto plugin root → "Path not found" with doubled path

Open 💬 0 comments Opened Jun 10, 2026 by roihu

Environment: Claude Code 2.1.170 (native, darwin-arm64)

Setup: I have a local plugin developed in a repo that is also registered as a directory-source marketplace:

claude plugin marketplace add /Users/me/my-plugin-repo   # repo contains .claude-plugin/marketplace.json, plugin source "./"
claude plugin install my-plugin@my-local-marketplace      # installs fine, scope: user

Bug: When running Claude Code with the cwd inside that same repo, /reload-plugins reports 1 error during load, and /doctor shows:

✘ Plugin errors
  └ inline[0]: Path not found:
    /Users/me/my-plugin-repo/Users/me/my-plugin-repo (commands)

The marketplace's absolute source.path is being concatenated onto the plugin root instead of resolved — producing <repo>/<absolute-repo-path>/commands.

Impact: Cosmetic but confusing — the versioned cache install (~/.claude/plugins/cache/...) loads perfectly (all agents/commands/skills/hooks work), so this appears to be a redundant second "inline" load pass failing on the bad join. The persistent error makes users hunt for a real misconfiguration that doesn't exist.

Expected: Either resolve the absolute path correctly in the inline pass, or skip the inline pass when the plugin is already loaded from the cache install.

Already ruled out: claude plugin validate <repo> passes; installed_plugins.json, known_marketplaces.json, and user/project settings contain no duplicate or malformed entries; the plugin functions fully despite the error.

View original on GitHub ↗