[BUG] Local-scoped plugin fails to load on Windows with `plugin-cache-miss` due to case-sensitive `projectPath` comparison

Open 💬 1 comment Opened Jul 6, 2026 by jeremyfiel

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

A local-scoped marketplace plugin that is installed correctly and whose cache exists on disk still fails to load in the VS Code extension on Windows with plugin-cache-miss.

The issue appears when the stored projectPath in installed_plugins.json uses a different drive-letter case than the extension's launch cwd (for example, C: vs c:). The plugin record is never matched because the lookup uses a strict, case-sensitive comparison, so the plugin cache is treated as missing even though it exists and validates successfully.

This makes the plugin's skills, commands, and MCP servers unavailable in the extension, while the CLI still reports the plugin as installed and valid.

What Should Happen?

Local-scope plugin resolution should match the current project against the installed plugin record using a case-insensitive, normalized path comparison on Windows.

A plugin whose cache directory exists and validates should load normally regardless of drive-letter case differences between the stored projectPath and the extension's current working directory.

Error Messages/Logs

[DEBUG] Loaded 1 installed plugins from C:\Users\<user>\.claude\plugins\installed_plugins.json
[DEBUG] Plugin not available for MCP: my-plugin@example-marketplace - error type: plugin-cache-miss
[DEBUG] Plugin loading errors: Plugin "my-plugin" not cached at C:\Users\<user>\.claude\plugins\cache\example-marketplace\my-plugin\4.35.0 — run /plugin to refresh

Steps to Reproduce

  1. On Windows, install a marketplace plugin at local scope into a project so that installed_plugins.json stores projectPath with an uppercase drive letter such as C:\Users\<user>\repos\my-project.
  2. Launch VS Code so that the extension host starts with a lowercase drive letter in its working directory, such as c:\Users\<user>\repos\my-project.
  3. Open Claude Code in that workspace.
  4. Observe that the extension logs plugin-cache-miss and the plugin never loads, even though the plugin is present on disk and the CLI reports it as installed and enabled.

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.179 confirmed by below comment.

Claude Code Version

2.1.201 (CLI and bundled extension binary)

Platform

AWS Bedrock

Operating System

Windows

Terminal/Shell

Other

Additional Information

related #74612 but with a different scope. Likely the same issue with path normalization

  • Extension: anthropic.claude-code-2.1.201-win32-x64
  • Plugin: my-plugin@example-marketplace
  • Scope: local
  • Plugin version: 4.35.0
  • The CLI (claude plugin list / claude plugin validate) reports the plugin as installed and valid, while the VS Code extension reports plugin-cache-miss.
  • Workaround confirmed: editing installed_plugins.json to change the projectPath drive letter to match the extension's launch case resolves the issue until the next install/update/enable operation.
  • The issue reproduces with any local-scoped plugin, not just this one example.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗