Skip to content
HomeNewsOpenClaw Token Bill: Find the Leak and Cut Costs

Subscribe to our newsletter

One short email when we publish. No spam, unsubscribe anytime.

OpenClaw Token Bill: Find the Leak and Cut Costs

OpenClaw Token Bill: Find the Leak and Cut Costs

By OneClickClaw EditorialNovember 1, 2026

On the 23rd of October 2026, a post by Fl1xyBaby on r/openclaw explained how a 12-year-old office PC now handles email checks, OCR and voice messages for a small Telegram bot without spending a single token. By the 1st of November it was the second most upvoted post of the month on the subreddit, according to Reddit's top-of-the-month list. The idea behind it is simple: if ordinary software solved a job years ago, run that software and hand the AI model only the result.

OpenClaw is a free, open source personal AI agent: it runs on a computer or server, talks to you through apps such as Telegram, and uses an AI model of your choice to do jobs for you. Every time it thinks, it pays that model in tokens, the small chunks of text (roughly four characters each) that providers bill by. This guide shows how to see where your tokens go and how to cut the bill, step by step. It follows the OpenClaw documentation as read on the 1st of November 2026. If you want to estimate a monthly bill first, our OpenClaw cost guide and what an AI agent costs per month cover the sums. This page is the hands-on part.

What you need

  • An OpenClaw agent on a recent 2026.10 release. Older releases may show different menus.
  • Access to its Control UI, the web dashboard where you chat with the agent and change settings.
  • For the self-hosted steps, a terminal on the machine that runs OpenClaw.

On OneClick, every plan is bring your own key (BYOK): you connect your own model account, and the provider bills you directly. We add no margin on model usage, so every saving below lands in your own pocket.

Step 1: See where the tokens go

Measure before you change anything. OpenClaw has three built-in views.

  • In any chat, type /status. It shows the current model, how full the context is, and the tokens and estimated cost of the last reply. The context is everything the model reads on a turn.
  • Type /usage full to add a small usage footer to every reply, or /usage cost for a local cost summary. /usage off removes the footer.
  • Type /context detail to see how big each part of the prompt is: your agent's files, the tool list, the skills list and the history.

On OneClick: open the Control UI and go to Usage. It breaks tokens and estimated cost down by model, agent, channel and day.

Self-hosted: run openclaw gateway usage-cost --days 7 for the same summary in a terminal, or openclaw status --usage to see how much of each provider's quota is left.

Two things to keep in mind. These figures are estimates from OpenClaw's own logs, so your provider's invoice is the final word. And if you sign in with a subscription, such as ChatGPT Plus, OpenClaw shows tokens only, because the plan has no per-message price.

Step 2: Why one short message can cost thousands of tokens

OpenClaw rebuilds its instructions on every turn and sends them again. According to the token use page, each turn can include:

  • The list of tools and skills the agent may use. A skill is a packaged ability, such as reading a calendar, and each one adds its description to every prompt.
  • The agent's workspace files: AGENTS.md, SOUL.md, IDENTITY.md, USER.md and MEMORY.md. OpenClaw caps them, but together they can reach 60,000 characters.
  • The conversation so far, plus the output of every tool it ran, such as a web page it read.
  • Any images, shrunk to 1,200 pixels on the longest side by default.

That is why a short "hi" in a long chat can be expensive. At the end of October, a user on r/openclaw ran OpenClaw's browser on 100 live web tasks. OpenClaw finished the most tasks of the five setups and also cost the most. According to the poster, each OpenClaw call re-read about 72,000 tokens, against 43,000 for Claude Code and 4,500 for pi.

The cheapest fix comes first: start a new chat for a new topic. Typing /new or /reset gets an answer from OpenClaw itself without calling the model, so it costs nothing. Use /compact when you want to keep a long chat going: it replaces the old messages with a short summary.

Step 3: Put a cheaper model on the routine jobs

Most messages do not need the strongest model. OpenClaw lets you pick a model per job. Our best models guide compares prices, so this step covers only where to set them.

On OneClick: open Model Setup. Signing in with a subscription you already pay for (ChatGPT Plus or higher, or SuperGrok through xAI) draws on that plan's limits instead of a per-token bill. Or choose a lower-priced default model with an API key.

Self-hosted: set the defaults in openclaw.json, OpenClaw's settings file.

{
  agents: {
    defaults: {
      model: { primary: "provider/cheap-model", fallbacks: ["provider/fallback-model"] },
      utilityModel: "provider/cheap-model", // titles, recaps
      subagents: { model: "provider/cheap-model" },
      compaction: { model: "provider/cheap-model" },
      thinkingDefault: "low",
    },
  },
}

A few terms. Fallbacks are the models OpenClaw tries if the first one fails, so keep an expensive model there only if you accept its price. Sub-agents are helper agents the main agent starts for side tasks; without a setting they use the main model. Compaction is the summary step from Step 2. Thinking is extra hidden reasoning the model does before answering, and it is billed too. For one chat only, type /model <name> -s. The model names above are placeholders; use the exact names from openclaw models list.

Step 4: Stop paying the model to check if anything happened

The most common leak is a scheduled check that wakes the model every few minutes to find nothing. A comment under the r/openclaw post put it plainly: asking the model "is anything due?" every few minutes is the same mistake as having it poll the inbox.

Old heartbeat settings. The old heartbeat, a timed check-in, is retired in current releases. Running openclaw doctor --fix turns any heartbeat you had into an ordinary automation (a scheduled job). Then run openclaw automations list --all to see every job, including ones you forgot.

Give each job a light setup. For each automation, set a cheaper model, low thinking and a light context, which skips the workspace files:

openclaw automations edit <job-id> --model provider/cheap-model --thinking low --light-context

The automation payloads page says routine jobs such as summaries, triage and status checks run well on a lighter model.

Let a script do the checking. OpenClaw can run a script on a schedule with no model call at all. This is called a command payload.

openclaw automations create "*/15 * * * *" \
  --name "Inbox check" \
  --command "scripts/check-inbox.sh" \
  --announce --channel telegram --to "<your chat id>"

Whatever the script prints is sent to your chat. If it prints only NO_REPLY, nothing is sent. If it fails, you get a failure alert. The documentation's own advice: anything the model works out from scratch costs the same time and tokens on every run, so keep the model for judgement and move the repeatable parts into code. You do not need to write the script yourself. As another commenter on the post noted, you can ask your OpenClaw agent to write it.

On OneClick: ask your agent in chat to write the check as a script and schedule it as a command automation, then ask it to list your automations so you can check the schedule, model and thinking level of each one.

Self-hosted: use the commands above. Creating command jobs needs admin rights on the Gateway, the background service that runs OpenClaw.

Step 5: Email that wakes the agent only when it matters

The original poster's first fix was email: a small Python script checks the inbox over IMAP (the standard way mail apps read a mailbox), filters spam, strips the formatting, and passes plain text to the model only when something needs doing.

OpenClaw now ships its own IMAP email trigger. It watches a mailbox and starts a separate session for each new email from senders you allow. That session can run on a restricted reader agent with its own low-cost model and no access to your files. Waiting costs no tokens; only real mail does.

On OneClick: ask your agent to set up the IMAP trigger with a separate reader agent and a cheap model, and list the senders it should accept.

Self-hosted: enable the bundled imap plugin and add a mail_reader agent in openclaw.json, following the example on the documentation page. Keep allowedSenders short, because every allowed email is a model run.

Step 6: Voice notes, photos and spoken replies without a paid model

Voice notes. OpenClaw can turn voice messages into text with whisper.cpp or sherpa-onnx, free speech recognition programs that run on your own machine. One catch from the audio documentation: if an audio-capable provider key, for example OpenAI, is configured, it always wins over the local program. To force local, set the local program as an explicit audio model, as shown on that page. Self-hosted: check which one is used with openclaw doctor --lint --only core/doctor/local-audio-acceleration --severity-min info; after a voice note, /status shows the backend.

Photos and scans. OCR (optical character recognition) reads the text in an image. Sending a photo to a vision model costs image tokens. The original poster installed Tesseract, a free OCR program, and reported about three seconds per image on the old PC. OpenClaw's media understanding settings accept a command-line entry, so a setup like this should pass only the text to the model (check on your version):

{
  tools: {
    media: {
      image: { enabled: true },
      models: [
        { type: "cli", capabilities: ["image"], command: "tesseract", args: ["{{AttachmentPath}}", "-"] },
      ],
    },
  },
}

Commenters noted that Tesseract struggles with messy phone scans and large daily batches of PDFs, so test it on your own documents. A simpler saving is to lower agents.defaults.imageMaxDimensionPx for screenshot-heavy work.

Spoken replies. Text-to-speech (TTS) turns replies into audio. OpenClaw's TTS settings include microsoft, which uses Microsoft's online neural voices with no API key, and tts-local-cli, which runs any speech program on your machine. The poster used Piper and found its German voices more natural than the paid option. A Piper entry may need a small wrapper script, so check on your version.

On OneClick: ask your agent to switch TTS to the microsoft provider. Local programs such as whisper.cpp, Tesseract or Piper need to be installed on the server first.

Step 7: Caching and pruning, the free settings

Prompt caching means the provider stores the unchanged start of your prompt and charges less to read it again. Pruning trims old tool output from long chats. The prompt caching page gives a cost-first baseline:

{
  agents: {
    defaults: {
      models: { "anthropic/your-model": { params: { cacheRetention: "short" } } },
      contextPruning: { mode: "cache-ttl" },
    },
  },
}

Also worth doing:

  • Keep SOUL.md, AGENTS.md and MEMORY.md short. They are read on every turn.
  • Switch off skills and connected tool servers you never use, since each adds to the prompt.
  • Keep skill descriptions to one line.

Step 8: Set a hard stop

  • Spending cap. Every major model provider lets you set a monthly limit in its billing dashboard. Set one before anything else.
  • Check fallbacks. A cheap primary model with an expensive fallback can quietly move your traffic to the expensive one when the cheap one is busy.
  • Recheck after updates. After an update, run /context detail again and compare. If an update goes wrong, see OpenClaw update failed.
  • Background memory. Dreaming, OpenClaw's background memory tidy-up, also uses the model. Our dreaming guide shows how to switch it off.

Optional: the same ideas on Hermes Agent

Hermes Agent, Nous Research's open source agent, has the same cost pattern, and its users found similar fixes in October:

Frequently asked questions

Why does OpenClaw use so many tokens? Every turn resends its instructions, tool list, workspace files and the chat so far. Long chats and many skills make each turn bigger.

Does /new cost tokens? No. OpenClaw answers /new and /reset itself, without calling the model.

Can I run OpenClaw for free with a local model? Yes, with a model on your own hardware, but it needs enough memory and a model that handles tool calls well. The local models page and our best models guide explain the options.

Does OneClickClaw charge for tokens? No. Every plan is BYOK, so your provider bills you directly at its own rates.

Why did OpenClaw not use my local Whisper? A configured audio-capable provider key wins over local programs. Set the local program as an explicit audio model to force it.

Helpful documentation

Want your own AI agent running without the setup? We host it on a dedicated EU server. Free for 7 days, no credit card.

Start your free trial

How managed OpenClaw hosting works

Get notified when we publish new articles

No spam, unsubscribe anytime.

By subscribing, you agree to our Privacy Policy.