You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Free-tier quota fully consumed by background/autonomous agents with no usage attribution #62612
My OpenCode free-tier quota shows as 100% consumed every day even though I am not actively prompting in the TUI. After investigating locally, the consumption comes from background/autonomous agent activity, not from me using the app:
The OpenCode AI Desktop app keeps a persistent background service (opencode-cli.exe serve --service, plus a long-lived opencode.exe serve --port 4191) running for 10+ days.
An enabled MCP server (agentos) drives autonomous agent sessions against the native free models (opencode/<model>-free). A separate pipeline (graphify) calls https://opencode.ai/zen/v1 (free nemotron-3-ultra-free) in a replay loop.
My config has doom_loop: "allow" and the agents run on timers (presence hourly, watchdog every 60s, a while(true) observation loop), so they drain the free quota 24/7 with no user action.
The actual bug is zero usage attribution: the account/dashboard shows "free usage fully consumed" but gives no breakdown of which session, agent, or MCP server consumed it, and no way to see or stop background consumption. It looks like phantom/unauthorized usage when it is actually my own autonomous agents.
What I'd expect
Attribute free-tier consumption per session / agent / MCP server (what consumed how much, when).
Surface running background/autonomous agent loops in the UI with a pause/stop control.
Don't let doom_loop/MCP agents silently consume the free tier with no visibility.
Plugins
agentos MCP server (points at bridge/agentos.v0.2/multi-externos/agentos-mcp-server.mjs)
OpenCode version
CLI 1.18.30; AI Desktop 2.2.6
Steps to reproduce
Enable an MCP server that runs autonomous agents against opencode/*-free.
Set doom_loop: "allow" and leave an agent session running on a timer.
Walk away. Observe the free-tier quota is fully consumed daily with no indication of the source.
Thanks for looking into this so thoroughly and writing it up. As I understand it, you're asking for free-tier usage to be broken down by session, agent and MCP server, and for background or autonomous agent loops to be shown in the app with a way to pause or stop them, so that this kind of usage doesn't look like unexplained consumption.
The usage itself comes from requests your own agents and pipeline made, so the app is doing what it was built to do. I've filed this as a feature request, and maintainers will consider it.
Until something like this exists: stopping the agentos MCP server and the graphify replay loop, or pointing them at your own API key instead of the opencode/*-free models, should keep your free quota for interactive use. Setting doom_loop back to ask will also make the agents stop and ask you when they get stuck repeating themselves.
Per-agent attribution would have made this a two-minute diagnosis. For anyone running autonomous loops on timers in the meantime: a request budget per agent or per MCP server, checked before each call, stops a while(true) loop at a set number instead of draining the shared quota. doom_loop: "allow" plus timers is the combination worth auditing first.
Disclosure: I build SteerPlane, which puts hard cost and step limits on agent runs.
Activity
opencodejr commentedon Nov 7, 2026
Thanks for looking into this so thoroughly and writing it up. As I understand it, you're asking for free-tier usage to be broken down by session, agent and MCP server, and for background or autonomous agent loops to be shown in the app with a way to pause or stop them, so that this kind of usage doesn't look like unexplained consumption.
The usage itself comes from requests your own agents and pipeline made, so the app is doing what it was built to do. I've filed this as a feature request, and maintainers will consider it.
Related issues you may want to follow:
Until something like this exists: stopping the
agentosMCP server and thegraphifyreplay loop, or pointing them at your own API key instead of theopencode/*-freemodels, should keep your free quota for interactive use. Settingdoom_loopback toaskwill also make the agents stop and ask you when they get stuck repeating themselves.vijaym2k6 commentedon Nov 8, 2026
Per-agent attribution would have made this a two-minute diagnosis. For anyone running autonomous loops on timers in the meantime: a request budget per agent or per MCP server, checked before each call, stops a
while(true)loop at a set number instead of draining the shared quota.doom_loop: "allow"plus timers is the combination worth auditing first.Disclosure: I build SteerPlane, which puts hard cost and step limits on agent runs.