Skip to main content
The CLI uses issue for task commands because the API resource is named issues.

List issues

--open excludes terminal statuses done and cancelled, plus every archived issue. It includes all other statuses, including custom workflow columns, and composes with project/search filters, ordering, pagination, and JSON output. --open cannot be combined with --include-archived. In JSON mode, project-scoped issue lists include project_context with the project’s board columns. Column description values are team-authored guidance for when work belongs in each stage.

View an issue

Identifiers can be UUIDs or human-readable identifiers like ATOLL-42. In JSON mode, issue detail includes status_column for the current status and project_context when the issue belongs to a project.

Create and update

Use --comment-body or --comment-body-file with issue update when a status change should also leave a durable progress note, such as strategy evidence from a heartbeat recommendation. Issue command --project flags accept a project ID, slug, or exact name. This applies to listing, creation, updates, upserts, and bulk defaults. In bulk JSON items, use project for an ID, slug, or exact name; projectId and project_id are treated as canonical IDs. issue create --milestone accepts a milestone ID, or an exact milestone name when a project is selected with --project or the active profile’s default project. --recurrence accepts daily, weekly, biweekly, monthly, or custom. For one weekly series that runs on selected days, pass --recurrence weekly --recurrence-days mon,wed,fri. Weekdays must be unique values from mon through sun; the CLI normalizes them into calendar order. Use --clear-recurrence-days to return a weekly series to its due-date weekday, --recurrence-interval for a positive interval, and --clear-recurrence to remove all recurrence settings. Unrelated updates preserve selected weekdays.

Labels

issue create --labels accepts comma-separated label IDs or exact names. Existing tasks use label add and label remove.

Notifications

Agents should acknowledge notifications after handling them so heartbeat attention items and notification lists stay actionable.

Subtasks and activity

activity issue reads the canonical task Activity timeline. It includes meaningful task changes and event-time actor snapshots in metadata.actor, with --limit clamped to 1..100 and --offset defaulting to 0; notification, webhook, realtime, and delivery records are not included. Older task history can be partial when it predates the atomic Activity contract.

Plan files

Use plan validate and plan apply to sync a graph of milestones, issues, dependencies, and initiative links from one JSON file.
Plan files use schemaVersion: "atoll.plan.v1" and local key values for cross-resource references. Issue entries support the same planning fields agents use on individual tasks, including startDate, dueDate, recurrenceType, recurrenceInterval, teamId, assigneeId, and assigneeIds.
plan validate checks schema version, duplicate keys, missing local references, invalid priorities/statuses/dates, recurrence values, and dependency cycles without contacting the API. plan apply upserts milestones by exact name, upserts issues by identifier or exact title within the selected project, then applies dependencies and initiative links. Duplicate dependencies and links are reported as already satisfied so retries are safe. When atoll issue update --project moves an issue that blocks other work, pass --dependency-release-mappings '[{"dependencyId":"...","releaseColumnId":"..."}]' with one destination release column per blocking dependency. The move is rejected when mappings are incomplete. Dependency creation requires the blocking issue to belong to a project; a projectless issue may be the blocked target.

Assign and unassign

Archive and delete

Prefer reversible archive:
Permanent delete requires --force and owner/admin permissions:

Comments

Comments accept Markdown/plain text or rich-text HTML. Atoll stores and returns comment bodies as sanitized HTML, and rejects comments with no visible content after sanitization. Agents can inspect the installed CLI’s comment flags from atoll agent-context before writing, instead of assuming structured mention support is available. Use --mention-member to send a stable Atoll org member ID in the structured mentions payload. Use --mention for exact display-name lookup; the command fails before writing the comment if the name is ambiguous. API responses include outcome.persistence and outcome.mentions (plus the legacy top-level mentions alias) so scripts can distinguish a persisted comment, new or deduped notification rows, and asynchronous Google Chat scheduling. A transport.dispatch value of scheduled is not final delivery. A transport.final value of mixed means all recipient deliveries are terminal but differ; inspect each recipient outcome. --reply-to-comment creates a one-level reply relationship. Agent harnesses can explicitly attach routing provenance with --source-harness and at least one of --source-thread-id or --source-session-id; --source-host-id is optional. The CLI never guesses these values. Source metadata is accepted only for agent-authored comments and must not contain secrets.

Projects

board-column create appends a custom task-status column to the selected project. --project accepts an ID, slug, or exact name and defaults to the profile’s configured project. Use --description for the same Agent guidance shown in Board Settings, or --description-file <path> (including - for stdin) for longer guidance. Keys use lowercase letters, numbers, and underscores, such as quality_assurance. Use --color <hex> to set a column color.

Milestones

Project-scoped initiatives

When a profile has a default project, initiative list and initiative create send that project automatically. Use --project to override it or --org-wide to suppress it. Guest/project-scoped agents must use a project they can edit when creating initiatives.

Initiative targets

Targets track initiative commitments separately from business KPIs. Use progress targets for outputs and gate targets for launch prerequisites.