openclaw workboard is the terminal surface for the bundled Workboard plugin. It lets an operator list cards, create a card, inspect one card, and ask the running Gateway to dispatch ready work into subagent worker runs.
Enable the plugin before using the command:
Usage
status values: triage, backlog, todo, scheduled, ready, running, review, blocked, done. Valid priority values: low, normal, high, urgent.
list
Compact text output hides archived cards by default so the CLI matches
/workboard list. Pass --include-archived to show them. JSON output always keeps the full card list, including archived cards, for existing automation.
create
create writes directly to Workboard SQLite state. The card is immediately visible in the Control UI Workboard tab and to Workboard tools.
show
passed records the worker’s
self-assessment of the attached command or check. It is not an independent verification
result.
move
move changes the card’s status using the same manual-operator path as dragging a card in the dashboard. It accepts a full card id or an unambiguous prefix. Active dependency and schedule holds still apply. Operators may move a claimed card without its agent claim token. Claim tokens remain scoped to agent-tool mutations, and JSON output redacts them.
dispatch
dispatch first calls the running Gateway RPC method workboard.cards.dispatch. That method uses the same subagent runtime as the dashboard dispatch action. Ready cards therefore become task-tracked worker runs with linked session keys. --max-starts uses the additive workboard.cards.dispatchWithOptions method, so an older Gateway rejects the option before starting any workers. Restart the Gateway after upgrading, before you use the flag. Cards with an assigned agent use agent-scoped subagent session keys. Unassigned cards keep an unscoped subagent key, so the Gateway’s configured default agent is preserved.
The dispatch loop:
- Promotes dependency-ready children to
ready. - Blocks expired claims or timed-out worker runs.
- Selects a small batch of unclaimed ready cards.
- Claims each selected card for the dispatcher or assigned agent.
- Starts a subagent worker run with bounded card context and the card claim token.
- Stores the worker run id, session key, task linkage when the Gateway task ledger reports it, execution status, and worker log on the card.
--max-starts <count> with a positive integer to change the per-pass cap. The one-card-per-owner rule still applies, so the effective number of starts can be lower.
If worker start fails after a card is claimed, Workboard blocks that card and clears the claim. It records the failure in card execution and worker-log metadata. Failed starts stay visible instead of returning the card to the queue silently.
The CLI falls back to data-only dispatch against local Workboard state when both of these are true:
- You give no explicit Gateway target.
- The local Gateway is unavailable, or it does not expose the Workboard dispatch method yet.
--url or --token target, are reported directly instead of triggering the fallback.
Text output reports worker starts:
started and startFailures. Data-only fallback includes gatewayUnavailable: true. Claim tokens are redacted from card JSON output.
In the dashboard, the same dispatch result appears as a short summary. An operator can see how many cards started, promoted, blocked, reclaimed, or failed without opening card details.
Slash command parity
Command-capable channels can use the matching slash command:/workboard list and /workboard show are read commands for authorized command senders. /workboard create, /workboard move, and /workboard dispatch mutate board state and require owner status on chat surfaces or a Gateway client with operator.write or operator.admin.
Permissions
The CLI dispatch path normally requests Gatewayoperator.write and operator.read scopes. Workspace-bound cards run directly in an exact configured agent workspace. A worktree request is narrowed to that directory, so the host does not materialize repository-controlled code. The selected worker must have writable, non-shared Docker sandbox access to that exact workspace, a live container hash matching the requested mounts and policy, and no host escape capability. Pass --admin to explicitly request operator.admin, allow another host checkout, and use normal managed-worktree setup. The connection fails if that scope is not approved for the client. A read-only Gateway token can inspect Workboard data through read methods, but it cannot create cards or dispatch workers. Workspace limits do not otherwise change manual card movement for callers with Workboard mutation permission.
Local list, create, show, and move commands operate on the local OpenClaw state directory used by the current profile. Use --dev or --profile <name> on the top-level openclaw command when you need a different state root.
Troubleshooting
No cards appear
Check that the plugin is enabled for the same profile and state root:--dev or --profile setting.
Dispatch says data-only
Start or restart the Gateway:openclaw workboard dispatch. Data-only fallback is useful for local state cleanup, but worker runs need a live Gateway.
Dispatch starts nothing
Check for at least oneready card without an active claim:
done, release stale claims through the Workboard tools, or run dispatch again after the active worker finishes.