Copied
[ process manager for ai agents ]

Manage persistent AI bots with a terminal dashboard, web UI, and declarative configuration.

$ curl -fsSL https://botctl.dev/install.sh | sh
> irm https://botctl.dev/install.ps1 | iex
botctl
bots: 2/3 active   cost: $4.51
NAMESTATUSRUNSCOST
<logs> weather-bot
[run #12] 2026-02-12 11:42:03
<bash> curl -s api.weather.gov/alerts
Fetched 3 active alerts
<write> workspace/alerts.json
No severe storms detected.
Sleeping for 300s...
msg> check the error logs
$
Declarative config
01
YAML frontmatter for settings, markdown body for the prompt.
--- name: code-reviewer interval_seconds: 60 max_turns: 20 --- Review open PRs and post comments...
Autonomous execution
02
Spawns Claude with your prompt, tools, and workspace. Runs, logs, and sleeps on a loop.
$ botctl start code-reviewer -d Harness started (pid 48201) $ botctl logs code-reviewer -f [run #1] Reviewing PR #49...
Session memory
03
Every run saves its session. Resume where Claude left off, or send messages to redirect a running bot.
$ botctl start review --message "focus on PR 51" Message queued, waking bot...
Hot reload
04
Edit BOT.md and the next run picks up changes. No restarts, no deploys, no downtime.
# change max_turns in BOT.md max_turns: 20 max_turns: 50 # next run uses new value automatically
Extensible skills
05
Search, install, and share reusable skill modules from GitHub. Skills inject capabilities into any bot's prompt.
$ botctl skills search slack $ botctl skills add owner/repo --skill slack-notify $ botctl skills list
Web dashboard
06
Monitor and control bots from the browser. Same capabilities as the TUI — start, stop, message, and stream logs.
$ botctl --web-ui Dashboard at http://localhost:4444 $ botctl --web-ui --port 8080
01

Install

Download the latest binary with checksum verification. Supports macOS, Linux, and Windows on AMD64 and ARM64.

$ curl -fsSL https://botctl.dev/install.sh | sh
> irm https://botctl.dev/install.ps1 | iex
02

Create a bot

Interactive creation via Claude. Generates a BOT.md config file with your bot's name, schedule, and system prompt.

shell
$ botctl create my-bot # Opens interactive creation with Claude # Or with flags: $ botctl create my-bot -d "Monitor weather APIs" -i 300 -m 20
03

Launch the dashboard

Open the TUI dashboard to monitor and control all your bots. Or use the web UI for browser-based access.

shell
# Terminal dashboard $ botctl # Web dashboard $ botctl --web-ui # port 4444 $ botctl --web-ui --port 8080
04

Control your bots

Start, stop, message, and resume bots from the CLI or either dashboard. Bots run as background processes.

shell
$ botctl start my-bot --detach $ botctl start my-bot --message "check the error logs" $ botctl logs my-bot -f $ botctl stop my-bot