Dashboard Guide

Tools

Aggregated tool invocation data — which tools your agents call most, and how long those calls take.

What the Tools page shows

Tools in the sidebar aggregates every tool call Trenchcoat captured in the selected date range. It answers:

  • Which tools does my agent call most often?
  • How long do those calls take, typically and at the tail?
  • Is a tool getting slower?

What counts as a "tool"

Anything appearing in a tool_use event. In Claude Code that includes:

  • Built-ins — Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task/Agent, Skill, and the rest.
  • MCP tools — by fully qualified name, e.g. mcp__supabase__query.
  • Subagent tool calls — captured with the same hooks, and attributed to the spawning agent via origin_agent_id.

Skill and Agent calls are also modelled separately on the Skills and Agents pages, which carry attribution the flat tool table does not.


Tool Usage Distribution

A chart over the top 15 tools by volume.

All Tools

ColumnWhat it shows
Tool NameThe name as reported by Claude Code. Links to the tool's detail page
CountTool calls in the selected period
Avg DurationMean call duration
p50Median duration
p9999th-percentile duration — the tail
TrendDirection of change across the period

The duration columns mix three kinds of measurement. Each captured duration is one of native (Claude Code reported it), computed (the plugin measured it with a monotonic clock), or reconciled — and a reconciled duration measures time until the failure was discovered at the end of the turn, not the tool's runtime. Trenchcoat records which kind each row is, but none of these aggregates filters on it, so p99 in particular is inflated by reconciled rows. Treat the tail as indicative.


Tool detail

Click a tool's name to open its detail page, which covers that one tool over the selected range.

Summary cards

Calls, Avg Duration, p50 and p99, computed exactly as the list computes them, so they match the row you opened the page from. An MCP tool's page also names its MCP server.

Relationships

A picture of what calls the tool. The tool sits in the middle.

  • Left: Called by. What made each call:

    • the main conversation
    • a subagent type, if the call was made inside a subagent
    • a skill, if one was active in the same turn

    If both a subagent and a skill apply, the subagent is credited. A Skill call is never credited to a skill. The callers add up to the Calls card.

  • Right, only for Agent and Skill: what the calls started.

    • Launches: the subagent types Agent started
    • Loads: the skills Skill loaded

    A call that didn't record what it started isn't drawn. The page says how many that was.

Every other tool's picture has callers only. Hover or click an item to see its figures in the panel on the right. Subagent types and skills link to their own pages.

Charts

Calls per day and Median duration (p50) per day.

The durations on this page carry the same caveat as the list's, above: a reconciled duration measures how long it took to notice a failure, not the call's runtime.


Filtering

  • Date range — the picker at the top right. The chart, the table and each tool's detail page all use it, and opening a tool keeps it.
  • Machine — the global machine filter; each API key maps to one machine.

What this page does not have

Stated explicitly, because earlier versions of this document described these and they have never existed:

  • No error-rate column. Tool failures are captured — is_error and a short error_preview — and the session call graph shows per-node error counts, but no aggregate error rate is rendered on this page.
  • No minimum-invocation filter.

Tool-failure capture has a history worth knowing. Claude Code does not fire the PostToolUse hook for a hard tool failure, so before plugin 2.1.0 a failed call produced no tool_result row at all — is_error was true on 0 of 43,354 stored rows. The plugin now recovers those from the session transcript at Stop. Historical data does not self-correct: sessions recorded before that fix still show no errors, however many really occurred.

On this page