[BUG] Claude Code Desktop (Code tab) does not see CLI-installed plugins — confirmed not plugin-specific

Status Open
Reported on v2.1.283
Maintainer reply None cached
Activity 0 comments · opened Sep 26, 2026

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?

Plugins installed and enabled via the Claude Code CLI (inside WSL2) are not visible or usable inside the Desktop app's Code tab, even though both share the same ~/.claude/settings.json configuration file. This is not specific to one plugin — tested with two independently-sourced plugins (a third-party one and the official pyright-lsp), both invisible.

What Should Happen?

A plugin enabled in ~/.claude/settings.json (confirmed via claude plugin list as installed and enabled, scope user) should be available as a skill/command inside any Claude Code session — CLI or Desktop app — that reads the same config file and points at the same WSL folder.

Error Messages/Logs

No error is shown — the plugin's skills/commands simply do not appear in the available tools/skills list. No exception, no warning.

Steps to Reproduce

Install and enable a plugin via the Claude Code CLI inside a WSL2 distro, e.g. claude plugin install <plugin>@<marketplace> (confirm with claude plugin list showing Status: ✔ enabled).
Confirm ~/.claude/settings.json lists it under "enabledPlugins".
Open Claude Code Desktop app, go to the Code tab, and open a session pointed at a project folder inside that same WSL distro (e.g. \\wsl.localhost\Ubuntu\... / /mnt/c/... shared path).
Ask the assistant to check its available skills/tools for anything matching the plugin's name.
Observe: nothing from the plugin appears — confirmed both in the live session and in a freshly spawned sub-agent (which starts with no session memory, ruling out stale session state).
Fully quit and restart the Desktop application (not just the tab/session) and repeat step 4 — still nothing.
Repeat steps 1–6 with a second, unrelated plugin (official pyright-lsp@claude-plugins-official) — same result, ruling out this being specific to one plugin or marketplace.

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.283

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

WSL (Windows Subsystem for Linux)

Additional Information

claude plugin list output confirming both plugins as installed/enabled (available on request — can paste as a config file attachment).
Relevant ~/.claude/settings.json snippet:
"enabledPlugins": {
"pyright-lsp@claude-plugins-official": true,
"ruflo-core@ruflo": true
},
"extraKnownMarketplaces": {
"claude-plugins-official": {"source": {"source": "github", "repo": "anthropics/claude-plugins-official"}},
"ruflo": {"source": {"source": "github", "repo": "ruvnet/ruflo"}}
}

View original on GitHub ↗