Display Name
Bernstein
Category
Tooling
Sub-Category
Tooling: Orchestrators
Primary Link
https://github.com/chernistry/bernstein
Author Name
chernistry
Author Link
https://alexchernysh.com
License
Apache-2.0
Other License
No response
Description
Deterministic multi-agent orchestrator: routes tasks to Claude Code and 17+ CLI agents (Codex, Cursor, Aider, Gemini CLI, OpenAI Agents SDK, etc) for parallel subtasks. Python scheduler, LLM-free coordination. Each agent uses a git worktree; janitor checks (tests/lints/files) pre-merge. Runs are HMAC-chained, replayable from the audit log. MCP server mode (stdio/HTTP/SSE) links Bernstein to Claude Code. Apache 2.0, ~11K PyPI downloads/mo, 147+ stars. Install: pipx install bernstein.
Validate Claims
Clean-venv reproducibility:
python3.12 -m venv bs && source bs/bin/activate
pip install bernstein
bernstein --version # 1.8.11+
bernstein mcp --transport http --port 8053 # starts SSE MCP server, use from Claude Code
Claude Code adapter docs: https://bernstein.readthedocs.io/en/latest/ADAPTER_GUIDE/
Full release notes: https://github.com/chernistry/bernstein/releases
Network behavior: calls only to providers whose CLI agents you install (Anthropic, OpenAI, Google) via those agents' own HTTP clients. Bernstein itself makes no external requests, no telemetry. Cloudflare cloud runtime is opt-in (bernstein cloud login). Does NOT require --dangerously-skip-permissions. Auth off by default; v1 threat model is single-developer-on-laptop.
Specific Task(s)
Ship three related code changes in parallel across one repo, using Bernstein to route work between Claude Code (primary) and other agents (e.g., Codex for tests, Aider for docs). Each agent runs in an isolated git worktree; quality gates verify outputs before merge; every agent action is logged to an HMAC-chained audit trail.
Specific Prompt(s)
After pipx install bernstein && cd your-flask-project && bernstein init:
bernstein -g "Add a /health endpoint to this FastAPI app, write pytest integration tests covering it, and document it in docs/API.md. Use Claude Code for the endpoint, Codex for the tests, and Aider for the docs. Verify each agent's output passes ruff + pytest before merging to main."
What you should see: three parallel worktrees spawn (one per agent), each handling one subtask; the janitor runs lints and tests on each worktree before merge; a final audit log lands in .sdd/audit/ showing every action with HMAC signatures.
Additional Comments
Bernstein is a true orchestrator for Claude Code, not a wrapper — it spawns Claude Code as a subprocess in its own git worktree, captures its outputs, runs a verification janitor against quality gates, and merges only what passes concrete signals (tests, lints, file existence). The HMAC-chained audit trail means a Claude Code session run through Bernstein is bit-identically replayable days later, which matters for anyone using Claude Code in a compliance-sensitive or production-critical path. Claude Code is the first-class adapter — the other 17 exist so Bernstein can route subtasks where Claude Code isn't the right tool (e.g., local Ollama for offline passes).
Recommendation Checklist
Display Name
Bernstein
Category
Tooling
Sub-Category
Tooling: Orchestrators
Primary Link
https://github.com/chernistry/bernstein
Author Name
chernistry
Author Link
https://alexchernysh.com
License
Apache-2.0
Other License
No response
Description
Deterministic multi-agent orchestrator: routes tasks to Claude Code and 17+ CLI agents (Codex, Cursor, Aider, Gemini CLI, OpenAI Agents SDK, etc) for parallel subtasks. Python scheduler, LLM-free coordination. Each agent uses a git worktree; janitor checks (tests/lints/files) pre-merge. Runs are HMAC-chained, replayable from the audit log. MCP server mode (stdio/HTTP/SSE) links Bernstein to Claude Code. Apache 2.0, ~11K PyPI downloads/mo, 147+ stars. Install:
pipx install bernstein.Validate Claims
Clean-venv reproducibility:
Claude Code adapter docs: https://bernstein.readthedocs.io/en/latest/ADAPTER_GUIDE/
Full release notes: https://github.com/chernistry/bernstein/releases
Network behavior: calls only to providers whose CLI agents you install (Anthropic, OpenAI, Google) via those agents' own HTTP clients. Bernstein itself makes no external requests, no telemetry. Cloudflare cloud runtime is opt-in (
bernstein cloud login). Does NOT require --dangerously-skip-permissions. Auth off by default; v1 threat model is single-developer-on-laptop.Specific Task(s)
Ship three related code changes in parallel across one repo, using Bernstein to route work between Claude Code (primary) and other agents (e.g., Codex for tests, Aider for docs). Each agent runs in an isolated git worktree; quality gates verify outputs before merge; every agent action is logged to an HMAC-chained audit trail.
Specific Prompt(s)
After
pipx install bernstein && cd your-flask-project && bernstein init:bernstein -g "Add a /health endpoint to this FastAPI app, write pytest integration tests covering it, and document it in docs/API.md. Use Claude Code for the endpoint, Codex for the tests, and Aider for the docs. Verify each agent's output passes ruff + pytest before merging to main."
What you should see: three parallel worktrees spawn (one per agent), each handling one subtask; the janitor runs lints and tests on each worktree before merge; a final audit log lands in .sdd/audit/ showing every action with HMAC signatures.
Additional Comments
Bernstein is a true orchestrator for Claude Code, not a wrapper — it spawns Claude Code as a subprocess in its own git worktree, captures its outputs, runs a verification janitor against quality gates, and merges only what passes concrete signals (tests, lints, file existence). The HMAC-chained audit trail means a Claude Code session run through Bernstein is bit-identically replayable days later, which matters for anyone using Claude Code in a compliance-sensitive or production-critical path. Claude Code is the first-class adapter — the other 17 exist so Bernstein can route subtasks where Claude Code isn't the right tool (e.g., local Ollama for offline passes).
Recommendation Checklist