Skip to Content

Issues (Board)

The Board is cmdop’s local + remote backlog. Issues have IDs like CMD-42, are atomically minted, and live in cmdop.db (SQLite). The CLI is a thin wrapper around internal/storage/backlog/.

Issues created via CLI are visible to the desktop Board tab and the web cabinet’s observability section. The same cmdop.db is read by all surfaces — there is no separate “CLI board” vs “web board”.

List issues

cmdop issue list cmdop issue list --status open cmdop issue list --label backend --label priority cmdop issue list --assignee me cmdop issue list --json

Output:

ID STATUS TITLE LABELS ASSIGNEE CMD-42 in-progress Investigate flaky test bug, flaky alice CMD-41 open Rotate Postgres backups ops - CMD-40 closed Upgrade nginx to 1.27 ops bob

Show, create, update

cmdop issue show CMD-42 cmdop issue create --title "Investigate flaky test" --label bug --label flaky cmdop issue update CMD-42 --status in-progress --assignee alice cmdop issue update CMD-42 --label +backend --label -frontend # add/remove labels cmdop issue update CMD-42 --description "$(cat notes.md)"

cmdop issue create mints the next sequential CMD-N atomically (concurrent CLI + daemon writers don’t collide).

Close / delete

cmdop issue close CMD-42 --reason "fixed in 1.2.3" cmdop issue delete CMD-42

Closing snapshots the reason for the audit trail. Deletion is permanent — close is preferred unless the issue was created by accident.

Anchoring chat to an issue

cmdop chat --issue CMD-42 makes the agent’s todo_write and delegate_task outputs land under that issue. Subagent results are also threaded under it. Cross-link to ./chat.

cmdop chat --issue CMD-42 cmdop chat --machine vps-audi --issue CMD-42

After the chat exits, view what landed:

cmdop issue show CMD-42

ID minting

IDs (CMD-N) are atomically minted across concurrent CLI + daemon writers via a SQLite sequence. Don’t try to predict the next ID — fetch after create, or use --json to capture the new ID:

NEW_ID=$(cmdop issue create --title "x" --json | jq -r '.id') cmdop issue show "$NEW_ID"

Subtasks

Pass --parent to make an issue a subtask of another:

cmdop issue create --title "Add fixture for case A" --parent CMD-42 cmdop issue create --title "Add fixture for case B" --parent CMD-42

Subtasks show indented in cmdop issue list.

Tools the agent uses

Inside chat, the agent can call issue_list, issue_get, issue_create, issue_update, issue_close. These are gated by the standard permission system. Cross-link to the agent runtime docs.

Filter combinations

cmdop issue list --status open --label bug --assignee alice cmdop issue list --status closed --since 7d cmdop issue list --search "nginx" # full-text search
Last updated on