Skip to main content
The hirotm tasks commands list, show by id, create, and change work items on a board: filterable listing, fetch one task by global id, add a card, edit fields, move it to another column, or send it through Trash (deleterestore or purge). Global options and output modes: hirotm CLI. You need the right CLI permissions on each board—see CLI access policy. Use hirotm boards describe and Lists to look up board slugs, list ids, and group ids. For shared flags (--profile, --client-name), see hirotm CLI. Access policy Turn on the toggles your workflow needs in Board settings. If the CLI is not allowed to do something, the command fails with an error message. For how Trash fits together, see the Trash: delete, restore, and purge section in Concepts.

Task Operations

tasks list

List tasks on a board. --board is required. Optional flags limit by column, group, priority, workflow status, release, or date range (same filters as the former boards tasks command).
OptionTypeRequiredDescription
--board <id-or-slug>stringBoard id or slug.
--list <id>integerOnly tasks in that column (list).
--group <id>integerOnly tasks in that group (repeat the flag or use commas).
--priority <id>integerOnly tasks with that priority (repeat or commas).
--status <id>stringOnly tasks in that workflow status (repeat or commas).
--release-id <id>integerOnly tasks in those releases (repeat or commas; combined with OR).
--untaggedflagInclude tasks with no release (used together with --release-id as OR).
--date-mode <mode>stringopened, closed, or any.
--from <yyyy-mm-dd>stringStart of date range (inclusive).
--to <yyyy-mm-dd>stringEnd of date range (inclusive).
--limit <n>integerPage size after server-side sort/filter (omit for one full response).
--offset <n>integerSkip this many tasks (default 0).
--page-allflagMerge all pages (--limit or 500 per request).
--count-onlyflagPrint total matches only (Paging); not with --limit, --offset, --page-all, or --fields.
--fields <keys>stringComma-separated API keys per row. Allowed: taskId, boardId, boardSlug, listId, title, body, groupId, priorityId, status, order, color, emoji, createdAt, updatedAt, closedAt, createdByPrincipal, createdByLabel, releaseId. See Field projection.
Accepts global -q / --quiet (with --format ndjson); default field taskId. See Pipe-friendly quiet. CLI Examples
hirotm tasks list --board sprint
hirotm tasks list --board sprint --list 3 --status open
hirotm tasks list --board sprint --release-id 1 --untagged
hirotm tasks list --board sprint --limit 100 --offset 200
hirotm tasks list --board sprint --page-all --limit 250
hirotm tasks list --board sprint --count-only
hirotm tasks list --board sprint --fields taskId,title,listId,status
hirotm tasks list --board sprint --profile dev              # non-default profile (optional)

tasks show

Print one task by global numeric id (GET /api/tasks/:taskId). The API resolves the board and applies readBoard for that board—no --board flag.
OptionTypeRequiredDescription
<task-id>integerGlobal task id.
--fields <keys>stringSame allowlist as tasks list (see Field projection).
CLI examples
hirotm tasks show 101
hirotm tasks show 101 --fields taskId,title,status

tasks add

Create a task on a board. You must pass board, list (column), and group. The app fills in a default title if you skip --title.
OptionTypeRequiredDescription
--board <id-or-slug>stringBoard id or slug.
--list <id>integerColumn (list) id.
--group <id>integerTask group id.
--title <text>stringTitle (default Untitled).
--status <id>stringWorkflow status (default open).
--priority <id>integerPriority row id (omit for built-in none).
--release <name-or-none>stringRelease by exact name, or none for no release. Do not use together with --release-id.
--release-id <id>integerRelease by id. Do not use together with --release. Omit both (with board defaults) to let the server auto-assign when that is enabled.
--emoji <text>stringEmoji before the title.
--clear-emojiflagStore no emoji.
--body <text>stringBody (Markdown).
--body-file <path>stringRead body from a text file.
--body-stdinflagRead body from the terminal until input ends.
CLI Examples
hirotm tasks add --board sprint --list 2 --group 1 --title "Ship v1"
hirotm tasks add --board sprint --list 2 --group 1 --release none
hirotm tasks add --board sprint --list 2 --group 1 --title "Triage" --client-name "Cursor Agent"   # optional label last
AI Agent Examples

Add a task "Buy metro tickets" on board bucket-lists in list 2 and group 1.

CursorOpen in Cursor

tasks update

Change any mix of fields on an existing task. The CLI resolves the board from the task id, so there is no --board flag. You must include at least one change flag.
OptionTypeRequiredDescription
<task-id>integerTask id.
--title <text>stringNew title.
--body <text>stringBody (Markdown).
--body-file <path>stringBody from a text file.
--body-stdinflagBody from the terminal until input ends.
--status <id>stringWorkflow status id.
--list <id>integerMove to this list id (column).
--group <id>integerTask group id.
--priority <id>integerPriority row id (use built-in none id to reset).
--release <name-or-none>stringRelease by name, or none. Not with --release-id.
--release-id <id>integerRelease by id. Not with --release.
--color <css>stringCard color (CSS).
--clear-colorflagRemove card color.
--emoji <text>stringEmoji before the title.
--clear-emojiflagRemove emoji.
CLI Examples
hirotm tasks update --title "Ship v1.1" 101
hirotm tasks update --list 3 --group 1 101
AI Agent Examples

Set task 101 title to "Done when shipped".

CursorOpen in Cursor

tasks move

Move a task to another column (--to-list), optionally change its status in that column, and choose exactly one ordering hint: --first, --last, --before-task, or --after-task. The CLI resolves the board from the task id.
OptionTypeRequiredDescription
--to-list <id>integerDestination column (list) id.
<task-id>integerTask id to move.
--to-status <id>stringStatus in the destination (omit to keep the current status).
--before-task <id>integerPlace before this task in the destination band.
--after-task <id>integerPlace after this task in the destination band.
--firstflagFirst in the destination band.
--lastflagLast in the destination band.
CLI Examples
hirotm tasks move --to-list 3 --first 101
hirotm tasks move --to-list 3 --after-task 99 101
AI Agent Examples

Move task 101 to list 3 at the top.

CursorOpen in Cursor

tasks delete

Send a task to Trash. The CLI resolves the board from the task id for permission checks, confirmation text, and dry-run previews.
OptionTypeRequiredDescription
<task-id>integerTask id.
--dry-runflagPreview only; do not move to Trash. See Dry-run preview.
-y, --yesflagSkip the confirmation prompt.
CLI Examples
hirotm tasks delete 101
hirotm tasks delete 101 --dry-run
hirotm tasks delete 101 --yes
AI Agent Examples

Move task 101 to Trash (non-interactive).

CursorOpen in Cursor

tasks restore

Bring a task back from Trash. Only the task id is required (no board flag).
OptionTypeRequiredDescription
<task-id>integerTask id (see hirotm trash list tasks if unsure).
-y, --yesflagSkip the confirmation prompt.
CLI Examples
hirotm tasks restore 101
hirotm tasks restore 101 --yes
AI Agent Examples

Restore task 101 from Trash (non-interactive).

CursorOpen in Cursor

tasks purge

Remove a task from Trash permanently. Cannot be undone. Only the task id is required.
OptionTypeRequiredDescription
<task-id>integerTask id already in Trash.
--dry-runflagPreview only; do not purge. See Dry-run preview.
-y, --yesflagSkip the confirmation prompt.
CLI Examples
hirotm tasks purge 101
hirotm tasks purge 101 --dry-run
hirotm tasks purge 101 --yes
AI Agent Examples

Permanently delete task 101 from Trash (non-interactive).

CursorOpen in Cursor

Learn more

Run hirotm help tasks or hirotm help tasks <subcommand> for the full help text in your installed CLI.