What happens when your plan runs out: your agent keeps working

Plans6 min read

A quota usually runs out in the middle of a task, and the agent stops with an error. Context Mode does not do that. When your free requests are used up or a Pro plan ends, your agent keeps working as plain Claude Code or Codex. You get a heads-up before, one clear line when it happens, and a one-click way back. A test checks every feature in every account state: 496 cells per agent, 0 wrong.

The problem: a quota that breaks your agent mid-task

You run a coding agent all day. It is halfway through a refactor, with a tool call in flight. Then a billing check says no, and the request fails.

Now you have a broken session, a half-done change and an error that has nothing to do with your code. You did not choose to stop. The tool stopped for you.

We built Context Mode so this never happens. Our billing design starts with one rule:

A plan state changes what Context Mode adds to a request. It never decides whether the request reaches the model.

When an account pauses

Three cases pause an account:

A payment problem never cuts service on its own. If a card fails, Pro keeps running while Stripe retries. The account pauses only after the retries run out. If you cancel at period end, everything runs until that period ends.

What "paused" means for your agent

A paused request goes to the model the way plain Claude Code or Codex would send it. Context Mode makes one change, and it makes it so the model does not get confused.

On earlier full turns, Context Mode rewrote some tool calls in your history and added notice lines. If we sent that history on as it was, the model would see calls to tools it no longer has. So before a paused request goes out, Context Mode puts the history back the way the model wrote it. After that, nothing is cut, folded, recalled or checked.

The reply comes back as the provider sent it, plus the paused notice line. During silences over 5 seconds, Context Mode sends small keep-alive events, so your client does not time out.

We did not build a new path for this. Paused mode reuses the path we already run for request bodies over 12 MiB, with every switch off except the notice.

Two bugs we found and fixed first

Moving a live session from full to paused found two problems. Both are fixed and covered by tests.

Errors follow the same rule. If your context is too big, the provider's "prompt is too long" reaches your client exactly as plain Claude Code would see it.

Which features stop: all of them

When an account pauses, everything Context Mode adds stops: Context Saving, Thinking in Code, tool-schema trimming, Active Context, Recall, Memory, Skills, Search, Session resume, Protect and Instructions.

Instructions surprises people, but it is text we add to the request, and a paused request gets nothing added.

Protect was the hard call. Our first draft kept its core rules on after the pause. We changed that. If Protect kept running after Free, some people would sign up only for Protect, and Free would never end for them.

We think this is the fair line:

What keeps working while paused

Some things are not features, so they never stop:

ThingWhile paused
Your past dataConsole reads of sessions, savings, memory and analytics stay open. Changes to paid settings (Skills, Protect rules, reply style) answer HTTP 402 with a one-line message.
Deleting your dataAllowed in every state. It is a right, not a feature.
Your accountBilling, sign-in, devices and npx @context-mode/cli disconnect always work.
The local guardAnswers "allow" and never blocks your own programs.

How you are told

No surprise stop. You get a heads-up before the pause and a plain line when it starts.

At 80% and 95% of the free requests, your terminal shows one line per session:

Heads-up: 800 of your 1,000 free requests are used (80%). At 1,000 Context Mode pauses
and your agent runs as plain Claude Code. Pro in one click: https://console.context-mode.com/app/billing?upgrade=1

When the pause starts, the line says what happened and what stopped:

Context Mode is paused: your 1,000 free requests are used, so your agent now runs as plain
Claude Code, without savings, memory, skills, reply style or Protect. Move to Pro in one click
to turn them back on: https://console.context-mode.com/app/billing?upgrade=1
(or remove Context Mode with: npx @context-mode/cli disconnect)

Turning it back on

The link in every notice opens the billing page. On a Free account it goes straight to Stripe Checkout, after sign-in if needed. That is the one click.

You do not need to restart your agent. The next request after the payment runs full again, and its reply says: "Context Mode is back on: savings, memory and skills work again." You can move up in the middle of a session.

An ended Pro plan does not reopen the Free requests. It stays paused until you buy again.

How we know each case is right

"Does feature X still run after Pro is cancelled?" used to need someone to read the code. Now one registry file answers it. It lists 16 account states and 31 features, and a test fails if the code adds a feature the registry does not list.

A second test checks every feature in every state with real request bodies through the built gateway. The run on October 9, 2026:

AgentCellsRan as expectedOff as expectedNot this agentWrong
Claude Code49629520100
Codex496286194160

The 16 "not this agent" cells are Active Context, which exists only for Claude Code.

What this does not show yet:

How to try it

npx @context-mode/cli

It signs you in and connects Claude Code and Codex. Free is 1,000 requests with every feature and no card. Your own Anthropic or OpenAI account pays for the model. When the requests run out, your agent keeps working.