---
url: "https://auraplusplus.com/projects/bernstein-multi-agent-orchestration"
markdown: "https://auraplusplus.com/projects/bernstein-multi-agent-orchestration.md"
website: "https://bernstein.run"
tier: "nofollow"
status: "scheduled"
upvotes: 0
launched: "2027-01-23"
categories: "Developer Tools, DevOps & Cloud, Artificial Intelligence"
platforms: "desktop, api, other"
tags: "Python"
pricing: "free"
pricing_label: "Free to use"
pricing_details: "n/a"
maker: "chernistry"
created: "2026-05-21"
updated: "2026-09-07"
---

# Bernstein - Multi-agent orchestration

> "To achieve great things, two things are needed: a plan and not quite enough time." - Leonard Bernsteinwhy the name?Bernstein is named after Leonard Bernstein, the American conductor and composer.

## About Bernstein - Multi-agent orchestration

![Bernstein](https://github.com/sipyourdrink-ltd/bernstein/raw/main/docs/assets/logo-light.svg)

> "To achieve great things, two things are needed: a plan and not quite enough time." - Leonard Bernstein

### why the name?

Bernstein is named after Leonard Bernstein, the American conductor and composer. The project orchestrates a crew of CLI coding agents the way Bernstein conducted the New York Philharmonic: every player on cue, the score deterministic, the conductor accountable for the result. He is the original orchestrator the project takes its name from.

### deterministic multi-agent CLI orchestration

![CI](https://github.com/sipyourdrink-ltd/bernstein/actions/workflows/ci.yml/badge.svg)

![PyPI](https://camo.githubusercontent.com/02061662f690ccba48ce3b3c8469defae2cc6a1586bc8611f51d09fe4a7abc38/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f6265726e737465696e)

![GHCR](https://camo.githubusercontent.com/c0af742c884e6e9b88284a901165e8df5c2c389a309d66675649731bae1d0d04/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f676863722e696f2d6265726e737465696e2d3234393665643f6c6f676f3d646f636b6572266c6f676f436f6c6f723d7768697465)

![Python 3.12+](https://camo.githubusercontent.com/d79b3db457806421e2eb09d2d98c84af94dfb4141078f3e045c9c007a285bed7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31322b2d3337373661623f6c6f676f3d707974686f6e266c6f676f436f6c6f723d7768697465)

![License](https://camo.githubusercontent.com/c72a8fefde86e17a52ec1a95e36c0b177a8889f5242d6bb82a103146ba37a073/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f736970796f75726472696e6b2d6c74642f6265726e737465696e)

![OpenSSF Scorecard](https://camo.githubusercontent.com/425f8467a807081c601683eab69c1ac5113a514b469e52d8fb627667e21f33fe/68747470733a2f2f6170692e736563757269747973636f726563617264732e6465762f70726f6a656374732f6769746875622e636f6d2f736970796f75726472696e6b2d6c74642f6265726e737465696e2f6261646765)

![CodeQL](https://github.com/sipyourdrink-ltd/bernstein/actions/workflows/codeql.yml/badge.svg?branch=main)

![Open in Codespaces](https://github.com/codespaces/badge.svg)
[website](https://bernstein.run/) · [docs](https://bernstein.readthedocs.io/) · [install](https://github.com/sipyourdrink-ltd/bernstein/blob/main/docs/getting-started/install.md) · [first run](https://github.com/sipyourdrink-ltd/bernstein/blob/main/docs/getting-started/first-run.md) · [glossary](https://github.com/sipyourdrink-ltd/bernstein/blob/main/docs/reference/GLOSSARY.md) · [limitations](https://github.com/sipyourdrink-ltd/bernstein/blob/main/docs/reference/KNOWN_LIMITATIONS.md) · [sponsor](https://github.com/sponsors/chernistry)

Bernstein is a deterministic Python scheduler that runs a crew of CLI coding agents (Claude Code, Codex, Gemini CLI, and 40 more) against a single goal in parallel git worktrees, with an HMAC-signed audit chain over every step.

### at a glance

- 44 CLI agent adapters in v2.2.x: 41 third-party wrappers, 2 leaf-node delegators, plus a generic `--prompt` wrapper. Source of truth: the [supported agents](https://github.com/sipyourdrink-ltd/bernstein?utm_source=bernstein.run&utm_medium=outbound-link&utm_campaign=nav-desktop#supported-agents) table below.
- HMAC-SHA256 audit chain per [RFC 2104](https://datatracker.ietf.org/doc/html/rfc2104), one record per scheduling decision, tamper-evident. Operator guide: [docs/security/](https://github.com/sipyourdrink-ltd/bernstein/blob/main/docs/security/audit-log.md)[audit-log.md](http://audit-log.md).
- Bearer-token task server authenticates the manager and every worker. Per-session zero-trust JWT in `.sdd/runtime/agent_tokens/`, legacy `BERNSTEIN_AUTH_TOKEN` fallback, opt-out via `BERNSTEIN_AUTH_DISABLED=1`. Flow + diagnostics: [docs/security/](https://github.com/sipyourdrink-ltd/bernstein/blob/main/docs/security/manager-auth.md)[manager-auth.md](http://manager-auth.md).
- Signed agent cards use detached JWS ([RFC 7515 §A.5](https://datatracker.ietf.org/doc/html/rfc7515#appendix-A.5)) over [RFC 8785 (JCS)](https://datatracker.ietf.org/doc/html/rfc8785) canonicalization, with [Ed25519 / EdDSA](https://datatracker.ietf.org/doc/html/rfc8037) keys. Code: [src/bernstein/core/security/agent_card_](https://github.com/sipyourdrink-ltd/bernstein/blob/main/src/bernstein/core/security/agent_card_signer.py)[signer.py](http://signer.py).
- Per-artefact lineage records every file write linked back to producer + inputs + prompt SHA + model + cost. CLI: `bernstein lineage verify `.
- Deterministic scheduler: zero LLM in the coordination loop. Plain Python decides who runs, where, with what budget. Replay yesterday's plan, get yesterday's task graph.

### install in 30 seconds

```
pipx install bernstein
bernstein init
bernstein run -g "fix the failing test in tests/test_foo.py"
```

See installed integrations: `bernstein integrations list --installed`.

## who this is for

Specific shapes where the value lands:

- engineering teams running >=3 CLI coding agents in parallel: each agent gets its own git worktree, the merge queue serialises landings, no race conditions
- operators running compliance-sensitive workflows: every routing decision is plaintext, the audit log is HMAC-signed and tamper-evident, no SaaS hop, no third-party data plane
- platform teams that need an audit log of agent decisions: the orchestrator writes one row per scheduling decision, you can grep it
- anyone burning more than $1k/mo on coding agents who wants determinism: you can replay yesterday's plan and get yesterday's task graph
- forward-deployed engineers dropping into a client repo: credentials stay in your env, not the client's; agents you spawn are whichever CLI tool the client already trusts

If you nodded at two of those bullets, this fits.

## who this is NOT for

- "I want one pair-programmer to chat with about my code": a single CLI agent is fine. Bernstein adds orchestration overhead you don't need.
- prototypes where merge gates are overkill: the lint/types/tests/cross-model-review pipeline is value when the cost of a bad merge is real, friction when you're throwing the repo away on Friday.
- non-coding tasks (research, writing, data analysis pipelines): Bernstein wraps CLI coding agents specifically, not generic LLM workflows.
- anyone who wants a SaaS wrapper with a credit-card form: Bernstein is on-prem only by design.
- teams that need a vendor with a support SLA and a contract: solo open-source project. GitHub issues are how support happens.
- research-shape "let the agents collaborate emergently" use cases: the deterministic scheduler is a hard wall there.

## how it compares

Closest neighbours in this category live in [docs/compare/](https://github.com/sipyourdrink-ltd/bernstein/blob/main/docs/compare/README.md)[README.md](http://README.md). What Bernstein does well is the auditability surface: HMAC-chained audit, signed agent cards, per-artefact lineage, air-gap deploy profile, plus the widest CLI adapter coverage.

### what is this, in one paragraph

You tell Bernstein what you want built. It splits the work across several AI coding agents, runs them in parallel inside isolated git worktrees, records every handoff in an HMAC-SHA256-chained audit log (RFC 2104), runs the tests, and merges the code that actually passes. File-based state (`.sdd/`), per-agent credential scoping, signed audit trail.

### other install methods

```
curl -fsSL https://bernstein.run/install.sh | sh        # macOS / Linux one-liner
irm https://bernstein.run/install.ps1 | iex             # Windows PowerShell
pip install bernstein                                   # pip
uv tool install bernstein                               # uv
brew tap chernistry/tap && brew install bernstein       # Homebrew
```

See the full [install matrix](https://github.com/sipyourdrink-ltd/bernstein?utm_source=bernstein.run&utm_medium=outbound-link&utm_campaign=nav-desktop#install) for `dnf copr`, `npx`, optional extras, and the wheelhouse path for air-gapped sites.

### why the scheduler is plain Python

Most agent orchestrators use an LLM to decide who does what. That is non-deterministic and burns tokens on scheduling instead of code. Bernstein does one LLM call to break down your goal, then the rest (running agents in parallel, isolating their git branches, running tests, routing retries) is plain Python. Every run is reproducible. Every step is logged and replayable.

No framework to learn. No vendor lock-in. Swap any agent, any model, any provider.

## Overview

### Who is it for?

the result and others exploring developer tools.

### What is it?

You tell Bernstein what you want built. It splits the work across several AI coding agents, runs them in parallel inside isolated git worktrees, records every handoff in an HMAC-SHA256-chained audit log (RFC 2104), runs the tests, and merges the code that actually passes. File-based state (.sdd/), per-agent...

### How is it priced?

Bernstein - Multi-agent orchestration is free to use.

### How does it compare?

Closest neighbours in this category live in docs/compare/README.md. What Bernstein does well is the auditability surface: HMAC-chained audit, signed agent cards, per-artefact lineage, air-gap deploy profile, plus the widest CLI adapter coverage.

## Platforms

- desktop
- api
- other

## Tech stack

- Python

## Categories

- Developer Tools
- DevOps & Cloud
- Artificial Intelligence

## Compare & launch resources

- [More Developer Tools tools](https://auraplusplus.com/categories?category=developer-tools)
- [Compare launch platforms](https://auraplusplus.com/alternatives)
- [Product Hunt alternative](https://auraplusplus.com/alternatives/product-hunt)

## Screenshots

- Screenshot 1: https://utfs.io/f/xSkWTCqmKWx918RqYCb54BKHuiYIbGfnwyaSkxvDTCMsrW6Q
- Screenshot 2: https://utfs.io/f/xSkWTCqmKWx9omCUPc3waZD4fI5qz2hmxQ0kUL1XNBntoS7M

## Links

- Listing: https://auraplusplus.com/projects/bernstein-multi-agent-orchestration
- AI-friendly Markdown: https://auraplusplus.com/projects/bernstein-multi-agent-orchestration.md
- Website: https://bernstein.run
- GitHub: https://github.com/sipyourdrink-ltd/bernstein
- Twitter / X: https://x.com/alex_chernysh

## Explore

- [More in Developer Tools](https://auraplusplus.com/categories?category=Developer%20Tools)
- [All launches](https://auraplusplus.com/launches)
- [Trending on Aura++](https://auraplusplus.com/trending)


_HTML version: https://auraplusplus.com/projects/bernstein-multi-agent-orchestration_
