The share of each harness's quota
Claude Code and Codex each have a quota, counted in windows that reset after a while. A scheduled task could spend a window up to 100% and leave nothing for your own work. You can cap the share of each window HarmFlow may spend on each harness, so HarmFlow stops starting attempts on it before the window is spent.
Where to set it
Open Settings, then AI tools, and find the Quota panel. It has one slider per harness, Claude Code and Codex, from 1% to 100%, with the share shown beside it. The share is saved when you let go of the slider.
The panel shows only the share, not how much of a window is used now.
One share for all your tasks
The share is yours, not a task's: it applies to every task, and no task sets or changes it. A harness whose share you never set may spend the whole of each window, as it could before the slider existed.
Checked before each attempt
Before an attempt starts on a harness, HarmFlow checks that harness's windows. When a window is at or above the share, the attempt does not start on that harness:
- When the task has a fallback harness left, the execution moves to it, as it does when a quota runs out.
Failing over on an exhausted quota is on unless the task's
fallback.onleaves outquota_exhausted. - Otherwise the execution fails. Its result names the harness, the share, the window, and when the window resets, when the harness reports it.
When the quota cannot be read, the attempt starts without this check, and the execution shows a warning that says so.
Never during an attempt
The share never ends a running attempt. If a window passes the share while an attempt runs, the attempt runs to its end, and the share holds back the next one.
Tasks that allow extra usage
A task that allows extra usage, allowExtraUsage in the
task file's execution section, is not held back
by the share.