Plugins issues on Windows
Issues the maintainers labelled both platform:windows and area:plugins.
352 issues · 119 open · 233 resolved (66%) · first seen Jan 30, 2026
Is this getting better or worse?
This class of problem is still growing. 155 new reports in the last 90 days vs 121 in the 90 before — +28%. The open backlog peaked at 119 in 2026-10 and sits at 119 today.
Derived by counting each matching issue from its creation date until it closed. First-party
computation over the anthropics/claude-code tracker — the trend is not published
anywhere upstream.
Which builds report this
227 of these reports name the Claude Code build they were running, spanning 105 releases. Heaviest reporters:
- Claude Code v2.1.295
- Claude Code v2.1.296
- Claude Code v2.1.287
- Claude Code v2.1.286
- Claude Code v2.1.227
- Claude Code v2.1.92
- Claude Code v2.1.81
- Claude Code v2.1.278
Report volume, not a defect count: an issue can mention a build without that build having caused the failure. Versions come from the version string in the bug-report template, matched against real published tags.
Do these get fixed?
Median time to close is 32 days across 233 closures. Of the 233 closures with a recorded reason, 22% were closed as completed and 181 as not-planned or duplicate. The most recent completed fix landed in 2026-10.
Workarounds reported by the community
143 of these issues post a workaround someone says worked. The highest-engagement ones:
- Desktop app draws a mod's AbovePrompt band in only one chat at a time
- …e to the mod, so its footer has none. I use the status line as a workaround for a per-pane usage readout. It also needs in the settings block to reload on save in desktop sessions.
Found in the thread of #99265 · resolved - [BUG] userConfig prompt not shown during plugin install — substitution fails with "Missing required user configuration value
- …e values at all - Setting the value manually in under works as a workaround - The error message itself says "This should have been validated before variable substitution" — suggesting this is a known code path that was i…
Found in the description of #39827 · resolved - Desktop app redraws every mod render site on any state change, which breaks Buttons and restarts SVG animations
- …same element 250 ms apart, a duplicate rather than a miss. Workarounds that hold here: open panes from a command or press with , never from ; keep writes out of the click window; swallow a repeat press on the same withi…
Found in the thread of #99211 · still open - [BUG] Local-scoped plugin fails to load on Windows with `plugin-cache-miss` due to case-sensitive `projectPath` comparison
- …nstalled and valid, while the VS Code extension reports . - Workaround confirmed: editing to change the drive letter to match the extension's launch case resolves the issue until the next install/update/enable operation.…
Found in the description of #74912 · still open - [BUG] Desktop: first click on a plugin pane button only moves focus; the button needs a second click
- …pens. 5. Click it again: is raised and runs. A plugin can't work around it: is for a click, Tab and arrows alike, so pressing a button from would also fire it on Tab (dangerous for a destructive button). Claude Model No…
Found in the description of #99395 · still open
Excerpts are quoted from the linked issue so you can judge relevance before opening it. Threads that only ask for a workaround, or report that there is none, are excluded. These are community suggestions, not official guidance from Anthropic — read the full thread before applying one.
Matching issues 1–100
Ranked by community engagement (reactions weighted over comments). Listing the top 300 of 352 matches; the statistics above cover all 352.
- Desktop app draws a mod's AbovePrompt band in only one chat at a time
- remoteMarketplaceClient rejects all third-party plugin sources: 'External plugin sources are not yet supported'
- [BUG] userConfig prompt not shown during plugin install — substitution fails with "Missing required user configuration value
- Desktop app redraws every mod render site on any state change, which breaks Buttons and restarts SVG animations
- [BUG] Local-scoped plugin fails to load on Windows with `plugin-cache-miss` due to case-sensitive `projectPath` comparison
- [BUG] Desktop: first click on a plugin pane button only moves focus; the button needs a second click
- LSP tool: uv_spawn cannot find typescript-language-server despite being in PATH (Windows)
- [BUG] Skills/commands with `disable-model-invocation: true` are hidden from agent, blocking user-initiated slash invocation
- MCP server 'claude_design' (frontend-design plugin): 404 Streamable HTTP error
- Cowork remote plugins: no path to force-update stale marketplace cache (Windows)
- [BUG] Plugin management is broken in several connected ways (scope flag, UI writes to wrong scope, silent load failures, duplicate entries)
- pyright-lsp plugin fails with ENOENT uv_spawn on Windows
- LSP plugins fail on Windows: spawn ENOENT for npm global binaries
- [BUG] Windows: plugin-shipped MCP servers using bare `npx` fail with `spawn ENOENT` (LSP fix from #17312 missed the MCP spawn path)
- [BUG] Plugin cache creates duplicate directories on every session when ~/.claude is a git repo
- [BUG] Project-scoped plugin installs (--scope project) load in CLI sessions but are silently ignored by the VS Code extension
- [Windows] --dangerously-load-development-channels does not enable inbound channel notifications
- --channels ignored — Discord plugin channel notifications not working (v2.1.81)
- [BUG] Account-synced plugins cannot be removed: they reappear after removal from the desktop app AND claude.ai, and are invisible to the CLI
- [BUG] Windows: security-guidance's sg-python.sh launches `py -3` twice per hook; each launch of the Python Install Manager alias starts an AppX update that leaks ~1.6 MB in AppXSvc, exhausting system commit (21.8 GB in 12 h)
- [BUG] security-guidance plugin: `_glob_match` docstring says `**` matches any depth, but fnmatch implementation silently excludes top-level files from security rules
- [BUG] LSP plugin (csharp-ls) spawn fails with "unsafe location (current directory)" despite valid PATH resolution, then permanently disconnects the LSP MCP server
- [BUG] Telegram channel plugin tools disappear mid-session — Tool not found
- [BUG] Cowork plugin upload: server validation_errors[] swallowed — UI shows only generic "Plugin validation failed."
- Bug Report: Telegram Plugin Inbound Messages Broken on Windows
- Discord channel plugin: inbound notifications silently dropped on CC 2.1.278 (typing fires, no session turn) — resurfacing #86566
- [Bug] pdf-viewer plugin: local PDFs always rejected — MCP roots never populated + Windows file:// path mangling (C:\C:\...)
- [BUG] Windows: plugin lspServers bare command (e.g. pwsh, pyright-langserver) refused pre-spawn with 'not found or is in an unsafe location (current directory)' -- breaks official pyright-lsp plugin
- Three intertwined bugs in the Remote/Worktree feature: MCP push, gh ENOENT, plugin-setup hang
- [BUG] telegram bot not replying.
- [FEATURE] Plugin UI API: add text direction (dir / textAlign) to Box, Text and Markdown so mods can render RTL (Hebrew/Arabic)
- [BUG] security_reminder_hook.py loop — repeated "no such file" notification with no user input
- /plugin install fails on Windows with EBUSY rename errors (Defender real-time scan race)
- [BUG] Cowork slash commands return "Unknown skill" — affects custom org plugin skills AND built-in /feedback
- [BUG] [Cowork / Plugins] hooks.json silencieusement ignoré en mode Cowork
- plugin install fails on Windows when git is installed under user home directory (false "git not on PATH" error)
- [BUG] `marketplace add` silently overwrites existing marketplace when two repos declare the same marketplace name
- Hook runner doesn't properly quote ${CLAUDE_PLUGIN_ROOT} on Windows paths with spaces
- Telegram channel MCP server dies shortly after startup on Windows
- [FEATURE] Mods: a pane element that renders a local web page (WebView), no server needed
- [BUG] security-guidance never runs its model reviews for subscription sign-ins (re-report of #77450 and #87145)
- [BUG] Shell snapshot silently truncated at ~7.2KB on Windows (Desktop) - every Bash call fails with unexpected EOF
- Plugin safety: third-party plugins can silently disable auto_memory via env vars
- Slash-command menu returns zero matches when query contains `.` (regression 2.1.160 → 2.1.161)
- Plugin skills from custom/private marketplaces appear in slash menu but fail with "Unknown skill" on invocation
- Stale officialMarketplaceAutoInstallFailReason causes permanent "Failed to install Anthropic marketplace" banner when marketplace is already installed
- [BUG] ralph-loop Stop hook silently fails on Windows after Claude Code 2.1.126 (worked on 2.1.119)
- [BUG] Plugins fail to load after VSCode restart on Windows — marketplace directory wiped on each startup
- [BUG] --plugin-dir: Marketplace 'inline' not found in configuration
- [BUG] MCP servers, plugins, and credentials not persisting between sessions (Windows)
- [BUG] Plugin `bin/` entries are added to PATH with no existence check — 74% of PATH becomes dead dirs, pushing the inlined shell snapshot past the Windows 8191-char limit
- [BUG] hookify rule files containing non-ASCII are silently skipped on Windows (open() without encoding)
- [BUG] Orphaned temp_<epoch-ms> folders accumulate under ~/.claude/plugins/marketplaces
- Skill with unquoted ": " in SKILL.md description is silently dropped from the skills list / slash menu (CLI, no diagnostic)
- Agent mode serves a stale per-session plugin snapshot after a plugin update (removed skills remain listed/invocable)
- Desktop: "Add from a repository" (custom plugin marketplace) gone from "+" — now opens Directory only (1.15962.1)
- [plugin: ralph-loop] stop-hook.sh #!/bin/bash shebang fails on Windows + Git Bash
- Plugin hooks: CLAUDE_PLUGIN_ROOT not injected into hook subprocess environment
- [FEATURE] Desktop App: Route incoming Telegram plugin messages to active session (bidirectional support)
- Desktop app generates a new plugin hash dir on every remote SSH connection — plugins re-upload each time and accumulate indefinitely
- [BUG] Plugin hooks.json entries with shell-spawning command silently skipped on Windows; node-spawning entries trigger normally
- --channels flag never matches plugin server identifier — channel notifications always skipped
- Windows: Marketplace update permanently wedged by stale .bak directory (EPERM rename loop)
- Windows: claude mcp add breaks /c flag, Playwright MCP plugin fails — working workaround
- Telegram channel: notifications/claude/channel not delivered to CLI session on Windows
- --channels Discord plugin: duplicate replies per inbound message (multi-cycle re-processing)
- [BUG] Stop hook fails with EEXIST when plugin data directory already exists
- Channel plugin MCP server silently fails to start on restart
- Telegram plugin: inbound MCP notifications not reaching conversation (outbound works)
- [BUG] notifications/claude/channel MCP notifications silently dropped — channel plugins (Telegram, fakechat) non-functional
- [BUG] Channels are not currently available
- [BUG] Plugin skills not directly loaded when invoked via slash command — spawns unnecessary Explore agents
- [BUG] Plugin cache creates infinite recursive directories when marketplace.json and plugin.json coexist in same repo
- LSP: documentSymbol / hover / goToDefinition always return empty; workspaceSymbol works
- typescript-lsp plugin: semantic operations fail in Yarn 1 monorepos with hoisted dependencies
- ralph-loop plugin: hooks.json has invalid schema (causes Stop hook JSON validation error)
- [BUG] Cowork (Windows): a typed plugin slash command only executes when the picker resolves it into the blue chip; identical text submitted unselected is sent to the model as plain text
- Plugin skills with disable-model-invocation: true are hidden from the invocable skills list
- security-guidance plugin hook fails with ENOENT in local-agent-mode-sessions staging, causing infinite retry/notification loop
- [BUG] LSP tool cannot resolve any language server on Windows (v2.1.208) - 'not found or is in an unsafe location' even for real .exe servers on static PATH
- Plugin hooks.json entries using exec form (command + args array) are silently ignored
- [BUG] /plugin install fails on Windows - missing backslash causes path to resolve .claude as part of username
- [BUG] Plugins Installed UI nests only the first bundled MCP server (still reproducible in 2.1.175)
- notifications/claude/channel MCP notifications not injected as <channel> blocks (Telegram plugin)
- [BUG] claude plugins --json fails with "unknown option '--json'" in Manage Plugins panel (v2.1.145)
- Skills from marketplace plugins not activated after installation (missing copy to ~/.claude/skills/)
- [BUG] /plugin lists user-scope plugins under "Project" tab, blocks disable without --scope user
- Plugin slash-command autocomplete drops namespace prefix on accept
- [BUG] [Windows] Plugin install fails with EPERM during rename to versioned cache slot — Defender holds handles on freshly-extracted files
- Third-party LSP plugins: `.lsp.json` at plugin root works on v2.1.119; marketplace.json `lspServers` alone is silently ignored
- [BUG] [Windows] Plugin marketplace install fails with EPERM on rename — path resolution collapses username + .claude into single token
- Plugin-scoped PostToolUse hooks silently skip in Claude Desktop / Agent Mode
- [Bug] Web page scraping fails to retrieve data from app pages
- Plugin install uses SSH clone even when HTTPS URL is specified
- Channels: messages not delivered to session during idle REPL
- [Bug] Plugin agent loader silently filters agents below undocumented system prompt length threshold
- --channels plugin receives Telegram messages but notifications never reach the conversation
- [Bug] --plugin-dir not loading plugins correctly
- [BUG] Plugin installed "locally" leaks to unrelated projects after toggling in a second project
- [Bug] --channels flag ignored despite channelsEnabled: true in remote settings