Plugin skills: Claude doesn't know installed plugin path or version, wastes time searching

Resolved 💬 3 comments Opened Dec 30, 2025 by kwiggen Closed Jan 2, 2026

Summary

When a plugin skill is invoked (e.g., kw-plugin:release-preview), Claude doesn't know where the plugin code is installed or which version is active. This causes two problems:

  1. Claude searches the filesystem instead of using the known install location
  2. Claude may use the wrong version even when the correct version is installed

Current Behavior

When I run /kw-plugin:release-preview, Claude:

  1. Tries a guessed path that doesn't exist:

``
python /Users/kwiggen/Documents/source/project-pegasus/skills/release-reports/scripts/release_reports.py
# Error: No such file or directory
``

  1. Searches for the file:

``bash
find ~/.claude -name "*release*" -o -name "kw-plugin*"
``

  1. Finds multiple cached versions and picks one arbitrarily (chose 0.3.8 when 0.4.0 was installed):

``
~/.claude/plugins/cache/kw-marketplace/kw-plugin/0.3.7/...
~/.claude/plugins/cache/kw-marketplace/kw-plugin/0.3.8/...
~/.claude/plugins/cache/kw-marketplace/kw-plugin/0.4.0/...
``

  1. Runs the wrong version, missing features in the installed version

Expected Behavior

Claude should read ~/.claude/plugins/installed_plugins.json which contains the exact install path and version:

{
  "version": 2,
  "plugins": {
    "kw-plugin@kw-marketplace": [
      {
        "scope": "user",
        "installPath": "/Users/kwiggen/.claude/plugins/cache/kw-marketplace/kw-plugin/0.4.0",
        "version": "0.4.0",
        "installedAt": "2025-12-18T19:21:27.666Z",
        "lastUpdated": "2025-12-30T01:04:49.036Z",
        "isLocal": true
      }
    ]
  }
}

When a skill like kw-plugin:release-preview is invoked, Claude should:

  1. Parse the plugin name from the skill (kw-plugin@kw-marketplace)
  2. Read ~/.claude/plugins/installed_plugins.json
  3. Use the installPath directly without searching

Impact

  • Wasted API costs: Multiple tool calls to search filesystem
  • Wasted time: User waits for unnecessary searches
  • Wrong behavior: Running outdated plugin version misses bug fixes and features
  • User confusion: User sees v0.4.0 in /plugins but Claude runs v0.3.8

Suggested Fix

Either:

  1. Pass the resolved installPath to Claude in the skill context/system prompt
  2. Document that Claude should read installed_plugins.json when executing plugin skills
  3. Add a {pluginPath} variable that skill prompts can reference

Environment

  • Claude Code CLI
  • macOS
  • Plugin: kw-plugin from kw-marketplace

View original on GitHub ↗

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