claude-code - 💡(How to fix) Fix [FEATURE] Decouple LSP diagnostic auto-push from the LSP tool (keep navigation, drop publishDiagnostics)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Request a way to disable automatic diagnostic reporting from an LSP plugin while keeping the on-demand LSP tool (goToDefinition, findReferences, hover, documentSymbol, callHierarchy, etc.).

Root Cause

Request a way to disable automatic diagnostic reporting from an LSP plugin while keeping the on-demand LSP tool (goToDefinition, findReferences, hover, documentSymbol, callHierarchy, etc.).

RAW_BUFFERClick to expand / collapse

Summary

Request a way to disable automatic diagnostic reporting from an LSP plugin while keeping the on-demand LSP tool (goToDefinition, findReferences, hover, documentSymbol, callHierarchy, etc.).

Motivation

Today the two are bundled: registering an LSP server via a plugin (lspServers: { command, args, extensionToLanguage }) enables both:

  1. on-demand navigation via the LSP tool, and
  2. automatic publishDiagnostics pushed into the agent's context after edits.

The LSP tool itself has no diagnostics operation — so diagnostics arrive only through the automatic push. There is no config field to keep (1) without (2). The only lever is disabling the whole plugin, which also loses navigation.

The auto-push can flood the context window (and, in large workspaces, is often stale — see companion issue), while the navigation tools remain valuable.

Requested

A toggle to suppress automatic diagnostic injection while keeping the LSP server

  • navigation tools, e.g. one of:
  • lspServers.<name>.diagnostics: false, or
  • a settings.json key (diagnosticsEnabled: false / lsp.diagnostics: "off"), or
  • an env var.

Granularity (off / errors-only / on-demand-only) would be a bonus.

Not a duplicate of prior (declined) requests

This is deliberately narrower than what was closed before:

  • #15101 (CLOSED / not planned) asked to disable LSP entirely — this keeps the LSP server and all navigation tools, only dropping the diagnostic push.
  • #26634 (CLOSED / not planned) asked to filter diagnostics by severity — this is orthogonal; the ask is to decouple the push channel, not tune it.
  • #55019 (OPEN) shows the only current lever is --disallowedTools LSP, which removes the LSP tool wholesale — the opposite of what's wanted here.

The distinguishing motivation is context-window cost: the auto-push consumes tokens every edit, while navigation (goToDefinition/findReferences/hover/etc.) remains valuable and cheap (pull-based, on demand).

Environment

  • Plugin: typescript-lsp@claude-plugins-official v1.0.0.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [FEATURE] Decouple LSP diagnostic auto-push from the LSP tool (keep navigation, drop publishDiagnostics)