kew run¶
Pick the next ready issue and dispatch Claude Code to implement it.
Usage: kew run [OPTIONS]
Options:
--loop Continuous mode until queue empty
--dry-run Preview issue selection without running
--show-prompt Print the generated prompt and exit
--issue INT Force a specific issue number
--workers INT Number of parallel workers (overrides config)
--force Bypass budget checks
--model TEXT Override model for this dispatch
--approve Approve this dispatch past the approval gate (requires --issue)

Examples:
# Single dispatch (pick next ready issue)
kew run
# Preview what would be picked
kew run --dry-run
# Continuous mode (processes queue, exits after 3 empty checks)
kew run --loop
# Force a specific issue
kew run --issue 42
# Inspect the prompt that would be sent to Claude
kew run --dry-run --show-prompt --issue 42
# Parallel dispatch with 3 workers
kew run --loop --workers 3
# Release an issue held by the approval gate
kew run --issue 42 --approve
Note:
run --loopis continuous dispatch (drains the ready queue). It is unrelated tokew dispatch <issue> --loop, which supervises a single issue as a first-class, verified loop. Seekew dispatch.
Exit status¶
| Code | Meaning |
|---|---|
0 |
An issue was dispatched (or the loop drained the queue cleanly). |
1 |
The dispatch itself failed. |
2 |
The ready queue was empty — nothing to dispatch. |
3 |
A GitHub query failed (e.g. an expired token or network outage). The queue state is unknown — this is deliberately distinct from 2 so an overnight --loop that dies on a gh failure never looks like a clean, empty-queue drain. |
--approve¶
Approve this dispatch past the approval gate
(requires --issue, not valid with --loop). Use it to release an issue held
with the needs-approval label. Logged as approval_granted. Without
[approval] configured the flag is an accepted no-op.