What Canopy Is and Isn't
The one-line version
Section titled “The one-line version”Canopy is a local code-intelligence engine: it indexes your repository and exposes one
tool — canopy_answer — that makes an AI agent’s answers about your code more correct
and far cheaper. One binary, no cloud, no API keys required.
Every word in that sentence is doing work. Here is the unpacking.
What Canopy is
Section titled “What Canopy is”A local index with one answer tool
Section titled “A local index with one answer tool”Canopy transforms a raw repository into a structural index — AST symbols, a dependency graph, full-text and semantic search, git history — and answers questions over it through a single tool. The agent (Claude Code, Cursor, or any MCP client) supplies the reasoning; Canopy supplies verified facts about your specific codebase: who depends on this file, what its public surface is, whether it is reachable, who last changed it.
An agent without Canopy is a very smart developer who has never seen your codebase and must grep and read to find out. With Canopy, the same developer asks one question and gets a structural answer computed from the index — complete by construction, not by diligence.
Benchmarked, not asserted
Section titled “Benchmarked, not asserted”The correctness and cost claims are measured, not asserted:
- Library suite (3 OSS repos, 270 questions, cold sessions, grading independent of Canopy’s own output): 0.932 vs 0.530 correctness against the shell grep/read loop (+76%), at −69% tokens — about 5× cheaper per correct answer.
- Application corpus (Cal.com, 6,118 files, 39 cross-layer questions): 0.923 vs 0.872, at −80% tokens — 81% cheaper per correct answer.
See the benchmark report for methodology and reproduction commands.
Local-first
Section titled “Local-first”The binary indexes your repo into ~/.canopy/ on your machine. The MCP server runs on
your laptop or CI runner — not on Gulf Shield Technologies infrastructure. Your code,
your questions, and your file paths never leave the machine. The only routine network
call is a weekly license heartbeat; --no-network makes “nothing leaves the box” an
enforced guarantee, and the Air-Gapped tier compiles networking out entirely. See
License and Privacy.
A single binary
Section titled “A single binary”No Docker, no daemon, no runtime to install. One static binary on your PATH.
canopy setup onboards the repo end to end, canopy answer "<question>" answers from
the terminal, canopy serve runs the MCP server, canopy doctor tells you if anything
is off.
What Canopy is not
Section titled “What Canopy is not”Not a cloud service
Section titled “Not a cloud service”There is no “Canopy Cloud.” The product is a binary you download and run. Nothing about answering questions requires a network connection, an account in a web app, or credits.
Not a code generator
Section titled “Not a code generator”Canopy includes no AI model and writes no code. It answers structural questions about your codebase — the facts an agent (or a human) needs before writing code.
Not an agent
Section titled “Not an agent”Canopy does not plan, edit files, or run your tests. It is the retrieval layer under your agent: the agent decides what to ask and what to do with the answer.
Not a grep replacement UI
Section titled “Not a grep replacement UI”Canopy is not a faster search box, and its differentiation is not “AST search” — several free tools do that. Canopy returns answers, not search results: a dependents trace is every inbound edge in the graph, a wiring check is a reachability proof, a public-surface answer is the export list — not a page of ranked matches for you to assemble yourself. And when nothing clears the relevance floor, it says “No strong match in this repository for …” instead of relaying tangential files.
Not a linter
Section titled “Not a linter”Canopy is not a replacement for ESLint, Clippy, or mypy. Those enforce style and language rules; Canopy operates at the architectural level — dependency edges, reachability, ownership, blast radius. Keep running your existing analysis tools alongside it.
The honest tradeoffs
Section titled “The honest tradeoffs”- Indexing means symbols and imports. 55+ languages and formats are indexed for symbol extraction and import edges. Canopy does not claim deeper per-language semantics than that; compiler-precise edges are an opt-in upgrade via SCIP ingestion.
- Concept questions are the weakest recipe. “How does X work?” falls back to semantic search. Questions that name a file or symbol get structural answers; see Phrasing Picks the Recipe.
- The first full index is the slow path. Subsequent indexing is incremental and fits inside a normal development loop.
- A weekly heartbeat exists. One license-validation call per week. If your environment requires zero network calls, that is what the Air-Gapped tier is for.