Skip to main content

APM — Actions Per Minute

Understanding the Actions Per Minute metric in the systemprompt.io Control Center

APM measures the rate of meaningful interactions between you and Claude Code per minute of active session time. It captures how quickly you and the AI iterate together — the tighter the feedback loop, the faster you converge on solutions.

Definition

Actions Per Minute is the total count of actions (tool executions plus prompts) divided by the session duration in minutes.

Formula:

APM = (tool_uses + prompts) / session_duration_minutes

What counts as an action

Every successful tool execution and every prompt you submit counts as one action:

  • Tool executions: Read, Edit, Bash, Grep, Glob, Write, Agent — each successful invocation is one action
  • Prompts: Every message you submit to Claude Code is one action

These are the building blocks of every session. A single prompt might trigger dozens of tool executions as Claude reads files, searches code, makes edits, and runs tests.

Data source

APM is deterministic — it is counted from actual hook events, not estimated or sampled.

  • tool_uses: Counted from PostToolUse hook events fired on every successful tool execution
  • prompts: Counted from UserPromptSubmit hook events fired each time you send a message
  • Duration: Calculated from started_at to ended_at timestamps on plugin_session_summaries

There is no AI inference or approximation involved. The number reflects exactly what happened in the session.

Interpretation ranges

APM Range Classification What it means
< 2 Passive / Waiting Long pauses between interactions. You may be reading output, thinking, or doing work outside of Claude Code.
2–5 Moderate Steady back-and-forth. Typical of thoughtful, deliberate sessions where you review output before continuing.
5–15 Active Rapid iteration. You're moving quickly through tasks, with Claude executing multiple tools per prompt.
15–30 Intensive Very fast-paced work. Common during large refactors, multi-file edits, or test-fix-test cycles.
30+ Extremely rapid Burst activity. Often seen when Claude is autonomously executing chains of tool calls with minimal waiting.

Why it matters

APM measures iteration speed. Faster APM means tighter feedback loops — you see results sooner, catch problems earlier, and make more course corrections per unit of time.

Higher APM does not inherently mean better outcomes. A session with APM of 3 where every action is deliberate and correct may be more productive than a session with APM of 25 where half the actions are retries. That's why EAPM exists as a companion metric.

However, consistently low APM may indicate bottlenecks: slow tool execution, unclear prompts that require extensive re-reading, or workflow patterns that could be streamlined.

The StarCraft analogy

Like APM in competitive real-time strategy games, this metric captures raw interaction speed. Professional StarCraft players average 200–400 APM because faster input means faster response to changing conditions. In AI-assisted development, the same principle applies — faster iteration means more opportunities to steer the AI toward the right solution.

Example

A 20-minute session where you submit 3 prompts and Claude executes 87 tools:

APM = (87 + 3) / 20 = 4.5 APM

This falls in the "moderate" range — a steady, productive session with Claude doing substantial autonomous work per prompt.