[DOCS] Discover-plugins "Not used recently" group does not note the v2.1.203 fix for LSP-only plugins being incorrectly flagged for disuse

Open 💬 0 comments Opened Jul 7, 2026 by coygeek

Documentation Type

Incorrect/outdated documentation

Documentation Location

https://code.claude.com/docs/en/discover-plugins#manage-installed-plugins

Section/Topic

The "Manage installed plugins" section, specifically the two consecutive paragraphs that describe the v2.1.187 introduction of the "Not used recently" group and the "Last used" detail-view line, and the exclusion list that says plugins contributing an LSP server, theme, output style, monitor, or workflow are never listed as unused.

Current Documentation

The page currently describes the exclusion in absolute terms, with the original v2.1.187 introduction note and no v2.1.203 follow-up:

In Claude Code v2.1.187 and later, the Installed tab adds a Not used recently group for marketplace plugins you installed yourself but haven't invoked in at least two weeks, over a span of at least 10 sessions, and the detail view shows a Last used line for each plugin. Use these to find plugins that you no longer use but that are still adding startup and context cost, then disable or uninstall them. Plugins that your organization manages or that you load with --plugin-dir are never listed as unused, and plugins that contribute an LSP server, theme, output style, monitor, or workflow are also never listed, since those deliver value without an invocation to track. The group and the Last used line are both hidden when your organization restricts marketplaces with strictKnownMarketplaces.

What's Wrong or Missing?

A. The "never listed" claim was inaccurate until v2.1.203

The v2.1.203 changelog states:

Fixed LSP-only plugins being incorrectly flagged for disuse when their language servers deliver diagnostics or answer navigation requests

Before v2.1.203, an LSP-only plugin (a plugin such as typescript-lsp that contributes only a language server) could show up under the "Not used recently" group on the Installed tab even though the bundled language server was actively delivering diagnostics after every edit or answering navigation requests, because Claude Code was not treating language server activity as plugin activity. The page describes the LSP-server exclusion in absolute terms ("also never listed") with no version note, so a user reading the docs in 2026-2027 cannot tell that the documented behavior was broken for the entire v2.1.187–v2.1.202 range and was repaired in v2.1.203. Other v2.1-era fixes on the same page use inline {/* min-version: ... */} notes (for example the v2.1.196 fix for the doc-discovery bug near the LSP installer Troubleshooting bullet at the bottom of the page).

B. The exclusion's rationale no longer matches the implementation

The current rationale says those plugins "deliver value without an invocation to track". The v2.1.203 fix specifically defines the plugin-activity signals Claude Code now recognizes for LSP-only plugins: language-server diagnostics and navigation requests. After the fix, an LSP-only plugin is excluded precisely because Claude Code now treats language server diagnostics and navigation as invocations of the contributing plugin. The "without an invocation to track" wording is misleading post-fix because the language server's diagnostics and navigation work is the invocation that prevents the plugin from being flagged.

C. Affected plugins are common, so users will hit this confusion

The official marketplace lists typescript-lsp, pyright-lsp, rust-analyzer-lsp, clangd-lsp, csharp-lsp, gopls-lsp, jdtls-lsp, kotlin-lsp, lua-lsp, php-lsp, and swift-lsp as the bundle of LSP code-intelligence plugins. Any user running one of these on a long-lived project during the v2.1.187–v2.1.202 window could open /plugin, see their LSP plugin under "Not used recently", and conclude from the docs that the page was wrong — when in fact the docs described the intended behavior and the implementation had the bug fixed in v2.1.203.

Suggested Improvement

Replace the current absolute "never listed" wording with a version-anchored description that names the v2.1.203 fix and the specific signals that keep an LSP-only plugin out of the "Not used recently" group.

Before:

In Claude Code v2.1.187 and later, the Installed tab adds a Not used recently group for marketplace plugins you installed yourself but haven't invoked in at least two weeks, over a span of at least 10 sessions, and the detail view shows a Last used line for each plugin. Use these to find plugins that you no longer use but that are still adding startup and context cost, then disable or uninstall them. Plugins that your organization manages or that you load with --plugin-dir are never listed as unused, and plugins that contribute an LSP server, theme, output style, monitor, or workflow are also never listed, since those deliver value without an invocation to track. The group and the Last used line are both hidden when your organization restricts marketplaces with strictKnownMarketplaces.

After:

In Claude Code v2.1.187 and later, the Installed tab adds a Not used recently group for marketplace plugins you installed yourself but haven't invoked in at least two weeks, over a span of at least 10 sessions, and the detail view shows a Last used line for each plugin. Use these to find plugins that you no longer use but that are still adding startup and context cost, then disable or uninstall them. Plugins that your organization manages or that you load with --plugin-dir are never listed as unused, and plugins that contribute an LSP server, theme, output style, monitor, or workflow are also never listed, since those deliver value without an explicit invocation to track. For an LSP-only plugin, Claude Code treats diagnostics the language server pushes after an edit and navigation requests it answers as plugin activity, so the plugin is excluded from "Not used recently" as long as the language server is running. This activity-based exclusion for LSP-only plugins was repaired in v2.1.203; earlier versions could incorrectly flag the plugin for disuse despite active language-server traffic. The group and the Last used line are both hidden when your organization restricts marketplaces with strictKnownMarketplaces.

If the team prefers a tighter change, the minimum diff is to add one inline note inside the second paragraph:

…and plugins that contribute an LSP server, theme, output style, monitor, or workflow are also never listed, since those deliver value without an explicit invocation to track. {/ min-version: 2.1.203 /}Before v2.1.203, LSP-only plugins could still appear under "Not used recently" even while their language server was active — language-server diagnostics and navigation requests now count toward the plugin's activity.

Impact

Medium - Makes feature difficult to understand

Additional Context

The v2.1.203 entry is behavior-only: it changes which signals Claude Code counts as plugin activity. The discover-plugins page already describes the intended outcome (LSP plugins should not appear under "Not used recently"), so the page is not "out of date" in the sense of contradicting current behavior — but the absolute wording "since those deliver value without an invocation to track" misdescribes the post-fix mechanism, and the page lacks a version note that distinguishes the v2.1.187 introduction from the v2.1.203 LSP-only repair. Other fixes on this page anchor the introduction year with {/* min-version: 2.1.187 */} and similar text; the v2.1.203 repair warrants the same treatment.

Affected Pages:
| Page | Context |
|------|---------|
| https://code.claude.com/docs/en/discover-plugins | "Manage installed plugins" section, the LSP/theme/output-style/monitor/workflow exclusion sentence and the surrounding v2.1.187 paragraph |

Total scope: 1 page affected.

View original on GitHub ↗