Skip to content

Counted for agents

See what your agents actually do

Capture tool calls, file edits, commands, and outcomes with the same event model you use for your app.

Shape, never content

  • Tool usage: tool names and reported outcomes.
  • File edits: repo-relative paths, actions, and language. Never contents or diffs.
  • Commands: binary names, without arguments or output.
  • Session boundaries: starts and ends reported by your host.

Inspect the properties your integration sends and avoid personal data in paths or labels. Available events and outcomes depend on the host’s hooks.

Connect a host

Use @counted/claude-code or @counted/opencode for native integrations. The @counted/agent-telemetry CLI accepts host events over standard input.

npm install -g @counted/agent-telemetry
export COUNTED_AGENT_KEY="YOUR_INGEST_KEY"

# Configure your host to pipe hook events to this command:
counted-agent --host codex

See the CLI instructions and the Claude Code and OpenCode integrations for host-specific setup.

Instrument your own harness

import { Counted } from "@counted/sdk";

const counted = new Counted({ key: "YOUR_INGEST_KEY" });
counted.track("tool_use", { tool: "search", outcome: "success" });
await counted.shutdown();

Create a dashboard and add Insights for tool counts, trends, or breakdowns by tool and outcome. For automated setup and queries, use the API or agent discovery guide.