Skip to content

plugin.json: "skills": ["./"] rejected by Claude Code loader (Path escapes plugin directory) #49

Description

@aidansommers

Problem

Installing visual-explainer (v0.7.1) into Claude Code produces a plugin-load error:

Plugin (visual-explainer @ visual-explainer@visual-explainer-marketplace):
  Path escapes plugin directory: ./ (skills)

The slash commands under commands/ still load fine, but the root SKILL.md (which carries the proactive trigger description) is dropped.

Cause

.claude-plugin/plugin.json declares:

"skills": ["./"]

Claude Code's plugin loader resolves this to the plugin root and rejects it as escaping the plugin directory — skills entries appear to need to point at a subdirectory, not the plugin root.

Reproduction

  1. /plugin marketplace add nicobailon/visual-explainer
  2. /plugin → install visual-explainer
  3. /reload-plugins → reports 1 error during load
  4. /doctor → shows the message above

Tested on Claude Code with plugin v0.7.1.

Suggested fix

Move SKILL.md into a subdirectory (e.g. skills/visual-explainer/SKILL.md) and update the manifest to "skills": ["skills"] (or list the subdirectory directly). That keeps the proactive SKILL.md loading without tripping the path-escape check.

Workaround

Removing the "skills": ["./"] line from plugin.json clears the error. The commands/* slash commands continue to work; only the root SKILL.md proactive trigger is no longer registered.

Happy to send a PR if a particular layout is preferred.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions