Stephan Schmidt - March 4, 2026
Stop Using Claude Code Like a Blind Typewriter
I see many developers use Claude Code but they don’t set it up correctly. Out of the box, Claude uses text search – grep/ ‘ripgrep’, basically – to find things in your code. This works, but it’s slow and dumb. It got better with the introduction of subagents for exploration, but sometimes it takes ages to find where a function is defined. Sometimes it matches a string in the comments and goes down the wrong path entirely. Beyond that, it usually does not find all usages of a function but only a fraction of them - or references to a field.
Claude Code supports LSP – Language Server Protocol. LSP is the same thing that makes VS Code smart. It knows where your types are, where your functions are defined, what calls what, what uses and access what field. When you turn this on, Claude does semantic lookups instead of grepping through every file. It actually understands your codebase instead of guessing.
The LSP integration gives Claude nine operations like go to definition, find references, go to implementation, call hierarchy, incoming calls, and outgoing calls and more. On top of that, for changing code Claude gets automatic diagnostics after every edit – type errors, missing imports, syntax issues. If it introduces a bug, it sees the error and fixes it in the same turn. That’s real IDE intelligence, not string matching. Faster backpressure.
How to set it up
You need two things: a language server binary on your machine, and a Claude Code plugin that connects to it.
The official Anthropic marketplace (claude-plugins-official) is already built into Claude Code. No marketplace to add, no third-party repos. Run /plugin and go to the Discover tab to see what’s available.
Step 1: Install the language server binary.
You need the actual language server on your PATH. For the languages I use:
For Go:
go install golang.org/x/tools/gopls@latest
For TypeScript/JavaScript:
npm install -g typescript-language-server typescript
For Python:
npm install -g pyright
For Rust:
rustup component add rust-analyzer
Step 2: Install the Claude plugin.
Inside Claude Code:
/plugin install gopls-lsp@claude-plugins-official
Or typescript-lsp for TypeScript, pyright-lsp for Python, rust-analyzer-lsp for Rust. There’s also clangd-lsp for C/C++, jdtls-lsp for Java, kotlin-lsp, php-lsp, swift-lsp, and more. The full list is in the Discover tab.
That’s it. Two steps.
Does it actually work?
After installation you can do a quick test if everything works.
Ask Claude to “go to definition of [some function]”. If it gives you the exact file and line number instantly, and you see ‘LSP’ instead of ‘grep’ or ‘Search’ in the output: LSP is working. If it says “let me search through the codebase…” and you see it grepping around, your LSP isn’t connected. Restart Claude Code and check that your language server binary is on your PATH.
Try “find all references to [some class]” before a big refactor. This is where LSP really pays off – Claude knows every file that will break before it touches anything.
If you have a huge project, language servers like pyright and rust-analyzer will eat your RAM. If things get sluggish or crash, disable the plugin with /plugin disable pyright-lsp@claude-plugins-official and fall back to grep.
When it breaks
Three things go wrong:
“No LSP server available” means the plugin didn’t load or the file extension doesn’t match. Exit Claude Code, start it again.
“Executable not found in $PATH” means Claude can’t see your language server binary. Common with Go ($GOPATH/bin) and Rust (~/.cargo/bin) – make sure those are in the PATH of whatever shell Claude Code runs in.
Language server crashes on large projects. Pyright, rust-analyzer, and jdtls are the worst offenders. Disable the plugin with /plugin disable and fall back to grep, or accept that you’ll need to restart Claude Code occasionally.
About me: Hey, I'm Stephan, I help CTOs with Coaching, with 40+ years of software development and 25+ years of engineering management experience. I've coached and mentored 80+ CTOs and founders. I've founded 3 startups. 1 nice exit. I help CTOs and engineering leaders grow, scale their teams, gain clarity, lead with confidence and navigate the challenges of fast-growing companies.
