calldiff shows which function calls an AI agent changed between commits
calldiff is a new MIT-licensed CLI that reads Tree-sitter grammars for 23 languages and shows which functions started and stopped calling each other between two git commits, aimed at reviewing changes an AI agent made.
Image: GitHub
Why it mattersA reviewer can see the structure of a change instead of a line diff, so a function that stopped calling the function you care about, with no obvious sign, becomes visible before it is released.
The developer Tanishq Kancharla published calldiff, an MIT-licensed command-line tool that compares the call graph of a codebase between two git references and shows which functions began or stopped calling which other functions. The repository was created on 7 August 2026 and has gained 445 stars on GitHub in roughly four weeks.
What it does
calldiff parses source with Tree-sitter grammars for 23 languages, including TypeScript, JavaScript, Python, Go, Rust, Java, Ruby, C, C++, C#, PHP, Kotlin, Swift, Scala, Lua, Elixir, Bash, Haskell, Zig, Solidity, OCaml and Perl. The analysis is syntactic, so dynamic dispatch and calls through function values do not resolve, and the README says so.
Four subcommands do the work. diff compares call stacks between two git refs and reports every callee that appeared, disappeared or moved under each function. tree prints the call hierarchy from a chosen entrypoint. reach finds every call path between two named symbols. A skills and mcp mode exposes the same data to an agent, and the output can be produced as coloured ASCII for a terminal, plain text for a pipe, or JSON, YAML, Markdown, or JSONL for a program to read.
Grammars download into ~/.cache/calldiff/grammars on first use, so the tool does not include a copy of every parser.
Why the author built it
The README is direct about the audience. Plain line diffs hide the structure of a change, and code produced by an AI agent often changes several files at once in ways where the interesting question is not which lines changed but which functions now call something different. calldiff answers that second question directly, and includes a prompt template for asking a model to explain the graph diff step by step.
Call changes a line diff cannot show
Reviewing agent-authored pull requests is where most of the time goes on a team that has adopted coding agents, and the most costly failure is a function whose call now goes, with no obvious sign, to a different implementation with the same name. Line diffs do not show that, and a reviewer who reads them quickly will miss it. A structured diff of the call graph, produced by a deterministic tool rather than a model, makes these call changes visible, and gives the reviewer a shorter question to answer: is this new call path what was asked for. Whether calldiff is better than the alternatives will depend on how well the Tree-sitter parsers work on real codebases, and the syntactic-only limit means a project with a lot of dynamic dispatch will get partial results, but the design of the tool matches the way agent review actually fails.
Source
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.

