# Your agent is only as good as its worst tool call.

Trajectory scoring grades how well each run used its tools, failures are classified rather than dumped, and tool errors reach Slack the moment they land. The flaky integration stops hiding inside average latency.

## The problem: Tool failures wear disguises

A timeout becomes a retry loop, a malformed response becomes a hallucinated answer, a dangling call becomes a run that just stops. By the time the failure surfaces in the output, the tool that caused it is four steps upstream.

## How RunAgain does it

1. **Every tool call is a span.** Tool spans carry the tool name, status, timing and full input and output, nested under the step that made the call. The sandbox proxy can capture even un-instrumented outbound HTTP into the same trace.
2. **Trajectory scoring with fairness.** A model-free score grades each run's tool use, with recovery invalidation so an agent that hit an error and recovered is not punished like one that failed outright.
3. **Failures classified, not dumped.** Failed runs are labeled: errored span, failed tool call, truncation, dangling tool call or silent no-output. The trace list's error views and sticks make the pattern visible across runs.
4. **Alerts that respect your attention.** Tool errors post to your chosen Slack channel as coalesced digests, one message per window with examples and deep links, never five thousand pings for one broken deploy.

## FAQ

**Q: How do I find which tool fails most often?**

A: Tool spans carry tool_name and status as typed fields, so failure rates group by tool directly. The Errors saved view and per-run failure classification narrow it to the exact calls.

**Q: What is a dangling tool call?**

A: A run where the model requested a tool but no result ever came back, usually a crash or truncation mid-run. RunAgain classifies these separately from tool errors because the fix is different.

**Q: Can I get alerted only for one critical tool?**

A: Alert rules are per project and evals are scopable by agent or metadata, so you can watch the payment tool strictly while treating a flaky search API as background noise.

## Built on these solutions

- [Debug AI agents](https://runagain.ai/solutions/debug-ai-agents.md)
- [Monitoring & alerting](https://runagain.ai/solutions/agent-monitoring-alerting.md)
- [Simulation & evals](https://runagain.ai/solutions/agent-simulation-evals.md)

Book a demo: https://cal.com/tamas-szuromi/30min · Get in touch: tamas@runagain.ai

---

Markdown mirror of https://runagain.ai/use-cases/tool-call-failure-analysis for agents and LLMs. Append .md to any runagain.ai page URL for its markdown twin. Overview: https://runagain.ai/llms.txt · For agents: https://runagain.ai/for-agents.md
