Web UI

Cap stops and the raises they offer

For each cap that can stop a work item, what the interface and the command line offer to raise it, and what they refuse.

To raise a cap and retry, follow Raise a cap on a stopped item. For what the caps are, see Caps and budgets.

Which cap stopped the item

The stop decides what the item offers.

What stopped itIn the interfaceFrom the command line
A fix loop out of attempts (max_attempts) or time (timeout_minutes) on its nodeRaise cap opens that limit's editorset-policy, then retry (below)
The item's time_cap_minutes or total_time_cap_minutesRaise cap opens that limit's editorset-policy, then retry
The item-wide budget_usdRaise cap (phone: Raise budget) opens a one-number editorkraft item raise-budget ID --usd N
The item's own dollar capRaise cap (phone: Raise budget) opens the budget editor on the Config tabkraft item raise-budget ID --usd N
Any other cap, such as a gate's timeout or a loops: entry in policy.yamlOpen config: raise it as for the time capsas for the time caps
The daily cap, a token_budget, or a node's budget_usdNo raise. The item says why and offers Retryset-policy for a token_budget. A node's budget_usd and the daily cap are not raised this way

Raising a cap in the interface

An item that a time or attempts cap stopped names the limit it hit and offers Raise cap: an editor for that one limit, showing its current value and the policy's maximum, if there is one. Save & retry sets the new value in the item's policy, keeping the item's other policy overrides, and retries the item. A refusal, such as a value past the maximum, shows beside the field and nothing is retried.

  • On a phone, the bar's Raise cap, beside Steer, opens the same editor as a sheet titled for the limit, such as Raise the running time cap.
  • On the board, a row's Raise cap for these caps opens the side panel on its Config tab, which has no editor for them. Click the panel's own Raise cap there: its main button at the bottom, or the one in Overview's banner.

A dollar stop in the interface

  • The item-wide budget_usd. A stop on it names it as its limit, so the item's Raise cap (on a phone, Raise budget) opens a one-number editor and writes the item's policy for you. A stop on a node, step or task's budget_usd names no limit.
  • The item's own dollar cap. The item's Raise cap opens the budget editor on the item's Config tab, and a phone offers Raise budget. Each offers +$5, +$10, no cap, or an amount you type. The amount opens with the cap in force selected, so what you type replaces it.

Budget stops and what the interface offers

Any other dollar or token stop, such as the daily cap, a token_budget or a node's budget_usd, has no raise in the interface. The item says "The item can't raise this cap: the policy or the chain sets it. Retry once it is raised there, or after local midnight for the daily cap.", and offers Retry in place of a raise (on a phone, Retry alone). To get past a node's own budget_usd, skip the node: see the per-scope cap.

On the board, a row or phone card for any budget stop reads Raise budget, even for one the item can't raise. What it opens depends on the stop:

  • The item-wide budget_usd: the side panel's Overview, with the Raise budget cap dialog open.
  • The item's own cap: the Config tab, with the budget editor open.
  • A budget the item can't raise (the day's cap, say): the item on a banner (on a phone, its card) that says why not and offers Retry.

Raising a time or attempts cap from the command line

kraft item set-policy ID --policy time_cap_minutes=240
kraft item retry ID

set-policy replaces the item's whole override, so repeat every --policy you set earlier, or they are dropped. Read what the override holds in policy_override in kraft view show ID --json. --clear removes the override.

A cap on one path, such as verification.time_cap_minutes=90, may exceed that scope's level default up to its level's maximum. It may not exceed what the chain, the item's cap or an enclosing path already gives it. Kraft refuses a larger value and names both scopes.

Raising a budget from the command line

raise-budget and the MCP raise_budget tool raise whichever dollar cap stopped the item, as Raise cap does: the item-wide budget_usd in its policy, or the item's own cap that kraft item create --budget sets. On the item-wide budget_usd, they set it in the item's policy override and keep every other field the override sets. The two dollar caps tells them apart.

kraft item raise-budget ID --usd 25
raised the cap on <id> to $25 and retried it; the item is now running

Three stops are not raised this way:

  • token_budget. Raise it with kraft item set-policy ID --policy token_budget=N, as for the time caps.
  • A node's budget_usd. Skip the node instead: see the per-scope cap.
  • budget.daily_usd. It is refused everywhere: raise it in policy.yaml, or wait for local midnight. Then run kraft item retry.

A change to budget_usd or token_budget in policy.yaml reaches only items filed after it.

If every slot is busy, raise-budget raises the cap and queues the retry: the item starts when a slot frees. kraft item pause takes it out of the queue, as Remove from queue does in the web UI.

A stop on unknown spend is a variation of its own: see A stop on unknown spend.

Copyright © 2026