CLI Command Reference · Developers
Every Dailybot CLI command, argument, and flag.
The complete command surface of the Dailybot CLI. Every entry is generated from a shared content collection, so this page is always in sync with what the CLI actually ships.
dailybot loginAuth: None (anonymous)Authenticate the CLI with your Dailybot user account (OTP)
Sends a one-time code to your email, verifies it, and stores a session token in `~/.config/dailybot/credentials.json`. If the account belongs to multiple organizations, prompts you to pick one (or use `--org=<UUID>`).
Flags
--emailstring— Email to send the code to.--codestring— OTP code to skip the interactive prompt.--orgUUID— Preselect an organization when the user belongs to more than one.
Examples
dailybot logindailybot login --email [email protected]dailybot statusAuth: AnyShow pending check-ins, or probe the active credential
Default: lists pending check-ins for the authenticated user (calls `GET /v1/cli/status/`). With `--auth`: probes both the session and API-key paths and prints which credential wins — replaces the old (never-shipped) `dailybot me` idea.
Flags
--authboolean— Credential probe mode: show which credential (session or API key) is active.--jsonboolean— Machine-readable output.
Examples
dailybot status # pending check-insdailybot status --auth # which credential is activedailybot status --auth --jsondailybot agent updateAuth: AnyPost an activity or progress report as the agent
Sends a progress report to Dailybot from the current session. Shows in team dashboards and chat. Since CLI v1.11.0 the response includes a `url` — the CLI prints a direct link to where the report landed. Non-blocking: never halts the primary work if reporting fails.
Arguments
summarystring · required— The standup-style message describing what was done and why it matters.
Flags
--milestoneboolean— Mark this report as a plan-completion milestone.--metadatajson— JSON blob with model, plan, or other structured metadata.--json-datajson— Structured completed/in_progress/blockers deliverables.
Examples
dailybot agent update "Shipped the notification preferences UI — users can now control which alerts they receive."dailybot agent update --milestone "Finished the auth refactor." --metadata '{"model":"claude-opus-4.7"}'dailybot chat sendAuth: AnySend a bot message to users, channels, or teams
Wraps `POST /v1/send-message/`. Supports thread replies (up to 10 per parent, one level deep), bot impersonation via `platform_settings` (Slack only), ephemeral messages, image URLs, and interactive/link buttons. Delivers on Slack, Microsoft Teams, Discord, and Google Chat.
Flags
-u/--userstring (repeat)— Target user by UUID, email, or external id.-c/--channelstring (repeat)— Target channel id.-t/--teamstring (repeat)— Target team UUID (all members).-m/--textstring— Message body.--threadstring— Parent timestamp/id to reply in an existing thread.--thread-messagestring (repeat, max 10)— Reply text to post under the same parent in one call (max 10).--bot-namestring— Custom bot username for this message (Slack only, max 80 chars).--bot-icon-urlstring— HTTPS avatar URL (Slack only). Mutually exclusive with `--bot-icon-emoji`.--bot-icon-emojistring— Emoji avatar, e.g. `:rocket:` (Slack only).--ephemeralboolean— Slack-only: post visible only to `--user` targets in the specified channel.-i/--image-urlstring— HTTPS image URL to attach.--link-buttonlabel|url (repeat)— Attach a link button.--buttonlabel|value (repeat)— Attach an interactive button (returns `value` via webhook).--skip-time-offboolean— Skip users flagged as OOO / on-leave.-d/--metadatajson (repeat)— Free-form metadata merged with repo-level `default_metadata`.--payload-jsonjson— Raw JSON body override (advanced). Merges repo metadata if missing.-p/--profilestring— Named agent profile for auth resolution.--jsonboolean— Output machine-readable JSON.
Examples
dailybot chat send -c C0123456789 -m "Deploy 4.12.0 shipped ✅"dailybot chat send -c C0123456789 -m "Release status" --thread-message "Frontend OK" --thread-message "Backend OK"dailybot chat send -c C0123456789 -m "Rollout complete" --bot-name "Release Bot" --bot-icon-emoji ":rocket:"dailybot chat send -c C0123456789 -u <user-uuid> --ephemeral -m "You are on-call in 10 minutes"dailybot chat updateAuth: AnyEdit a previously-sent bot message
Re-issues `POST /v1/send-message/` with the same `bot_message_id`, editing the original within the 72h edit window. Also works on thread reply IDs returned by `dailybot chat send`. Identity flags (`--bot-name`, `--bot-icon-*`) are ignored on edit — the platform keeps the original bot appearance.
Arguments
bot_message_idstring · required— The ID returned by `dailybot chat send` (or a client-provided one).
Flags
-c/--channelstring (repeat)— Target channel id (same as the original message).-u/--userstring (repeat)— Target user (same as original).-m/--textstring— New message body.-i/--image-urlstring— New image URL.--payload-jsonjson— Raw JSON body override.-p/--profilestring— Named agent profile.--jsonboolean— Output machine-readable JSON.
Examples
dailybot chat update release-4.12.0 -c C0123456789 -m "Deploy 4.12.0 — rollback in progress ⚠️"dailybot chat update "$db/thread-1" -c C0123456789 -m "Frontend: build failed, investigating"dailybot askAuth: CLI Bearer onlyAsk the Dailybot AI assistant — one-shot or interactive
Runs a chat completion against `POST /v1/cli/chat/completions/`. With a message argument (or stdin pipe): one-shot. Without arguments in a TTY: launches a full-screen Textual TUI (added in v1.14.0) with slash commands `/help`, `/clear`, `/status`, `/checkins`, `/report`, `/exit`.
Arguments
messagestring— Optional message. When omitted in a TTY, opens the interactive TUI.
Flags
-s/--session-idstring— Continue a previous session id.--jsonboolean— One-shot JSON output.
Examples
dailybot ask "Summarize my open standup responses"echo "Explain the last agent report" | dailybot ask --jsondailybot ask # opens the full-screen TUIdailybot hookAuth: None (anonymous)Lifecycle hooks for the agent harness — local ledger only, no network
Deterministic hooks the agent harness calls at session-start, post-commit, on file-edit activity, on stop, and on user-driven dismissal. All hooks read and write only the local ledger under `~/.config/dailybot/ledger/`. Added in v1.12.0. See the [Agent Hooks doc](https://github.com/DailybotHQ/cli/blob/main/docs/AGENT_HOOKS.md) for full wiring.
Arguments
subcommandsession-start | post-commit | activity | stop | dismiss · required— Which hook to invoke.
Flags
-f/--formatclaude | cursor | generic— Output format for the harness (session-start / stop).-m/--minutesint— For `hook dismiss`: snooze duration in minutes (default 60).
Examples
dailybot hook session-start -f cursordailybot hook dismiss -m 120dailybot upgradeAuth: None (anonymous)Upgrade the CLI in place using the detected install method
Detects how the CLI was installed (pipx / pip / uv / Homebrew / installer / prebuilt binary) and upgrades using the matching tool. Verifies the new version after install. Added in v1.4.0.
Flags
--dry-runboolean— Print what would happen without changing anything.--forceboolean— Skip the interactive confirmation.
Examples
dailybot upgradedailybot upgrade --dry-rundailybot uninstallAuth: None (anonymous)Uninstall the CLI using the detected install method
Removes the CLI cleanly, matching the install source (pipx / pip / uv / Homebrew / installer). By default keeps `~/.config/dailybot/` (sessions, ledger, agent profiles); pass `--purge` to remove it as well. Added in v1.6.0.
Flags
-y/--yesboolean— Skip the confirmation prompt.--purgeboolean— Also delete `~/.config/dailybot/` (sessions, ledger, profiles).--dry-runboolean— Print what would happen without changing anything.
Examples
dailybot uninstalldailybot uninstall --purge -ydailybot versionAuth: None (anonymous)Print CLI version and optionally check PyPI for a newer release
Rich panel with version, Python runtime, and a GitHub release link. With `--check`, queries PyPI to compare against the latest release.
Flags
-c/--checkboolean— Query PyPI and compare.
Examples
dailybot versiondailybot version --check