Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/openagen/zeroclaw/llms.txt

Use this file to discover all available pages before exploring further.

ZeroClaw exposes three distinct runtime modes depending on how much autonomy you need: agent for interactive or single-shot tasks, gateway for webhook serving, and daemon for the full autonomous long-running runtime. Each mode can be used independently or composed as part of a larger deployment.
The agent command runs a single conversation turn or drops into an interactive REPL. It is the fastest way to send a prompt or iterate on a task without starting a persistent server.
# Single-shot message
zeroclaw agent -m "Hello, ZeroClaw!"

# Interactive session
zeroclaw agent

# Use a specific provider for this session
zeroclaw agent --provider openai-codex -m "hello"

# Use a named auth profile
zeroclaw agent --provider openai-codex --auth-profile openai-codex:work -m "hello"
Agent mode exits after each task completes. Use it for scripting, one-off queries, and testing your provider configuration. For continuous operation, use daemon instead.
Channels (Telegram, Discord, Slack, and others) require zeroclaw daemon to be running. agent alone does not start channel listeners.

Heartbeat

When daemon is running, ZeroClaw reads periodic tasks from a HEARTBEAT.md file in your workspace. Each line starting with - in that file is treated as a task to execute at the configured interval. When no - entries exist in HEARTBEAT.md, the engine falls back to the message field in the [heartbeat] config block.
[heartbeat]
enabled = false
interval_minutes = 30
message = "Check London time"     # fallback task when HEARTBEAT.md has no `- ` entries
target = "telegram"               # announce channel: telegram, discord, slack, mattermost
to = "123456789"                  # target recipient, chat, or channel ID
When target and to are set, the daemon posts heartbeat results to that channel and recipient automatically. Set enabled = false to turn off heartbeat entirely.
Heartbeat requires zeroclaw daemon (or the background service) to be running. It does not fire when only zeroclaw agent or zeroclaw gateway is active.

Cron scheduling

ZeroClaw includes a built-in task scheduler managed with the cron subcommand. The daemon must be running for tasks to fire.
# List all scheduled tasks
zeroclaw cron list

# Add a task that repeats at a fixed interval
zeroclaw cron add-every 30m "Check inbox"

# Schedule a task at a specific time
zeroclaw cron add-at "2026-06-01T09:00:00" "Send reminder"

# Run once at the next opportunity
zeroclaw cron once "2026-06-01T09:00:00" "Deploy release"

# Remove a scheduled task by ID
zeroclaw cron remove <task-id>

# Update an existing task
zeroclaw cron update <task-id> "Updated task text"

# Pause and resume without removing
zeroclaw cron pause <task-id>
zeroclaw cron resume <task-id>
Tasks that fire while the daemon is stopped are not backfilled.

Emergency stop

zeroclaw estop lets you halt all autonomous task execution immediately without restarting the process, and resume it when safe. Use it during incidents or before applying a config change.
zeroclaw estop
Emergency stop suspends autonomous execution including cron tasks and heartbeat. Channel listeners remain active so you can communicate with a halted agent and issue a resume command.

Setup flow

1

Run onboarding

Configure your API key, provider, and workspace in one step:
zeroclaw onboard --api-key sk-... --provider openrouter
2

Verify configuration

Check that auth and system dependencies are healthy:
zeroclaw auth status
zeroclaw doctor
3

Start the daemon

Launch the full runtime with gateway, channels, and scheduler:
zeroclaw daemon
4

Confirm channels are live

zeroclaw channel doctor
zeroclaw status
5

(Optional) Enable heartbeat

Set enabled = true in the [heartbeat] block of ~/.zeroclaw/config.toml, set interval_minutes, and create HEARTBEAT.md in your workspace with task lines starting with - .

Next steps

Service management

Run ZeroClaw as a systemd or OpenRC background service

Network configuration

Tunnel providers, gateway bind options, and reverse proxy setup

Docker

Container-based deployment and sandboxed shell execution

CLI reference

Every command and flag, with examples

Build docs developers (and LLMs) love