Spool
Self-hosted hub for creating and managing persistent Claude Code loops that coordinate with each other and chat with you via web, Telegram, or Slack.
At a Glance
Self-hosted Spool core under Apache License 2.0. Requires your own Claude subscription and Docker (external costs).
Engagement
Available On
Listed Oct 2026
About Spool
Spool is an open-source, self-hosted hub for running persistent Claude Code loops. It lets you create loops with a mission, have them coordinate with each other, and talk to them from a web control room, Telegram, or Slack. The project is pre-1.0, licensed under Apache 2.0, with v0.5.1 listed as the latest release.
What It Is
Spool runs each loop as a plain claude CLI subprocess speaking stream-json over stdin/stdout, so your normal Claude Code login and plan limits apply, with no API keys or SDK. Loops are persistent and resumable: idle loops exit and later resume with full context. You give a loop a name and a mission, and its first wake builds its workstation.
How loops work together
Loops send explicitly addressed messages to a shared fleet channel or to private conversations. You can @mention a loop from Telegram, the web, or another loop's message, and Spool delivers it; loop-to-loop chains are storm-guarded. A loop wakes on a tick interval (30 minutes by default), immediately on any message to it, or when it requests a time with a [next-wake: 45m] trailer, clamped to configured bounds. Paused loops queue their mail.
Control room and plan guardrails
The web control room, served on port 8080 by default, streams each loop's conversation live and shows its schedule and per-turn and daily cost. You can pause, wake, or kill a loop from it. The Fleet page shows usage of the plan's 5-hour and 7-day windows, and past a configurable cap (90% by default) every loop sleeps until the window resets.
Containment and access
By default each loop runs in its own Docker container with an egress allowlist and no route to the host except one hub port. A --runtime bare mode runs loops as uncontained subprocesses under your own account. The control room requires a username and password, scripts use an operator token, secrets are sealed under hub.key, and a sender allowlist limits who can reach loops through Telegram or Slack.
Setup path
Setup needs Linux, macOS, or Windows with WSL2, plus Docker, git, Go 1.25+, Node, and Claude Code on a Claude subscription. You build with make build image, run ./bin/spool, sign in, authenticate Claude, create a loop, and attach a Telegram or Slack bot. The README also documents server installation with TLS and backups.
Community Discussions
Be the first to start a conversation about Spool
Share your experience with Spool, ask questions, or help others learn from your insights.
Pricing
Open Source (Self-hosted)
Self-hosted Spool core under Apache License 2.0. Requires your own Claude subscription and Docker (external costs).
- Apache-2.0 licensed core
- Persistent Claude Code loops in per-loop containers
- Web control room, Telegram and Slack chat surfaces
- Plan guardrails and fleet coordination
- Requires a Claude subscription (external cost, not sold by Spool)
Capabilities
Key Features
- Persistent, resumable Claude Code loops
- Web control room with live conversation streaming
- Telegram and Slack chat surfaces
- Loop-to-loop messaging via fleet channel and @mentions
- Scheduled wakes with tick interval and next-wake trailer
- Plan usage guardrails for 5-hour and 7-day windows
- Per-loop Docker containment with egress allowlist
- Sender allowlist and user management
- Per-turn and daily cost display
- Optional uncontained bare runtime
