Claude Code's 'agentic search' is just grep with marketing spin. I've wasted entire afternoons searching for authentication logic and getting back 200 matches from config files, comments, and random variable names. It's not intelligent, it's not agentic - it's fucking grep.
Here's what happens when you ask Claude to find user validation code:
- 47 matches in TypeScript files (none are validation)
- 23 matches in test files (irrelevant mock data)
- 15 matches in documentation (just the word "user")
- 8 matches in package.json files (dependency names)
- 2 actual validation functions buried in the noise
Meanwhile, you've burned through 50% of your token limit and still haven't found what you need.
Runonthespot built CK because he was tired of this bullshit. It uses local embeddings and tree-sitter parsing to actually understand code structure and meaning. Search for "user validation" and get back functions that validate users, not every file that mentions the word "user."
Why Every Claude User Should Give Up and Go Back to VS Code
I've seen developers abandon Claude Code entirely because the search is so useless. You want to refactor a method? Good luck finding all the places it's called. Need to understand how authentication works? Hope you enjoy scrolling through 300 grep results.
Research shows semantic search reduces token waste by 40% because you actually find what you're looking for instead of playing "find the needle in the haystack" with Claude's grep bullshit.
Here's the thing that kills me - VS Code's search is better than Claude Code's. A text editor from 2015 understands code structure better than a supposed AI coding assistant. At least VS Code can find symbol references and understand imports.
CK fixes this by letting you search for concepts instead of exact text matches. Want to find validation logic? Search for "validation" and get back actual validation functions, not every comment that mentions the word.
How CK Actually Fixes the Problem
CK uses tree-sitter parsers to understand code structure instead of treating everything like plain text. It builds embeddings of code meaning, not just word matching. When you search for "authentication," it finds auth functions, not every variable named auth_token
.
The best part? Everything runs locally. No sending your proprietary code to some third-party API that'll probably get breached next month. Your code stays on your machine while still getting semantic search that actually works.
You can still use regular grep patterns when you need exact matches, but now you also have the option to search by concept. Finally, a tool that understands the difference between a function that validates users and a comment that mentions user validation.
Why Claude Code Fails at Real Refactoring
I spent 3 hours last week trying to rename a method across a medium-sized codebase with Claude Code. Three. Fucking. Hours. The same task takes 30 seconds in IntelliJ because it understands code relationships.
Claude's grep can't find method calls through reflection, dynamic dispatch, or complex inheritance chains. It misses imports, factory patterns, and any call that doesn't exactly match the text you're searching for. Developers report taking "many hours" for refactoring tasks that proper IDEs handle instantly.
This isn't a small problem - it's why most experienced developers gave up on Claude Code for anything beyond basic scripting. If your tool can't handle real refactoring work, it's not really a development environment.
Why Rust Makes Sense for Developer Tools
Runonthespot built CK in Rust because indexing large codebases is computationally expensive and you don't want your search tool crashing when processing a million-line repository. Rust's performance and memory safety make it perfect for tools that need to be fast and reliable.
The GitHub repo is still early-stage, but the architecture is solid. It supports multiple programming languages through tree-sitter parsers, so it'll work whether you're dealing with JavaScript, Python, Rust, or whatever abomination your company calls a codebase.
If you're tired of Claude Code's search wasting your time, test CK out and report issues. The more people contribute, the faster it'll become production-ready.
This Could Actually Make Claude Code Usable
CK represents what happens when developers get fed up and fix problems themselves instead of waiting for companies to listen. Claude Code's search is embarrassingly bad for a tool that costs money, so the community is building solutions.
The fact that this tool runs locally is crucial. Most developers can't send proprietary code to third-party APIs for embedding generation. CK gives you semantic search without compromising security or requiring internet connectivity.
Other projects like ast-grep are tackling similar problems because everyone recognizes that grep-based search is holding back AI development tools. The community is basically fixing Claude Code for free.
Will Anthropic Actually Fix Their Search?
Probably not anytime soon. Companies like Anthropic focus on new features that generate hype, not fixing fundamental problems that make their existing tools frustrating to use.
CK's existence proves there's massive demand for better search in Claude Code. Whether Anthropic integrates semantic search natively or keeps forcing users to rely on community tools remains to be seen.
For now, tools like CK let developers actually use Claude Code for real work instead of just toy projects. If you're stuck with Claude Code for whatever reason, CK might be the difference between productivity and endless frustration.