# The bug was at step 2. You noticed it at step 5.

> Source: <https://dev.to/pranavafk/the-bug-was-at-step-2-you-noticed-it-at-step-5-1gb9>
> Published: 2026-07-24 15:21:56+00:00

Single-agent debugging is mostly a solved shape: see the prompt, see the tool call, see the output.

Multi-agent graphs are different. The pattern that keeps biting teams:

The failure is usually **not** at step 5. The *wrongness* happened at the **handoff** (step 2). By the time you stare at the final output, you’re reconstructing the chain from logs by hand.

That is the multi-agent debugging tax.

In a single chain, one component owns the state story.

In a multi-agent run, state is often **implicit**:

If you only log each agent’s own outputs, that gap never shows up.

Log more than “agent A finished” / “agent B started”:

That last line matters. Payload can match while **authority** still diverges (B can’t read the memory A assumed it could).

Re-running the whole graph to debug is slow and dangerous when tools have side effects (email sent, ticket updated, money moved).

What you want first is: jump to the handoff step and inspect state **there**.

A useful pattern from practice: **snapshot at the boundary**.

If they diverge, you catch it at step 2, not step 5. Cheaper than full replay: compare snapshots, don’t re-execute the graph.

Fork-from-node (test a different tool/policy from that state without replaying upstream) is the recovery half. **Detection** is the half most teams never build.

Generic “show me LLM spans” helps single chains.

Multi-agent systems need **boundary-aware** ops:

That’s the direction we’re building toward with ** Cartha** (SDK-first: traces, scoped memory, budgets, multi-agent nest). We’re still early on full fork-from-node and automatic handoff divergence probes — and we’re honest about that.

If you only take one idea away: **log the handoff, not just the agents.**

If you run multi-agent graphs (LangGraph or otherwise):

Curious what’s worked (or failed) for you in production.

Docs / try: [cartha.in/how-to-use](https://cartha.in/how-to-use)
