QuietLSP
Filters language-server diagnostics so Claude Code sessions do not receive unrelated workspace warnings.
The problem it solves
Several agent sessions or worktrees can share one language-server environment. Unrelated diagnostics then distract the wrong session. QuietLSP sits between Claude Code and the real server, retaining diagnostics for the session’s directory and validated workspace roots while filtering unrelated local files.
Ways to use it
Keep two worktrees from distracting each other
Start one new Claude Code session from each worktree root. A local-file diagnostic in B is filtered from A unless B is deliberately included in A’s validated workspace roots.
Keep real errors in your active project
An obvious TypeScript error inside your workspace should still reach the agent. QuietLSP scopes diagnostics; it does not lower severity, fix code or silence every warning.
Before you start
- Claude Code with its language-server feature and a working typescript-language-server or rust-analyzer.
- Node.js 22+ for the runtime generation used in the project’s CI, plus Git to clone the repository.
- A stable installation folder and permission to adjust the PATH inherited by new client sessions. No Bash or WSL is needed for the Windows Node installer.
Install and set up
Check the real server first
For TypeScript, verify that the real language server is installed and can find TypeScript. For Rust, use rust-analyzer --version instead; a rustup proxy path alone does not prove the server works.
typescript-language-server --versionInstall the owned shims
Clone into a folder you will keep. The installer records paths to this clone and the real server; it refuses to overwrite foreign shims and does not modify plugin-cache files.
git clone https://github.com/alexcodeplace/quietlsp.git cd quietlsp node install-quietlsp.mjs node install-quietlsp.mjs --statusCheck the client’s PATH order
The default directory is ~/.claude/bin on Unix or %USERPROFILE%\.claudein on Windows. It must precede the real server on the PATH seen by new Claude Code sessions. Use command -v on Unix or where.exe on Windows; do not restart active sessions.
Use it in your project
Start a new session from the right root
Launch Claude Code from the project or worktree you want to work on. Continue editing normally; the shim filters the LSP stream without a separate daily command.
Verify scope, not silence
Use disposable TypeScript files to check that an in-scope type error remains visible and an unrelated local file is filtered. Explicitly included workspace folders remain in scope. Consult the README for diagnostic-log paths.
Remove only QuietLSP when needed
Run from the kept clone. The uninstaller removes owned shims, not the real language server. Undo any PATH change you added and use a new client session.
node install-quietlsp.mjs --uninstall
What success looks like
Installer status shows owned shims, the client resolves them first, and in-scope TypeScript diagnostics still work. Rust’s full induced-diagnostic integration is a separate documented gap; do not assume the TypeScript result proves it.
Ask your agent to set it up
Copy this into a coding agent that can access your environment. The prompt asks it to check the current instructions and verify the setup before calling it done.
You can also select and copy the text directly.
What to know first
It depends on Claude Code’s launch behavior. The documented real integration coverage is strongest for TypeScript.