Dailybot CLI for Plan
Use Dailybot Plan (Beta) from the command line: credentials, naming the agent, briefing an agent on one task, the command index and exit codes.
Beta
Plan is in beta. Everything under /plan in the web app, the CLI and agent skill commands for projects, goals, boards and tasks, and the /v1/plan/ public API may change before general availability. Want to try it with your team? Write to support@dailybot.com.
The Dailybot CLI covers Plan under dailybot plan, with the tasks, task, board, project, goal, label and views subcommand groups. It calls the same public API as the /plan web app and the agent skill — Plan is agent-first, so the leaves below match the OpenAPI x-cli-command strings. Everything on this page needs a current dailybot-cli on the plan surface (4.0.0 or later for the rename; agent-first T5 leaves land on the plan__next CLI line). Upgrade with dailybot upgrade.
Credentials
dailybot loginsigns you in with an emailed one-time code. The login token only travels to the API host that issued it.DAILYBOT_API_KEYuses an API key. A personal key acts as its person; an agent or organization key never does. What each credential can do is on Authentication for Plan.- Per-repo profiles keep keys for one repository in
.dailybot/env.json, which must stay gitignored:dailybot env add,dailybot env use,dailybot env off(andon,show,list,remove). The active profile overridesDAILYBOT_API_KEYand the login session for that repository.
Name the agent
Pass the root flag --agent-name, or set DAILYBOT_AGENT_NAME (the flag wins). With neither, a person is acting directly and nothing is stamped. It is an attribution label, never a credential, so it changes no permission.
dailybot --agent-name "Claude Code" plan task comment ENG-12 "Reproduced and fixed"
The CLI sends agent_name on JSON writes and X-Dailybot-Agent-Name on uploads and body-less writes, never on reads. Names follow the attribution rules: plain characters, up to 128, never truncated. A longer name is refused locally with invalid_agent_attribution; an agent key that sends one gets the same error from the server.
task comments then shows Jane Doe via "Claude Code", and task get adds an Agents line listing the executors, most recent first.
Brief an agent on one task
dailybot plan task brief ENG-142 --download ./brief
dailybot plan task brief <task> [--download DIR] [--force] [--json] reads the whole card, attachments included. With --download DIR it saves the attachments there as <uuid8>-<name>, and it never overwrites a file unless you pass --force. --json prints the result for a program. The task is a key (ENG-142) or a uuid.
Command index
Subcommand names per group. Run dailybot plan <group> <command> --help for flags and examples; it is the authoritative reference for the version you have installed, and newer releases add commands. The index below matches dailybot-cli 4.0.0.
dailybot plan tasks: activity, attachments-resolve, board, briefing {get|preview|send-test|set}, changes, channels {search}, counts, cursor, entitlements, favorites, inbox, inbox-read, inbox-read-all, inbox-unread, mine, notifications {catalog|get|set}, recents, reports {create|delete|get|list|preview|runs|send-test|update}, routes {create|delete|deliveries|get|list|send-test|update}, search, status, timeline, view {delete|get|star|unstar|update}
dailybot plan task: activity, archive, attach, attachment {delete|get}, attachments, brief, bulk, children, comment, comment-attach, comment-attachment {delete|get}, comment-attachments, comment-delete, comment-edit, comment-react, comment-reactions, comment-unreact, comments, create, delete, duplicate, events, get, labels, link, list, move, mute, participants {add|list|remove}, relations, restore, set-owner, unlink, unmute, unwatch, update, watch
dailybot plan board: archive, create, get, label {create|delete|update}, labels, list, member {add|remove|update}, members, mentionables, move-preview, reorder, restore, snapshot, star, state {archive|create|reorder|restore|update}, states, tasks, unstar, update, view {create|save}, views, visit
dailybot plan project: archive, attach, attachment {delete|get}, attachments, create, get, list, member {add|remove|update}, members, milestone-attach, milestone-attachment {delete|get|rename}, milestone-attachments, milestone-complete, milestone-create, milestone-delete, milestone-reopen, milestone-restore, milestone-update, milestones, reorder, restore, update, update-attach, update-attachment {delete|get|rename}, update-attachments, update-delete, update-edit, update-get, update-post, update-react, update-reactions, update-unreact, updates, view {create|save}, views
dailybot plan goal: archive, attach, attachment {delete|get}, attachments, create, get, link, list, restore, unlink, update
dailybot plan label: list, create, update, delete
dailybot plan views: workspace, workspace save
Agent-first leaves (match OpenAPI x-cli-command; prefer these names in skills and docs):
| CLI | API door |
|---|---|
dailybot plan project reorder |
POST …/projects/{id}/reorder/ (before | after) |
dailybot plan board reorder |
POST …/boards/{id}/reorder/ (before | after | project) |
dailybot plan board move-preview |
GET …/move-preview/?project= (read-only; project required) |
dailybot plan board view create |
POST …/boards/{id}/views/ + Idempotency-Key |
dailybot plan project view create |
POST …/projects/{id}/views/ + Idempotency-Key |
dailybot plan views workspace |
GET /v1/plan/views/workspace/ |
dailybot plan views workspace save |
PUT same path; If-Match required |
dailybot plan tasks board |
GET /v1/plan/tasks/board/ (grouped / swimlane snapshot) |
dailybot plan task brief |
GET …/tasks/{id}/brief/ (primary agent card read) |
dailybot plan board member update |
PATCH …/members/{user}/ (empty body inspect; role read-only) |
dailybot plan project member update |
PATCH …/members/{user}/ (inspect only) |
dailybot plan label list|create|update|delete |
/v1/plan/labels/ (org taxonomy) |
Output: Plan leaves accept --json for machines. There is no --yaml. There is no --wait / --follow yet — agents poll dailybot plan tasks changes (or the board delta feed) instead.
task delete is a soft archive (same as task archive). Structure CRUD needs a person credential.
New in 4.0.0 under dailybot plan tasks: notifications catalog|get|set (your own switches), routes … (organization channel routes), reports … (scheduled daily and weekly reports), briefing … (your daily briefing), channels search (where routes and reports can post) and timeline (tasks, milestones and projects in a date window, with project and milestone filters). See the Plan · Notifications & reports reference for the doors behind them.
Phase 2 by design: task delegation is not available (the API answers 501 until its agent runtime ships). Reply in a thread with dailybot plan task comment --reply-to <comment-uuid> (the API field is parent_comment). Do not stamp author_kind=agent from an org agent key — use --agent-name with a person credential and read executed_by_agent.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Partial success or another error |
| 2 | Bad input, including invalid_identifier and invalid_agent_attribution |
| 3 | Credential or person problem (actor_required, credential errors) |
| 4 | Refused (insufficient_scope, guest_not_allowed) |
| 5 | Not found, or not visible to you |
| 6 | Transient error: retry |
| 7 | Declined |
| 8 | Transport error |
| 9 | The delta cursor expired: read the board snapshot again |