Stay Fresh Lsp Proxy banner
iloom-ai iloom-ai

Stay Fresh Lsp Proxy

Development community

Description

A Claude Code plugin that proxies any LSP server and filters stale/noisy diagnostics from conversation context

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

stay-fresh-lsp-proxy

Stop stale LSP diagnostics from derailing your Claude Code sessions.

**Note:** This is a temporary workaround for issues with how Claude Code handles LSP diagnostics. Once the underlying problems are fixed upstream, this plugin will no longer be necessary. Relevant issues:

The Problem

Claude Code's LSP plugins fire `textDocument/publishDiagnostics` after every edit. The diagnostics arrive from the previous state of the file — not the current one. Claude sees these stale errors, thinks the code is broken, and tries to "fix" problems that don't exist. This leads to:

  • Unnecessary reverts — Claude undoes correct work because a stale diagnostic says there's an error
  • Fix loops — Claude chases phantom type errors that would resolve on their own after the next save
  • Wasted turns — every edit triggers a round of outdated warnings that Claude has to reason about

The root cause is a timing issue: diagnostics lag behind edits, so Claude is always reacting to the *previous* state of your code.

How It Works

stay-fresh-lsp-proxy sits between Claude Code and your LSP server. It forwards everything normally (go-to-definition, hover, references, completions) but intercepts `textDocument/publishDiagnostics` notifications and filters them before they reach Claude. No stale diagnostics, no confused AI.

Quick Install

npx stay-fresh-lsp-proxy setup --typescript --python --rust

Pick only the languages you need:

npx stay-fresh-lsp-proxy setup --typescript