Supervised agents
Long-running agents spawned from templates that run like a service. Each agent gets its own workspace, model, and channel plugins, auto-restarts, and survives daemon restarts.
~ blackpaw studio
Agent supervision and task scheduling for coding agents.
One supervisor for claude, codex, and opencode.
Persistent agents and scheduled tasks. Drive them from the CLI, a browser, or any chat app.
curl -fsSL leo.blackpaw.studio/install | sh Long-running agents spawned from templates that run like a service. Each agent gets its own workspace, model, and channel plugins, auto-restarts, and survives daemon restarts.
Cron-driven prompts that invoke your coding agent on a schedule. Write a prompt file, pick a cadence, walk away.
Reusable blueprints for ephemeral agents. Preset the model, MCP, and workspace, then dispatch an agent on demand.
Every agent and session runs in its own named tmux session. Drop in live, locally or over SSH, and take over mid-flight.
One binary, two roles. Run the supervisor on a server and drive it from your laptop over SSH.
Agents, tasks, and config, all from a browser on your LAN.
$ leo agent spawn assistant
spawned assistant (workspace: ~/.leo/workspace)
$ leo agent spawn coding --repo blackpaw-studio/leo --worktree feat/cache
spawned leo-coding-blackpaw-studio-leo-feat-cache (branch: feat/cache)
attach with: leo agent attach leo-coding-blackpaw-studio-leo-feat-cache
$ leo task add --name weekly-audit --schedule "0 9 * * 1" --prompt-file audits/weekly.md
Task "weekly-audit" added.
Monday 09:00: weekly-audit running, complete in 38s
Notification: telegram · weekly audit: 4 PRs need attention
channels
Pair any Claude Code channel plugin (Telegram, Discord, iMessage) and drive
supervised agents and scheduled tasks from chat. Leo
ships a universal command set, so every stock plugin gets /tasks,
/agent, /stop, and /clear for free.
claude plugin install telegram@claude-plugins-official
Want voice replies, inline ask-prompts, and richer attachment handling?
Swap in our fork, blackpaw-telegram.
DM the bot and paste the pairing code back into your session. Flip to allowlist once you’re in.
channels:Add plugin:telegram@claude-plugins-official to any agent template or task. Leo routes every inbound command through a shared MCP server. No plugin changes required.
Pin a subagent with agent: in the owning template's harness_options:. The supervised agent adopts that role and voice, and every reply in chat comes back in the same tone.
You: what shipped on leo-website today?
leo: Three commits landed on main: hero CTA linking to the examples guide; footer link to the docs examples page; real Blackpaw paw mark in the footer and favicon.
You: /tasks
leo: You have 3 scheduled tasks: weekly-audit (0 9 * * 1, next Mon 09:00), daily-triage (0 9 * * *, tomorrow 09:00), release-digest (0 17 * * 5, Fri 17:00).
You: /agent coding blackpaw-studio/leo
leo: Spawned as leo-coding-blackpaw-studio-leo. Attach in the Claude app when you’re ready.
curl -fsSL leo.blackpaw.studio/install | sh Requires tmux and a coding agent CLI: claude, codex, or opencode.
brew install blackpaw-studio/tap/leo macOS and Linux.
go install github.com/blackpaw-studio/leo@latest Requires Go 1.22+.
Download a prebuilt binary.