Claxedo research · 09 Aug 2026
How often do coding agents need a full machine?
After an agent finished one full-machine call, it needed the machine again a median of 10.8s later.
npx @claxedo/agent-runtime-statsThe finding
Your agent needs the machine again too soon to shut it down between calls.
The median gap between machine-required calls was 10.8s. Ninety-five percent of measured gaps were under 98.1s. Any system that releases the machine between calls has only that interval to provision another machine, synchronize changes, restore state, and become ready.
The break-even test
Your handoff must be faster than the gap.
Let y be the time required to provision a machine, synchronize files, restore processes, and become ready. Let x be the time before the agent needs the machine again.
y < x
- Median x
- 10.8s
- p95 x
- 98.1s
If y ≥ 10.8s, the machine will not be ready for at least half of the observed returns. Turning it off between calls would slow the agent instead of saving useful capacity.
Even when y < 10.8s, actual savings still depend on VM billing, minimum billing periods, and idle-retention policy.
Not a rare edge case
Full-machine demand appears across most sessions and most turns.
Full-machine operations represented 30.80% of execution calls, but appeared in 64.01% of resolved turns and 79.80% of classified sessions. Among turns that needed a full machine, 68.92% called it again.
- Classified sessions requiring a full machine
- 79.80%
- Resolved turns requiring a full machine
- 64.01%
- Full-machine turns calling it again
- 68.92%
- Execution calls requiring a full machine
- 30.80%
What this means for architecture
A lightweight shell can reduce machine work. It cannot make the machine disappear.
A hybrid runtime helps when lightweight operations genuinely avoid a machine call. But the full machine remains part of the agent’s active execution path, and the measured return interval leaves very little time to discard and reconstruct it.
Unless your complete handoff is comfortably below the observed interval, keeping a machine available during active work is simpler and faster than repeatedly rebuilding machine state.
Classification boundary
A call is machine-required when a lightweight virtual shell cannot faithfully execute it.
Calls supported by Vercel Labs’ just-bash ↗ remain classified as lightweight. Calls that cannot be classified honestly remain unresolved and are excluded from placement percentages.
- 01 / HostNative executables
System binaries outside the lightweight shell’s supported command set.
- 02 / BuildPackage and development runners
Builds, tests, and development servers that invoke a host runtime.
- 03 / StateGit repository operations
Commands that depend on native Git and the repository’s live state.
- 04 / BrowserBrowser testing
Local browsers, automation processes, services, and their ports.
- 05 / ProcessInteractive processes
Commands requiring a TTY or a long-running process lifecycle.
- 06 / IsolationGenerated code execution
Running agent-generated programs crosses the isolation boundary.
Methodology
Local transcripts. Aggregate results.
The analyzer classified 416,467 execution calls from 4,531 local transcript stores. It measured 92,390 intervals from the completion of one machine-required call to the start of the next within the same agent turn.
Execution-call turn coverage. Unresolved calls were reported separately rather than counted as lightweight or machine-required.
Raw transcripts, prompts, commands, paths, tool inputs, repository names, and user identifiers remain local.
Observed runtime requirements and intervals between full-machine calls inside the same turn.
Provisioning, synchronization, restoration time, VM billing, and idle-retention cost require execution-platform telemetry.
Verified public claim: Across 92,390 measured intervals in one local corpus, the median time before a coding agent needed a full machine again was 10.8 seconds.
Measure your own agents
How often does your agent need a full machine?
Run the analyzer locally against supported coding-agent transcripts. See the complete report, then save a shareable page.
npx @claxedo/agent-runtime-stats