How an Idle Agent Burned 50M Tokens a Day – and How to Fix It

An OpenClaw user on Reddit reported their LLM API usage spiking from 11M to 51M tokens per day over six days, totaling 196M tokens — most of it wasted by an idle agent. The cause: a forgotten agent called "main" was being poked by OpenClaw's heartbeat every 30 minutes, loading a 225k-token session history just to reply "HEARTBEAT_OK".
The Leak: cacheRead Dominance
Two numbers stood out from the transcript analysis:
- 95% of tokens were cacheRead — the model re-reading old conversation history instead of doing new work.
- 56% of all tokens came from a single agent named "main" that wasn't even in use anymore.
The heartbeat ran 48 times daily, each time loading a months-old session. Even an empty HEARTBEAT.md — intended to disable the heartbeat — failed to stop it in that build.
The Fix: Two Steps
- Clear the bloated session. Wipe the session file for the idle agent. The next heartbeat starts from a blank slate. Only remove junk sessions, keep real DM/chat sessions.
- Prevent refilling. A one-time clear won't stick because the heartbeat keeps adding to the session. Use config changes:
- Set
heartbeat every: "0m"to turn off heartbeat entirely if the agent does nothing, or - Set
isolatedSession: trueandlightContext: trueso each heartbeat runs on a fresh, tiny context (~2-5k tokens) instead of the full history (~100k+).
- Set
Bonus: other agents were reusing one ever-growing session because a session ID was not actually starting fresh in that build. Reset session between jobs to keep each run clean.
Takeaways
- Idle agents are not free — a heartbeat on a fat session can cost more than real work.
- If most tokens are
cacheRead, you're paying to re-read history, not for new work. - Verify that "off" is actually off — empty
HEARTBEAT.mddidn't stop the heartbeat in the reported build. - Read the per-turn transcripts; token usage is recorded there per input/output/cacheRead.
The user cut their token usage by more than half with these config changes.
📖 Read the full source: r/openclaw
👀 See Also

You Can Run OpenClaw: Three Paths to an AI Agent (No Terminal Required)
OpenClaw's one-liner installer, managed platforms, and local ollama models remove the technical barrier. Pick your path and start with boring tasks.

Leveraging Agent Skills for Writing CUDA Kernels with Upskill
Hugging Face introduces a practical approach to upskill models for writing CUDA kernels using the new Upskill tool, improving model efficiency through agent skills.

Practical Multi-Agent System Architecture Advice from Experience
A developer shares five specific patterns for building multi-agent AI systems based on experience running a 7-agent daily system: start with one agent, use an orchestrator pattern, implement shared memory with JSON files, route models by task, and add confirmation loops.

Configuring OpenClaw for Smooth Agent-to-Agent Communication
A Reddit user shares specific configuration settings for OpenClaw that reduce timeouts in agent-to-agent communication, including tool visibility settings, memory directives, and workarounds for the ANNOUNCE_SKIP limitation.