Skip to content

Quick Start

Get a personal AI assistant running in under 5 minutes.

1. Install Leo

brew install blackpaw-studio/tap/leo
go install github.com/blackpaw-studio/leo/cmd/leo@latest

See Installation for all options.

2. Run the Setup Wizard

leo setup

The interactive wizard walks you through:

  1. Creating a user profile — tells the assistant who you are
  2. Picking a workspace — the root directory for your agent's files
  3. Scaffolding CLAUDE.md and skills — baseline context for the agent
  4. Configuring MCP servers (optional) — integrations (calendar, email, etc.)
  5. Adding scheduled tasks (optional) — recurring jobs like daily briefings
  6. Optionally installing as a daemon — for persistence across reboots

The wizard does not install or configure any messaging channel. Leo is channel-agnostic.

3. (Optional) Install a Channel Plugin

If you want mobile access or another way to chat with your assistant, install a Claude Code channel plugin separately. For example, to enable Telegram:

claude plugin install telegram@claude-plugins-official

Follow the plugin's own setup flow to connect your bot. Then reference the plugin in leo.yaml:

processes:
  assistant:
    channels: [plugin:telegram@claude-plugins-official]
    enabled: true

Leo passes the list to the spawned Claude process via the LEO_CHANNELS environment variable; the plugin owns its own auth and routing.

4. Start the Service

leo service start

Your assistant is now listening. If you configured a channel plugin, send a message to it and the agent will respond.

Background operation

leo service start runs all enabled processes in the background with automatic restart. For daemon mode (persists across reboots), see Background Mode.

5. Test a Scheduled Task

If you added a task during setup, run it manually:

leo run <task-name>

If the agent has something to report, you'll receive a message on your configured channel. If there's nothing noteworthy, it outputs NO_REPLY.

6. Verify Your Schedule

Check that your scheduled tasks are loaded and see when each will fire next:

leo task list

When the daemon is running, the NEXT RUN column shows the upcoming fire time for each task. Leo runs its own in-process scheduler — there is no system crontab to install.


What's Next