Run your Claude Code fleet.
Monitor everything.
Trust nothing without a policy.
agentflow is the missing control plane for Claude Code agent fleets — live monitoring, per-tool policy enforcement, and sub-agent orchestration from a single self-hosted binary.
Orchestrate with oversight.
AGENT STATUS TOKENS COST STALL ────────────────────────────────────────────────────────────────── orchestrator-agent ● running 5.2k tok $0.078 — developer-agent ● running 12.1k tok $0.182 — abstractor-dev-agent ✓ done 8.4k tok $0.126 — test-agent ⏸ waiting — — → dev-agent web-agent ● running 3.7k tok $0.056 — ────────────────────────────────────────────────────────────────── 5 panes · 29.4k tok · $0.442 · refeed: ON · ⚡ 4 tools blocked
What ships in v1.8.0
Six capabilities that close the gap between "agents are running somewhere" and "I know exactly what they are doing and why."
Multi-instance hub
agentflow hub serve federates multiple machines into a single dashboard. Route sub-fleets to different hosts; the hub aggregates status, handoff graph, and stall conditions across all connected nodes from one URL.
Dashboard v1.6 — live fleet monitoring
Browser-based monitoring with dedicated /dispatch, /stats, and /stalls endpoints. HTMX SSE badges update per-pane in real time. The /stats view shows real-time weekly quota via OAuth credit probe — credit headroom visible without leaving the dashboard.
Per-tool policy enforcement
A PreToolUse hook gates every Bash, Read, Write, and Edit call against a YAML deny list before the agent acts. Auto-approve trusted read-only operations; surface anything outside policy to the operator for review.
Handoff graph + stall detection
Server-rendered SVG shows the live agent dependency graph — who is waiting on whom. The stall dashboard surfaces blocked agents and their wait conditions. Stalled agents recover via local Ollama (gemma4:12b) — no cloud call required.
Auto-refeed loop
agentflow supervise --refeed automatically continues stalled agents after a configurable dwell. The night-mode master switch pauses the loop on demand — agents hold until the operator resumes the refeed.
Sub-agent spawning with inherited permissions
Spawn scoped Claude Code sub-agents from the orchestrator. Each inherits the parent's deny scope via a derived policy file. Sub-agent panes are auto-registered with the approve-watcher — no manual wiring.
Self-hosted in three steps
Your Anthropic API key never leaves your machine. Neither does the fleet state, the session logs, or the DISPATCH-LOG audit records.
Drop the binary
Copy agentflow to your PATH. One file, no runtime, no Docker. Works wherever Claude Code runs.
cp agentflow /usr/local/bin/ agentflow serve --port 7070
Write your YAML policy
Declare which tool calls require approval and which are auto-allowed. Rules are inherited by every sub-agent your fleet spawns.
deny: - pattern: rm -rf* - pattern: git push --force allow_readonly: true
Open the dashboard
Navigate to localhost:7070. Live SSE badges, action buttons, the handoff graph, and the stall dashboard are waiting.
open http://localhost:7070/ # session: Claude # 5 panes · 4 tools blocked today
Go net/http ·
HTMX ·
Server-sent events ·
Server-rendered SVG ·
Zero external JS frameworks ·
Single static binary
none at runtime
Know what your agents are doing.
agentflow is in private beta. If you're running Claude Code agents in production and want visibility, policy enforcement, and a handoff graph — reach out.
Closed-source. Self-hosted. Your keys never leave your machine.