Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
npx claudepluginhub tonywu20/my-claude-marketplace --plugin wait-for-lspLSP proxy that filters stale textDocument/publishDiagnostics between Claude Code and any LSP server, preventing fix loops caused by outdated diagnostics.
Claude Code ←→ wait-for-lsp ←→ rust-analyzer (or any LSP server)
The proxy sits between Claude Code and the LSP server, forwarding all messages transparently except publishDiagnostics. Diagnostics are filtered through three layers:
STAY_FRESH_DROP_DIAGNOSTICS=true) — drops all diagnostics (default for safety)STAY_FRESH_MIN_SEVERITY=1) — keeps only diagnostics at or below the thresholdSTAY_FRESH_STALE_FILTER=true) — tracks didOpen/didChange versions per URI; drops publishDiagnostics older than the tracked versionSet these env vars to pass all diagnostics but drop stale ones:
STAY_FRESH_DROP_DIAGNOSTICS=false
STAY_FRESH_MIN_SEVERITY=4
STAY_FRESH_STALE_FILTER=true # default
This means: if you edit a file and rust-analyzer starts re-analyzing, intermediate/incremental diagnostics from the previous state are dropped. You only see the final, correct diagnostic state after re-analysis completes.
Download the latest binary from GitHub Releases.
Extract and place wait-for-lsp somewhere on your $PATH.
cargo install --git https://github.com/TonyWu20/wait-for-lsp
Install the plugin from the my-claude-marketplace
to register wait-for-lsp as the LSP proxy for Rust, Python, and Fortran.
Then disable the official language server plugins to avoid conflicts:
claude plugin disable rust-analyzer-lsp@claude-plugins-official --scope user
claude plugin disable pyright-lsp@claude-plugins-official --scope user
| Variable | Default | Description |
|---|---|---|
STAY_FRESH_DROP_DIAGNOSTICS | true | Drop all diagnostics (kill switch) |
STAY_FRESH_MIN_SEVERITY | 1 | Max severity to keep (1=Error..4=Hint) |
STAY_FRESH_STALE_FILTER | true | Version-based stale detection |
STAY_FRESH_LOG | false | Debug logging to stderr |
Share bugs, ideas, or general feedback.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Rust language server
YAML language server
Bash language server
Validation and quality enforcement for Tailwind CSS projects with comprehensive utility-first CSS patterns and best practices.
Advanced Angular skills for dependency injection, RxJS, and signals.
Kotlin language server
A comprehensive Fortran development pipeline for Claude Code — orchestrates planning, code review, fix execution, and implementation through specialized agents and skills
Routes Claude Code hook events to a Discord channel — approval requests, notifications, and session stop signals — with interactive Approve/Deny buttons. Also provides slash commands to inspect active sessions and conversation history.
Outcome-Driven Development pipeline for Claude Code — orchestrates planning, implementation with real build feedback, and review through specialized agents and skills. Language-agnostic with per-project configuration.
A comprehensive Rust development pipeline for Claude Code — orchestrates planning, code review, fix execution, and implementation through specialized agents and skills
Blocks bare find/grep in Bash calls and detects common rg flag misuse. Enforces fd/rg per CLAUDE.md. Shell file-read and file-edit blocking has moved to the no-shell-file-ops plugin.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim