Show HN: Calldiff – a CLI to see callstack diffs in all major languages Calldiff, a new open-source CLI tool, lets developers diff call stacks across git commits in 22 programming languages, showing which callees appeared, disappeared, or moved under an entrypoint. Built for agentic code review, it supports commands like `calldiff diff`, `calldiff tree`, and `calldiff reach`, and integrates with the incur framework for agent skills and MCP server registration. Diff call stacks across git commits — like git diff , but for who-calls-whom. Built for agentic code review : when an agent or you rewires call flow, plain line diffs bury the shape of the change. calldiff shows which callees appeared, disappeared, or moved under an entrypoint — across 22 languages . PiService.createAgentSession options - ├─ AuthStorage.create - ├─ new ModelRegistry - ├─ createCodingTools + ├─ PiService.getServices + │ ├─ SettingsManager.create + │ ├─ AuthStorage.create + │ └─ new ModelRegistry Paste this when you want a walkthrough of call-flow changes: dearest clod, walk me through the code changes you made using npx calldiff@latest npx calldiff@latest or npm install -g calldiff HEAD vs working tree calldiff diff one ref vs working tree calldiff diff main two commits / branches calldiff diff abc123 def456 calldiff diff --from main --to feature force entrypoints functionName or ClassName.method calldiff diff main feature --entry createAgentSession calldiff diff main feature -e PiService.createAgentSession -e boot limit to paths trailing positionals; leading -- also accepted calldiff diff main feature src/lib view a call tree no diff — requires --entry calldiff tree -e createAgentSession calldiff tree HEAD -e PiService.createAgentSession calldiff tree main -e boot --max-depth 8 src/lib calldiff tree -e runCheckout --locs examples/checkout find all call paths from one symbol to another — requires --entry and --to calldiff reach -e runCheckout --to sendEmail calldiff reach HEAD -e runCheckout --to sendEmail examples/checkout agent / machine-readable output via incur calldiff diff --format json calldiff --llms calldiff skills add install agent skill files calldiff mcp add register as MCP server | Invocation | From | To | |---|---|---| calldiff diff | HEAD | working tree | calldiff diff