See every run, step and cost
Bring agent heartbeats, run histories, step traces, and reported usage into one operational view.
A running process doesn’t mean the work got done
An agent can be online without delivering the work you expected. Keep its heartbeat, scheduled work, individual runs, and reported outcomes together so your team can ask the right question.
- ModelPlan the research2,410 tokens
- Toolsearch_web6 calls
- Toolfetch_page14 calls
- ModelSummarise sources9,820 tokens
- ModelWrite the brief6,190 tokens
Follow a run from start to finish
Instrument steps around retrieval, model calls, tools, and retries. When the workflow fails, inspect the reported history instead of starting with an unstructured chat transcript.
Keep usage beside the work
Review token counts and costs when your integration supplies them. Reported figures are not a reconciled provider invoice or a spending limit; to enforce one, run the agent under Toolcaise Connect, which meters calls on your machine and stops the run at the limit.
Retain your existing runtime
Your scripts and workers continue running in your environment. Use the Python or Node.js SDK, outbound HTTP, OpenTelemetry traces or Toolcaise Connect to add visibility without moving execution into Toolcaise.
What you see for every agent
Each agent in the workspace has a health status, its last heartbeat, 24 hours of activity and the credential it reports with. Open it and you get its runs, newest first.
- Runs with a status (running, completed, failed, held or canceled), when they started and how long they took.
- Steps inside a run, reported as spans: a model call, a tool call or a named step, each with its timing and whether it succeeded.
- Model and token counts per call, and cost where your prices are known.
- Events the agent reports along the way, such as a limit being reached or a tool call waiting for approval.
- Outcomes the run reports at the end, which a person can then accept or reject.
Everything an agent sends is labelled as agent-reported. Model calls made through Toolcaise Connect’s gateway are different: Connect counts them itself from the provider’s usage figures instead of taking the agent’s word for them.
Connect an agent in a few lines
Most agents are connected with an SDK. The client records the run, its spans and the model calls made through an instrumented OpenAI client. It never sends prompts or model output.
from openai import OpenAI
from toolcaise import Toolcaise
client = Toolcaise() # reads TOOLCAISE_AGENT_TOKEN
openai = client.instrument_openai(OpenAI())
with client.run("nightly-research"):
with client.span("collect sources", kind="tool", tool="web_search"):
sources = collect_sources()
openai.chat.completions.create(model="gpt-4.1", messages=[...])
client.outcome("report written", status="succeeded")If your framework already emits OpenTelemetry traces, point its exporter at Toolcaise instead, with no Toolcaise package. If the agent is a command on a machine you control, wrap it with Toolcaise Connect and you also get enforced limits.
Why step-level history matters
When a run fails, the question is almost never whether it failed. It is which step failed, on what input, after how many retries, and what it had already done. A run with named steps answers that in one screen. A run that only reports start and finish sends you back to raw logs, and a heartbeat alone tells you the process was alive, not that the work happened.
Usage and cost beside the work
Token counts come from the provider’s usage figures on each call. Cost is calculated from prices you supply, so a model without a price shows tokens but no cost rather than a guess.
Reporting never takes your agent down
The SDKs queue reports in memory and send them from a background thread. If Toolcaise is slow or unreachable, your agent carries on and the reports follow, retried with backoff. Only if the queue fills (1,000 reports by default) are reports dropped, with a warning in your agent’s logs.
Frequently asked questions
What is AI agent monitoring?
It is keeping a record of what an agent did: which runs happened, what each step did, which models and tools it called, how many tokens it used and what it produced. Good monitoring lets you answer why a run failed or cost what it did without reading raw logs.
Does Toolcaise see my prompts or model output?
No. The SDKs send operational metadata only: run and step names, timings, status, model names and token counts. They never send prompts, output or exception text. Free text you write yourself, such as an event message, is stored as written, so keep secrets and personal data out of it.
Which frameworks can I monitor?
Anything that can run the Python or Node.js SDK, make an HTTP request, or export OpenTelemetry traces. There are quickstarts for LangChain and LangGraph, CrewAI, the OpenAI Agents SDK, the Claude Agent SDK and the Vercel AI SDK. Claude Code and Codex are covered through Toolcaise Connect adapters.
Is the cost shown in Toolcaise my bill?
No. It is calculated from the token counts each call reports and the prices you configure. It is useful for comparing runs and agents, but your provider’s invoice remains the source of truth for what you are charged.
Related guides
Where AI agent cost figures come from, how token types and price tables change them, and how to track LLM cost per run, per agent and per month.
Read the guide OpenTelemetry for AI agents: what to trace and howHow to trace AI agents with OpenTelemetry: which spans to record, GenAI semantic conventions, what to keep out of traces, and exporting over OTLP/HTTP.
Read the guide Agent monitoring and agent supervision answer different questionsMonitoring shows an AI agent is running. Supervision checks that its work arrived, was good and was allowed. How the two differ and how they fit together.
Read the guideConnect your first agent
Create a free workspace, connect the agent you already run, and watch its next run arrive. Free covers 3 agents, with no card required.