A parallel-agent budget is a limit on work in progress as much as a token number. Every active session can add provider usage and a future review decision. Set a budget for the outcome, name the owner, and stop work that no longer improves the result.
Choose a unit you can control
For an API account, record a task-level spending cap in your own currency and check the provider's actual billing controls. For a subscription CLI, record the plan's available usage and reset timestamp instead; an API-equivalent estimate is not a spend limit. For either path, set a review capacity such as two PRs before launching a third implementation. Canopy's usage view can help observe supported CLI signals, but it cannot enforce every provider's billing or quota boundary.
Give each agent a contract
Write the outcome, checkout, acceptance checks, and stop condition before starting a session. An implementation agent may stop after passing its focused tests and presenting a diff. A reviewer may stop after reporting evidence-backed findings, including a clear 'no finding' result when appropriate. A research agent should return a cited answer and next decision, not quietly edit code. Separate worktrees protect working files, while explicit ownership prevents two agents from solving the same task twice.
Reserve capacity for integration
Do not allocate the whole allowance to generation. Hold room for reviewing diffs, running the app, fixing CI, merging branches, and asking one follow-up question. A rough planning split can be written as three buckets: implementation, verification, and contingency. Pick values from your own history; no universal percentage is supported by the evidence. If you have no history, start with one implementation and one review session, then measure before expanding.
Inspect the budget at decision points
Check after the first useful result, after a failed test or repeated retry, and before starting another agent. Record session, CLI, model, branch, reported token categories, estimate timestamp, actual provider plan/billing signal, and remaining review queue. A stale usage snapshot is a reason to inspect the provider directly. If no accepted outcome is getting closer, stop and re-scope; a low current token total does not justify unlimited retries.
| Session | Allowed outcome | Stop point | Human decision |
|---|---|---|---|
| Implementer | One tested patch in its worktree | Focused tests and diff ready, or two unexplained failures | Accept for review or re-scope |
| Reviewer | Evidence-backed findings on that patch | Findings and test evidence delivered | Fix, accept, or reject |
| Next agent | Not launched yet | Wait for review capacity | Start only if it adds an independent outcome |
Evaluate the complete batch
At the end, count accepted changes, rejected branches, retries, human review minutes, and elapsed time alongside available usage. Compare with a one-agent baseline on similar work. If parallelism reduced waiting but raised rework and review pressure, lower concurrency or narrow tasks. If an independent reviewer caught a real defect, count that value even if token use rose. The budget should help finish good work, not merely maximize simultaneous sessions.
Copyable resources
Parallel-agent budget card
Fill before launch and update after each decision point.
Outcome and acceptance checks: [ ]
CLI accounts/plans and reset timestamps: [ ]
API spend cap or subscription usage boundary: [ ]
Implementation / verification / contingency allocation: [ ]
Agent 1 owner, branch, stop point: [ ]
Agent 2 owner, branch, stop point: [ ]
Review queue limit: [ ]
Usage source, timestamp, and reporting gaps: [ ]
Accepted changes, retries, review minutes, final decision: [ ] Frequently asked questions
Does opening a second Canopy tab share one model allowance?
Each supported CLI session uses its configured provider account and model. Account sharing and limits depend on the provider and setup; Canopy does not pool subscriptions.
Can I use Canopy's estimated cost as a hard cap?
No. Estimates can be incomplete or stale and do not enforce provider billing. Use provider controls and verify actual usage there.
What if both agents edit the same files?
Stop and assign one owner, or isolate the changes in separate worktrees with an explicit integration plan. A token budget cannot resolve conflicting code decisions.
When should I add a third agent?
When it has an independent, checkable outcome and someone can review the work already in progress. Measure that choice against your own baseline.