Skip to content

Plugin fails to load on Windows: "Path escapes plugin directory: ./ (skills)" #4

@ak-ing

Description

@ak-ing

Summary

Both plugins (compose-agent and jetpack-compose-audit) fail to load on Claude Code for Windows. After /plugin install succeeds and /reload-plugins runs, /doctor reports:

compose-agent@compose_skill        [compose-agent]:        Path escapes plugin directory: ./ (skills)
jetpack-compose-audit@compose_skill [jetpack-compose-audit]: Path escapes plugin directory: ./ (skills)

The skills never become available to the agent (don't appear in the skill list).

Environment

  • OS: Windows 11 (10.0.26100)
  • Claude Code: current (May 2026)
  • Shell: Git Bash
  • Repo commit: 14b2c2bd05583ef06fdb5ecb3eaf36a760d45e33

Root cause

Both plugin.json files declare:

"skills": "./"

This points at the plugin root so Claude Code auto-discovers SKILL.md there. On Windows, Claude Code's path normalization rejects "./" as escaping the plugin directory — the safety check fires before resolving to the
plugin root.

The official plugins-reference documents the standard skill layout as skills/<name>/SKILL.md and shows the skills field as "./custom/skills/" (a subdirectory, not the
plugin root). A bare "./" is non-standard.

The sibling marketplace aldefy/compose-skill loads fine on the same Windows install — its plugin.json omits skills and ships SKILL.md at skills/compose-expert/SKILL.md.

Suggested fix

Option 1 (recommended, official layout):

  • Move <plugin>/SKILL.md<plugin>/skills/<plugin>/SKILL.md along with references/ (and scripts/ for audit)
  • Remove "skills": "./" from both plugin.json — default discovery handles the rest

Option 2 (smaller diff):

  • Replace "skills": "./" with "skills": ["SKILL.md"] (array of file paths) — not verified

Workaround for affected users

Hot-patch the local plugin cache:

cd ~/.claude/plugins/cache/compose_skill/<plugin>/<version>
mkdir -p skills/<plugin>
cp SKILL.md skills/<plugin>/
cp -r references skills/<plugin>/      # and scripts/ for audit
# Remove the "skills": "./" line from .claude-plugin/plugin.json, fix trailing comma
# /reload-plugins

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