Turn Agent Tool Calls Into Run Receipts for Better Debugging
Discover how Run Receipts improve AI agent debugging by recording workspace changes step-by-step in JSONL format, offering better transparency than chat logs.

Stock photo for illustration only, not from the actual event
- Effective AI agent debugging relies on tracking workspace changes using Run Receipts rather than chat logs.
- JSONL format allows append-only logging so previous steps survive mid-run crashes.
- Minimal requirements include a stable run ID, a Git workspace, and a tool-call boundary wrapper.
- Open-source extensions from MonkeyCode help reduce experimentation costs with free token allowances.
Debugging a failing AI agent often starts too late when transcripts have already scrolled away, leaving developers to reconstruct history through guesswork. Observability for an agent run must be recorded at the exact moment of each tool call by a wrapper independent of the underlying model.
Think of a courier service tracking every stop. Because an agent mutates a shared filesystem during execution, emitting a structured record per tool call makes the entire sequence transparent, auditable, and easy to review in a single view.

Stock photo for illustration only, not from the actual event
Run Receipts function as a dedicated audit trail for AI operations, allowing developers to inspect precise file modifications before and after execution. This approach drastically cuts down troubleshooting time compared to reviewing verbose natural language chat transcripts.
The minimal setup requires three core components:
- A stable run ID to track execution context.
- A Git workspace to capture modifications.
- A wrapper around the tool-call boundary.
JSONL is selected as the ideal medium because it is append-only, ensuring that a mid-run crash preserves earlier logs safely. It avoids rigid upfront schemas while remaining compact enough to bypass the extreme noise of raw logs.
"The fastest way to debug a failing agent is not a better prompt; it's a better record of what the tools changed."
Dev.to
Despite its efficiency, this receipt method assumes a serial tool loop and in-process file mutations, meaning background processes and large generated artifacts can still introduce noise. Developers are advised to maintain proper .gitignore discipline before implementing this wrapper to keep trace logs clean.
Source: Dev.to
Found something wrong in this article? Report an issue with this article
Comments
Leave a Comment