Pylon is a self-hosted daemon that turns external events into AI agent runs. When a Sentry error fires, a GitHub pull request opens, or a cron schedule triggers, Pylon spins up a sandboxed AI coding agent inside Docker, gives it access to your codebase, and sends the result back to your chat channel — with an optional approval step so you stay in control of when the agent actually runs.Documentation Index
Fetch the complete documentation index at: https://docs.pylon.to/llms.txt
Use this file to discover all available pages before exploring further.
Key concepts
Pylon is built around five core concepts that you configure once and compose into pipelines:- Pylon — a named pipeline that wires together a trigger, an agent, a workspace, and a channel. Each pylon has its own config file and job history. See Pylons.
- Trigger — what starts a pylon run. Currently supports inbound webhooks (HTTP POST) and cron schedules. See Triggers.
- Agent — the AI coding assistant that runs inside Docker. Pylon supports Claude Code and OpenCode today, with Codex and Aider planned. See Agents.
- Channel — where Pylon sends notifications and results. Telegram and Slack are supported; Discord, WhatsApp, and iMessage are in progress. See Channels.
- Workspace — how the agent accesses your code. Options include a fresh
git clone, agit worktree(faster, reuses a local repo), or a mounted local directory. See Workspaces.
Requirements
Before installing Pylon, make sure you have:- Linux or macOS — amd64 or arm64. On macOS, OAuth is not supported — use API key auth instead (see installation).
- Docker — Pylon runs every agent inside an isolated container. Install Docker from docs.docker.com/engine/install.
- A Telegram bot or Slack app — Pylon posts results and approval prompts to a chat channel. You’ll configure this during
pylon setup.
How the daemon works
When you runpylon start, the daemon loads all your configured pylons and begins listening on a single HTTP port (default 0.0.0.0:8080). Each pylon with a webhook trigger registers its own path on that port. Cron pylons register with the internal scheduler. When a request arrives at a webhook path, Pylon:
- Parses the incoming JSON payload.
- If approval is enabled, sends a notification to your channel with Investigate and Ignore buttons and waits.
- Once approved (or immediately if approval is off), clones or mounts the workspace, pulls the agent Docker image, and launches a container.
- Streams agent output and, when the run completes, posts a summary back to your channel.
Explore
Quick start
Install Pylon and trigger your first agent run in minutes.
What is a pylon?
Understand triggers, agents, channels, and workspaces in depth.
Webhook examples
Sentry error triage, GitHub PR review, and custom webhook pipelines.
CLI: pylon setup
Reference for the interactive first-time configuration command.