Everything claw-forge offers

A complete picture of what makes claw-forge the right harness for serious autonomous coding pipelines.

8
AI providers
18
built-in skills
5047
tests passing
0
Node.js required
Feature Status Details
Language & Installation
LanguagePure Python — no Node.js, no Bun, no npm
Package manageruv tool install claw-forge — isolated, instant, no venv ceremony
PyPI packageAlso installable via pip install claw-forge
AI Provider Support
API rotation poolRound-robin and weighted routing across 8 providers with automatic failover
Anthropic (direct)Direct API key or OAuth token from claude login
AWS BedrockIAM credentials or instance role — no key management
Azure AI FoundryAzure OpenAI-compat endpoint with managed identity support
Google Vertex AIADC credentials, auto model name conversion (@ format)
Groq (free tier)14,400 req/day free — ideal for monitoring and lightweight tasks
Cerebras (free tier)1M tokens/day free — Llama 3.3 70B at near-instant inference
Ollama (local)Any locally-running model via Ollama's OpenAI-compat API
Anthropic-compat proxiesCustom base_url with x-api-key auth — works with any proxy
Circuit breaker per providerClosed → Half-open → Open state machine; auto-recovery after cooldown
Provider health dashboardLive health dots in Kanban UI — RPM, latency, cost per provider
Per-provider cost trackingUSD cost tracked per session and per provider
OAuth token supportAuto-reads ~/.claude/.credentials.json; re-reads on 401
Claude Agent SDK Integration
Bidirectional sessionsClaudeSDKClient — mid-session follow-ups, model switching, interrupt
In-process MCP serverFeature DB tools run in-process — zero subprocess cold-start overhead
File checkpointing + rewindRewind all files to any prior checkpoint without git
Pre-compact hookCustom compaction instructions preserve feature state across context limits
Structured JSON outputSchema-enforced output from reviewer and planning agents
Thinking configDeep thinking for planning, adaptive for coding, disabled for monitoring
Named sub-agentsAgentDefinition — planner/coder/reviewer with separate prompts and tool sets
Cost cap per sessionmax_budget_usd — hard stop when budget is hit
Token-level streamingStreamEvent for typewriter effect in terminal UI
Architecture & Concurrency
Concurrency modelPure asyncio.TaskGroup — no subprocess+threading mix
State managementFastAPI REST + SQLAlchemy + WebSocket — clean separation of concerns
Session hydrationsession_manifest.json survives restarts and process crashes
Plugin systempyproject.toml entry points — third-party plugins without forking core
Dependency-aware schedulingKahn's algorithm + DFS cycle detection — features run in correct order
Orphan task adoptionTasks from crashed sessions are automatically re-parented on startup — no manual recovery needed
Standalone state serviceclaw-forge state — run the REST + WebSocket API independently with optional PostgreSQL backend
Security
Bash security hookHierarchical allowlist: hardcoded blocklist → global defaults → project-specific
CanUseTool callbackProgrammatic permission control with input mutation before execution
File-tool path sandboxFile writes sandboxed to the project directory automatically (Layer 1)
Exempt-command jail checkEven git -C <jail>, python <jail>/script.py, and --git-dir=<jail>/.git are denied — dev-toolchain commands can't escape the worktree (Layer 2, v0.8.16)
Workspace boundary directiveSystem-prompt directive teaches the agent its boundary; information-hiding so the parent project's path is never named (Layer 3, v0.8.16 → v0.8.18)
OS-level filesystem jailKernel-enforced — open(2) outside the worktree returns EACCES (macOS via sandbox-exec, v0.8.18) or EROFS (Linux via bwrap, v0.8.21); catches FFI, dynamic paths, python -c "exec(...)" escapes (Layer 4)
Container isolationOpt-in: each agent in its own Docker/Podman container with the worktree as the only mount; parent project absent from the namespace, escapes return ENOENT (Layer 5, v0.8.19) — see docs/container-isolation.md
Snapshot-rollback safety netBoot baseline + per-task post-rollback under exclusive lock — project_path is HEAD-clean for the run's lifetime; any leak goes to claw-forge-leak-<task_id>-<ts> stash, recoverable via claw-forge stash list (v0.8.17)
Mid-run leak detectionBrackets each agent's execution with git status --porcelain snapshots — new dirt auto-stashed with task-id correlation marker for forensics (v0.8.16, hardened v0.8.17)
Worktree-creation fail-taskAgent doesn't run if its worktree can't be created — no fallthrough to cwd=project_path that would leak output to the target branch (v0.8.15)
Agent lock file.claw-forge.lock prevents duplicate agents on the same project
Skills & Built-in Tooling
LSP skills (Python)Pyright — type checking, autocomplete, go-to-definition
LSP skills (Go)gopls — full Go language intelligence
LSP skills (Rust)rust-analyzer — borrow checker integration, refactoring
LSP skills (TypeScript)ts-server — JS/TS type checking and navigation
LSP skills (Solidity)Solidity LSP — smart contract analysis
LSP skills (C/C++)clangd — C/C++ intelligence and formatting
Systematic debug skillStructured root-cause analysis workflow
Verification gate skillRun checks before claiming task complete
Parallel dispatch skillRoute subtasks to parallel agents automatically
Frontend design skillProduction-grade UI design guidance for web agents
Playwright browser skillBrowser automation for web testing agents
Workflow Features
YOLO mode--yolo — max concurrency, auto-approve permissions, skip verification
Pause / resumeDrain mode: finish active features, then pause gracefully
Human input requestsAgent raises needs_human flag; claw-forge input CLI unblocks it
Batch feature modeImplement multiple features per session with --batch-size
Slash commands (.claude/)create-spec, expand-project, check-code, checkpoint, review-pr, pool-status
Session resumeContinue or fork any prior session by ID
Plan reconciliationRe-running claw-forge plan preserves completed tasks — only missing features are added. Use --fresh for a clean slate.
Manual merge controlclaw-forge merge — squash-merge feature branches on your terms with merge_strategy: manual
Bugfix dispatch sweepAutomatic sweep for pending bugfix tasks after main wave completes — regression fixes aren't left behind
Rate limit handlingParse retry-after headers, exponential backoff, auto-resume after cooldown
UI & Monitoring
Kanban board5-column board: Pending / In Progress / Passing / Failed / Blocked
Provider health dotsGreen/amber/red per provider; click for RPM, latency, circuit state
Real-time WebSocket updatesFeature status, agent events, cost — live, no polling
Regression health barCollapsible accordion showing trigger features, implicated features, and pass/fail status for regression suites
Documentation & Quality
Tutorial websiteThis site — quickstart, provider setup, plugin guide, skills reference
SDK API guide20 Claude Agent SDK APIs documented with claw-forge examples (docs/sdk-api-guide.md)
Test coverage ≥ 90%Enforced in CI — 5047 tests, all passing
Type annotations (strict)Full mypy strict — no Any escapes in core modules
GitHub CI/CDLint + typecheck + full test suite on every push and PR

What we're building next

Honest about what's still in progress.

🌐 Multi-machine Agents

Distribute agent waves across multiple machines. The pool manager handles routing — we need the distributed work queue layer.

☁️ Cloud State Backend

Currently SQLite — great for local development. Adding PostgreSQL and a hosted cloud option for team use.

🧩 VS Code Extension

Embed the Kanban UI directly in VS Code. See agent progress without leaving your editor.

📊 Cost Analytics Dashboard

Historical cost breakdown per project, per provider, per feature — so you can optimize spend over time.

Get started →    Star on GitHub ⭐