<!-- https://zerolog.ch/unattended-agents -->
Unattended runs

# /goal and /ultracode: agents that run without you

A /goal run keeps going on the server after you close the tab. You write the finish line as a condition the chat can show, for example “pytest reports 0 failed”. After each round a separate model reads the transcript and rules: met, not met or impossible. When it says met, the run ends.

Request access

[See pricing](https://zerolog.ch/pricing)

Closed preview. Accounts are opened on request.

~/project Example

```
# in the chat
> /goal pytest reports 0 failed

# after each round, one line in the chat
⎿ Stop hook · goal not met yet: test_negative_amount still fails
↻ Hook called model again · round 1
✓ Goal met — pytest reports 31 passed
```

## How a /goal run works

- **You set the condition**

  Up to 4,000 characters. “Make it better” never becomes true. Write something the checker can see in the chat, such as “the build prints no errors”.
- **A separate model checks**

  After every answer it reads the chat since the goal was set: up to 400 messages, limited to the last 16,000 characters. If the condition is not met, it says why, and the model is called again with that reason.
- **It runs on the server**

  Close the tab and the next round still starts. Reload the page and the lines are where you left them.
- **Every round is a line in the chat**

  After each round you see the checker’s reason. /goal on its own shows the current goal, its state and the rounds used. /goal clear ends it.

## When a run stops

- **Met**

  The checker found the condition true in the transcript.
- **Impossible**

  The transcript shows a hard blocker the model cannot remove itself, such as an access right you must grant. Slow progress does not count.
- **Stalled**

  The checker named the same missing piece four rounds in a row. The run is going in circles.
- **Capped**

  25 rounds by default. The operator can change that number.
- **Time limit**

  The run reached the time limit of your plan (below). Your chat and files stay.
- **Paused with an error**

  The checker failed, or your credit is at zero. The goal stays set. Top up, then send “continue”.

## Time limit per run

One /goal run may continue without a stop for at most 4 hours on Mini, 8 hours on Pro and 12 hours on Max. Ultra has no limit. The limit applies per run, not per month: a new goal starts a new run. See [plans](https://zerolog.ch/docs/plans) for what each plan includes.

## /ultracode: several agents on one task

/ultracode is a switch, not a job. When it is on, the model in your chat may split a large task across several agents in your container when that is faster than doing it alone. It decides when. Short questions still get a short answer.

- **Parts run in parallel**

  The task is split into parts, and each part gets its own agent.
- **Two checkers per part**

  After an agent finishes, two reviewers are told to find what is wrong with the files it changed, not with its summary. A part they reject goes back for a fix.
- **A card in the chat**

  The plan, one line per agent with its state, and a log per agent. The card streams from the server, so you can reload or switch devices and it picks up where the run is.
- **The same limits as any job**

  Your plan’s run time and the budget governor apply. Several models on one task mean several bills, so use it where being wrong is expensive: audits, migrations, a review before a release.

## What stops spending, and what does not

- **Credit is the hard stop**

  Paid models stop at zero credit. Work does not continue and bill you later.
- **A time limit per plan**

  A /goal run ends at the time limit of your plan.
- **A cap for delegated agents**

  Delegated sub-agents draw from a default cap of CHF 0.50 per chat turn, with at most four delegated calls per turn.
- **No spend cap per run**

  There is no spend cap per run, per chat or per agent. A long run can use all the credit you have until it ends or the credit reaches zero.
- **The budget governor is the operator’s**

  It adds up what the whole service spends on models in a month. The operator sets it, not you, and it does not watch a single run.

Details: [/goal](https://zerolog.ch/docs/goal), [/ultracode](https://zerolog.ch/docs/ultracode), [Spend limits](https://zerolog.ch/docs/limits), [Budget governor](https://zerolog.ch/docs/governor), [Jobs](https://zerolog.ch/docs/jobs).

## Questions

- **How do I stop an autonomous AI agent from running up a big bill?**

  Your credit is the hard stop: at zero, paid models stop, and nothing is billed afterwards. Each /goal run also has a plan time limit, 4 hours on Mini, 8 on Pro, 12 on Max and none on Ultra. There is no spend cap per run, so check your balance before a long run.
- **What happens if a /goal condition is never met?**

  The run stops on its own. It ends as stalled when the checker names the same missing piece four rounds in a row, as capped after 25 rounds by default, and as time limit when your plan’s run time is used up. Your chat and files stay, and you can set a new goal.
- **Does a /goal run continue after I close the browser?**

  Yes. The server drives the run, so the next round starts even with the tab closed. When you come back, reload the page: every round is a line in the chat with the checker’s reason. If your credit reached zero meanwhile, the goal is paused and waits for you.
- **Is /ultracode more expensive than a normal chat?**

  Usually, yes. When the model splits a task, several agents and two checkers per part each call a model, so one task produces several model bills. Use it where a wrong result is costly, such as audits or migrations. For everything else a single run is cheaper.

## Keep reading

- **[Claude Code in the cloud](https://zerolog.ch/claude-code-cloud)**

  Run long Claude Code tasks as /goal in your own container.
- **[AI coding agent with a persistent workspace](https://zerolog.ch/ai-coding-agent-workspace)**

  Files, snapshots, jobs and schedules that outlast a chat.
- **[API key proxy for AI agents](https://zerolog.ch/api-key-proxy-for-ai-agents)**

  Let an agent use a key without ever seeing it.
- **[Use your own Claude or ChatGPT subscription](https://zerolog.ch/bring-your-own-ai-subscription)**

  Claude Code and Codex on the plan you already pay for.

## Give an agent a goal you can check

Ask for access, set a goal, close the tab.

Request access

[See pricing](https://zerolog.ch/pricing)
