Skip to content

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 login
dailybot login --email [email protected]
dailybot statusAuth: Any

Show 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-ins
dailybot status --auth       # which credential is active
dailybot status --auth --json
dailybot agent updateAuth: Any

Post 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: Any

Send 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: Any

Edit 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 only

Ask 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 --json
dailybot ask   # opens the full-screen TUI
dailybot 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 cursor
dailybot hook dismiss -m 120
dailybot 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 upgrade
dailybot upgrade --dry-run
dailybot 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 uninstall
dailybot uninstall --purge -y
dailybot 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 version
dailybot version --check