
AI already writes your code.We make sure you still understand it.
CoGraph shows which functions in your repository call which, as a graph next to your code in VS Code. It reads the source and never runs it. Same code, same graph.

- Installs
- 830
- VS Code Marketplace, Oct 2026
- Languages
- 5
- Python · TypeScript · JavaScript · Java · C++
- Licence
- MIT
- Free and open source
- Cyber Valley
- Winner
- Best Business Award · Cyber Valley AI Incubator
More code reaches review than anyone has time to read.
Coding assistants changed how fast code gets written. They didn't change how fast a person can understand it. Review, onboarding and every architectural decision still depend on that.
A diff stops at the changed lines.
It doesn't tell you what calls them, or what they reach. You rebuild that part in your head, every review.
Nobody wrote all of it.
When much of a module came from an assistant, there is no author to ask how it fits together. The mental model has to be recovered from the code itself.
Hand-drawn maps go stale.
An architecture diagram is right the day it is drawn and drifts from then on. A stale map is worse than no map.
Every node and edge comes from the parser.
CoGraph reads the syntax tree and records what is there. No model guesses at your architecture, so the graph you see today is the graph you'll see tomorrow, until the code changes.
01Parse
Each language's own parser reads your workspace: Python's ast, the TypeScript compiler API, java-parser, tree-sitter for C++. Each runs as a local process, and your code is never executed.
app.pyFig. 2a 1def checkout(cart):2 total = price(cart)3 bill = invoice(total)4 notify(bill)56def price(cart):7 return cart.subtotal89def invoice(total):10 return render(total)1112def render(total): ...13def notify(bill): ...02Derive
Every function definition becomes a node, identified by file, name and line. Every call the parser can resolve becomes an edge. The same code always yields the same graph.
analyzer → stdoutFig. 2b { "nodes": [ { "id": "app.py::checkout::1", "name": "checkout", "line": 1 }, { "id": "app.py::invoice::9", "name": "invoice", "line": 9 }, … ], "edges": [ { "source": "app.py::checkout::1", "target": "app.py::invoice::9" }, … ] }03Read
The graph opens beside your editor. Click a node to jump to its definition. Save a file and the graph is derived again.
CoGraphFig. 2c
Read your codebase like a metro map.
Free in VS Code today. Open a folder, run CoGraph: Visualize Project from the command palette, and move through the code by what calls what.
Every function a node. Every call an edge.
Zoom, pan and filter by name. Group by folder, file or class, and use the detail slider to fold low-connectivity nodes away until the structure is legible.
Click a node, land on the code.
Jump to any function's definition, or open its source in a popup you can drag, resize and keep open beside others.
See what your working tree touched.
Colour nodes by git status (modified, new, deleted or staged) to see where your uncommitted work sits in the structure and what it's wired to. It refreshes when the git index does.
Derived again on save.
Save a file and the graph is re-derived. In large repositories only the saved file is re-parsed.
Sized for real repositories.
Large-repo mode starts with an instant folder skeleton and parses folders as you open them. External libraries collapse into one node each.
Replay how it grew.
Timeline playback builds the graph in commit order, so you can watch an architecture take shape.
AI only if you ask for it.
Optional · off by defaultAn architecture chat and a workflow view can sit on top of the graph. Nothing runs until you enable them; then they use your own Claude Code or Codex CLI, with your own keys and a budget cap per request. The graph never depends on them.
It runs where your code is.
No account, no CoGraph server.
Analysis runs in local processes on your machine. There is nothing to sign up for and nowhere for your code to be uploaded to.
Your code is never executed.
The graph comes from static analysis. CoGraph parses your source files; it never imports, builds or runs your project.
Nothing leaves while AI is off, and off is the default.
The optional AI features are the only part that talks to a model, through your own CLI and account, and only once you switch them on.
One graph. Three places it belongs.
The editor is the first surface. Because the graph is derived the same way every time, it can also live in the repository and be compared across pull requests. That work is in design, and we are shaping it with design partners.
In the editor
ShippedCoGraph for VS Code. Read the graph where you write the code.
v1.4.0 · Free · MITIn the repository
In designThe graph as a file committed next to the code, with byte-stable output and a documented schema, versioned like everything else.
In the pull request
In designRegenerate the graph for each pull request and compare it with the base branch. The diff shows which functions and calls a change adds, removes or rewires.
CoGraph Review
Interactive demo · not a product yetA pull request page with the change read on the graph. It shows the direction; it is not something you can install.
Shape the team version with us.
We are looking for a few engineering teams to pilot what comes next. There is nothing to buy. We want to see where it helps in real review, and where it doesn't.
- 5–50 engineers
- Python or TypeScript
- Code on GitHub, work in VS Code
- AI assistants in daily use
- Review load you can feel
- Before
We reconstruct a baseline from your last 90 days of pull requests.
- Week 1
Install on one repository.
- Weeks 2–3
Use it in real review, with a direct line to both founders.
- Week 4
We go through the results together, including what didn't work.
Two founders who needed this themselves.
CoGraph came out of a working engineer's own problem: Bela started it after a data-science internship at Bosch. We build it in Tübingen, in the open.


The things engineers ask first.
Something missing? Open an issue on GitHub or message us. We answer both.
Is CoGraph free?
Yes. The VS Code extension is free and MIT-licensed, and the source is on GitHub. A team version for repositories and pull requests is in design with design partners.
Does my code leave my machine?
Not with the extension. Parsing happens in local processes and there is no CoGraph server. The one exception is the optional AI layer: it is off by default, and once you enable it, it runs through your own Claude Code or Codex CLI under your own account.
Is there an LLM in the loop?
Not in the graph. Nodes and edges come from each language's parser, so the same code always produces the same graph. Two optional AI features sit on top of it, an architecture chat and a workflow view, and both are off by default.
Which languages are supported?
Python, TypeScript, JavaScript, Java and C++. Coverage is strongest in Python and TypeScript. Calls that only resolve at runtime (dynamic dispatch, reflection, eval) are not in the graph, and macro-heavy C++ is covered partially.
How large a repository can it handle?
Large-repo mode engages automatically: it shows an instant folder skeleton, parses folders lazily as you open them, and caches results between sessions. Repositories the size of NumPy or Django stay navigable.
How is this different from an AI code reviewer?
An AI reviewer writes comments on a pull request. CoGraph doesn't comment, approve or block. It derives a model of the code that you read yourself, and the two sit side by side.
AI writes the code. CoGraph is how your team still understands it.
Install the extension, open a folder, and run CoGraph: Visualize Project.
code --install-extension thraenbe.cograph