Capabilities
A complete picture of what makes claw-forge the right harness for serious autonomous coding pipelines.
| Feature | Status | Details |
|---|---|---|
| Language & Installation | ||
| Language | ✅ | Pure Python — no Node.js, no Bun, no npm |
| Package manager | ✅ | uv tool install claw-forge — isolated, instant, no venv ceremony |
| PyPI package | ✅ | Also installable via pip install claw-forge |
| AI Provider Support | ||
| API rotation pool | ✅ | Round-robin and weighted routing across 8 providers with automatic failover |
| Anthropic (direct) | ✅ | Direct API key or OAuth token from claude login |
| AWS Bedrock | ✅ | IAM credentials or instance role — no key management |
| Azure AI Foundry | ✅ | Azure OpenAI-compat endpoint with managed identity support |
| Google Vertex AI | ✅ | ADC 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 proxies | ✅ | Custom base_url with x-api-key auth — works with any proxy |
| Circuit breaker per provider | ✅ | Closed → Half-open → Open state machine; auto-recovery after cooldown |
| Provider health dashboard | ✅ | Live health dots in Kanban UI — RPM, latency, cost per provider |
| Per-provider cost tracking | ✅ | USD cost tracked per session and per provider |
| OAuth token support | ✅ | Auto-reads ~/.claude/.credentials.json; re-reads on 401 |
| Claude Agent SDK Integration | ||
| Bidirectional sessions | ✅ | ClaudeSDKClient — mid-session follow-ups, model switching, interrupt |
| In-process MCP server | ✅ | Feature DB tools run in-process — zero subprocess cold-start overhead |
| File checkpointing + rewind | ✅ | Rewind all files to any prior checkpoint without git |
| Pre-compact hook | ✅ | Custom compaction instructions preserve feature state across context limits |
| Structured JSON output | ✅ | Schema-enforced output from reviewer and planning agents |
| Thinking config | ✅ | Deep thinking for planning, adaptive for coding, disabled for monitoring |
| Named sub-agents | ✅ | AgentDefinition — planner/coder/reviewer with separate prompts and tool sets |
| Cost cap per session | ✅ | max_budget_usd — hard stop when budget is hit |
| Token-level streaming | ✅ | StreamEvent for typewriter effect in terminal UI |
| Architecture & Concurrency | ||
| Concurrency model | ✅ | Pure asyncio.TaskGroup — no subprocess+threading mix |
| State management | ✅ | FastAPI REST + SQLAlchemy + WebSocket — clean separation of concerns |
| Session hydration | ✅ | session_manifest.json survives restarts and process crashes |
| Plugin system | ✅ | pyproject.toml entry points — third-party plugins without forking core |
| Dependency-aware scheduling | ✅ | Kahn's algorithm + DFS cycle detection — features run in correct order |
| Orphan task adoption | ✅ | Tasks from crashed sessions are automatically re-parented on startup — no manual recovery needed |
| Standalone state service | ✅ | claw-forge state — run the REST + WebSocket API independently with optional PostgreSQL backend |
| Security | ||
| Bash security hook | ✅ | Hierarchical allowlist: hardcoded blocklist → global defaults → project-specific |
| CanUseTool callback | ✅ | Programmatic permission control with input mutation before execution |
| File-tool path sandbox | ✅ | File writes sandboxed to the project directory automatically (Layer 1) |
| Exempt-command jail check | ✅ | Even 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 directive | ✅ | System-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 jail | ✅ | Kernel-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 isolation | ✅ | Opt-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 net | ✅ | Boot 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 detection | ✅ | Brackets 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-task | ✅ | Agent 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 skill | ✅ | Structured root-cause analysis workflow |
| Verification gate skill | ✅ | Run checks before claiming task complete |
| Parallel dispatch skill | ✅ | Route subtasks to parallel agents automatically |
| Frontend design skill | ✅ | Production-grade UI design guidance for web agents |
| Playwright browser skill | ✅ | Browser automation for web testing agents |
| Workflow Features | ||
| YOLO mode | ✅ | --yolo — max concurrency, auto-approve permissions, skip verification |
| Pause / resume | ✅ | Drain mode: finish active features, then pause gracefully |
| Human input requests | ✅ | Agent raises needs_human flag; claw-forge input CLI unblocks it |
| Batch feature mode | ✅ | Implement multiple features per session with --batch-size |
| Slash commands (.claude/) | ✅ | create-spec, expand-project, check-code, checkpoint, review-pr, pool-status |
| Session resume | ✅ | Continue or fork any prior session by ID |
| Plan reconciliation | ✅ | Re-running claw-forge plan preserves completed tasks — only missing features are added. Use --fresh for a clean slate. |
| Manual merge control | ✅ | claw-forge merge — squash-merge feature branches on your terms with merge_strategy: manual |
| Bugfix dispatch sweep | ✅ | Automatic sweep for pending bugfix tasks after main wave completes — regression fixes aren't left behind |
| Rate limit handling | ✅ | Parse retry-after headers, exponential backoff, auto-resume after cooldown |
| UI & Monitoring | ||
| Kanban board | ✅ | 5-column board: Pending / In Progress / Passing / Failed / Blocked |
| Provider health dots | ✅ | Green/amber/red per provider; click for RPM, latency, circuit state |
| Real-time WebSocket updates | ✅ | Feature status, agent events, cost — live, no polling |
| Regression health bar | ✅ | Collapsible accordion showing trigger features, implicated features, and pass/fail status for regression suites |
| Documentation & Quality | ||
| Tutorial website | ✅ | This site — quickstart, provider setup, plugin guide, skills reference |
| SDK API guide | ✅ | 20 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/CD | ✅ | Lint + typecheck + full test suite on every push and PR |
Roadmap
Honest about what's still in progress.
Distribute agent waves across multiple machines. The pool manager handles routing — we need the distributed work queue layer.
Currently SQLite — great for local development. Adding PostgreSQL and a hosted cloud option for team use.
Embed the Kanban UI directly in VS Code. See agent progress without leaving your editor.
Historical cost breakdown per project, per provider, per feature — so you can optimize spend over time.