The stream that unites everything.
Version: v3.13.0-bluesky
See BACH working live — dashboard, Codex backend, operator steering — in 2:22:
BACH uses Codex both as a first-class runtime backend and as a repository-development partner. For the exact automation schedules, model routes, and auditable session IDs, see the verified Build Week attribution below.
BACH is documented and shipped with translation surfaces for six languages:
🇬🇧 English | 🇩🇪 Deutsch | 🇪🇸 Español | 🇷🇺 Русский | 🇯🇵 日本語 | 🇨🇳 中文
The current release snapshot enables de, en, es, ru, ja, and zh in system/exports/translations/languages_config.release.json and exports matching locale files in system/exports/translations/locales/. For crawlers and direct language entry points, each language also has its own README.md under docs/i18n/<lang>/.
BACH is a text-based operating system that empowers Large Language Models (LLMs) to work autonomously, learn, and self-organize. Part of the ellmos family (Extra Large Language Model Operating Systems), BACH provides comprehensive infrastructure for task management, knowledge management, automation, and LLM orchestration.
BACH is best described as a local-first LLM operating system: a persistent Python/SQLite workbench for autonomous agents, structured memory, scheduler-driven automation, prompt chains, MCP server integration, and multilingual operator surfaces. It is not a chatbot wrapper, hosted agent SaaS, Bash unit-test framework, music project, or LangChain-style pipeline library.
Canonical GitHub repository: ellmos-ai/bach. Machine-readable project context for LLM crawlers is available in llms.txt.
Useful search phrases include ellmos-ai/bach, local-first LLM operating system, text-based OS for LLM agents, SQLite memory for AI agents, BACH ellmos agent OS, personal agentic OS Python SQLite, and multi-agent orchestration with MCP servers.
BACH uses Codex in two distinct roles:
- Runtime backend:
codex-cliis one of five pluggable chat backends, and BACH agents can delegate coding tasks throughcodex exec. - Repository development: three active Codex automations maintain the project:
bach-daily-care-and-dev-check,bach-start-and-health-checks, andbach-github-release-service. Since July 21, 2026, all three have been configured for GPT-5.6 (gpt-5.6-terra); the first two run daily, while the release service runs weekly. - Verified model routing: in Codex Session
019f85c6-4339-7f13-b8e5-bf1823fd8432, GPT-5.6 Sol with high reasoning audited all 78 automation definitions and routed BACH's development and release jobs to Terra/high and health checks to Terra/medium. - Final submission audit: GPT-5.6 Sol in Codex Session
019f8674-fe9a-7d91-a80f-7ee799e8ced0reviewed and certified the pending BACH changes, corrected the competition attribution, and completed the web-scrape hardening and regression tests.
For auditability, the GPT-5.6 automation attribution applies from that configuration change forward; earlier automation runs used earlier Codex models.
- 113+ Handlers - Full CLI and API coverage of all system functions
- 550+ Tools - Extensive tool library for file processing, analysis, and automation
- 1870+ Skills - Reusable workflows and templates
- Skill Source Registry -
bach skills version bachresolves the canonical repo-root skill viasystem/data/skill_sources.jsonand can compare optional Codex/Claude user copies without fuzzy filename drift - 71 Workflow Templates - Pre-built process workflows
- 4400+ Tests - Comprehensive automated coverage across handlers, services, GUI, and MCP servers
- Knowledge Store - Lessons, Facts, and Multi-Level Memory System (6 memory types)
- Agent CLI -
bach agent start/stop/listfor direct agent control - Agent Doctor -
bach agent doctor [name] [--json]validates Claude CLI availability, runtime dirs, skill files, and stale PID state before a launch - Agent Operator Controls -
bach agent pause/resume/checkpoint/steer/clear-steer [name] [--json]lets operators stage cooperative pause requests and guidance before or during a run, record explicit safe-checkpoint acknowledgements, mirror that state intoOPERATOR_NOTES.md, preserve queued hints across the nextbach agent start, inject them into the generated sessionCLAUDE.md, and expose nestedoperator_controlsnapshots plusqueued_for_next_startfor automation-safe polling - Agent Runtime Policy Defaults -
bach agent startnow accepts--permission-mode,--allowed-tools, and--max-turns, and can preload the same defaults from agent SKILL frontmatter for per-agent guardrails - Scheduler Doctor -
bach scheduler doctor [--json]plusbach scheduler session doctor [--json]validate automation scripts, PID state, DB/config/profile surfaces, and suggest recovery steps before background services are started - Session Steering Controls -
bach scheduler session pause/resume/steer/clear-steer [--json]lets operators gate or retarget the next profile-specific auto-session without editing daemon config by hand - Scheduler Run Controls -
bach scheduler pause/resume/steer/clear-steer [--json]now exposes the same operator control plane for due scheduler jobs, including global pause and queued run guidance without hand-editing control files; queued scheduler hints now also hydrate llmauto chains into their next safe-checkpoint prompt path - Machine-readable Control & Status Surfaces -
bach agent list/start/stop/pause/resume/checkpoint/steer/clear-steer/status --json,bach scheduler status/jobs/session status --json, andbach scheduler session pause/resume/steer/clear-steer --json, including queue state,queued_for_next_start, timestamps, checkpoint acknowledgements, and operator-note metadata for automation-safe polling - Upgrade Drift & Repair -
bach upgrade list <path> --json,bach upgrade status/check --json, andbach upgrade repair [--dry-run] [--version <tag>]expose automation-safe version, status, drift, repair hints, and recovery for broken distribution metadata - Path Surface -
bach pathexposes canonical system/workspace/DB paths, validation, resolve helpers, and DB overrides in text or JSON - Prompt System - Central prompt management with board system and versioning
- Install Security Gate - Static pre-load scans block obvious code-injection patterns during
skills install/plugins load; MCP setup validates allowlisted packages/configs fail-closed, plugin setup contracts now require explicit shell/desktop/MCP checks, and blocked local imports are quarantined - Manifest-first Plugins -
bach plugins inspectpreviews activation, provider/model, setup, and capability metadata without importing plugin runtime code - Structured
bach_apiCore -taskandmemorynow expose discoverable methods viadir(...), return Python objects for common reads/writes, and still keepraw(...)for legacy handler-style calls - SharedMemory Bus - Multi-agent coordination with conflict detection and decay
- USMC Bridge - United Shared Memory Communication for cross-agent communication
- llmauto Chains - Claude prompts as chain steps with
bach://URL resolution - Chat Service - Multi-backend Telegram bot (5 backends), Control API, Web Dashboard, cross-platform System Tray
# Clone the repository
git clone https://github.com/ellmos-ai/bach.git
cd bach
# Install dependencies and make `bach` CLI available
pip install -e .
# Pre-flight check
bach setup preflight
# Full install (MCP servers, hooks, secrets, user profile)
bach setup full-installBACH provides two MCP servers for integration with Claude Code, Cursor, and other IDEs. Cross-platform tested on Windows, macOS (ARM64), and Linux:
# Install and configure MCP servers (recommended)
python system/bach.py setup mcp
# Or manually via npm:
npm install -g ellmos-codecommander-mcp ellmos-filecommander-mcp- ellmos-codecommander-mcp v1.3.14 - Code analysis and refactoring tools (21 tools)
- ellmos-filecommander-mcp v1.9.1 - File management and batch operations (46 tools)
# Start BACH
python bach.py --startup
# Create a task
python bach.py task add "Analyze project structure"
# Manage agents
python bach.py agent list
python bach.py agent start bueroassistent
# Manage prompts
python bach.py prompt list
python bach.py prompt add "My Prompt" --content "..."
# Check scheduler status
python bach.py scheduler status
# Shut down BACH
python bach.py --shutdownFull GTD system with prioritization, deadlines, tags, and context tracking.
Structured memory system with Facts, Lessons, and automatic consolidation (6 memory types, 210+ DB tables).
11 Boss agents orchestrate 22 experts for complex tasks. The Agent CLI allows direct starting, stopping, and listing of agents via bach agent, and now also supports prelaunch steering queues, cooperative pause requests, and explicit safe-checkpoint acknowledgements via bach agent checkpoint. Queued hints are injected into the generated session CLAUDE.md at launch, OPERATOR_NOTES.md mirrors steering, pause, and checkpoint state, and live JSON status surfaces expose the nested operator_control snapshot for dashboards.

Illustration shows BACH's five original boss agents: ati, officeassistant, finance-assistant, health-assistant, personal-assistant. The current system ships 11 boss agents and 22 experts.
Central management of prompt templates with board collections and full versioning (bach prompt).
Multi-backend Telegram bot with pluggable LLM backends (Ollama, Claude CLI, Codex CLI, Claude API, OpenAI API), HTTP Control API with web dashboard, and cross-platform system tray. Connector framework for additional services (Email, WhatsApp, etc.) and USMC Bridge for cross-agent communication.
SchedulerService for time-based jobs (chains, tasks, scripts) and event-driven workflows via the hook framework.
Multi-agent coordination with context generation, conflict detection, decay, and delta queries.
Chain steps as LLM prompts with bach:// URL resolution for dynamic context embedding.
All ellmos projects follow a water metaphor -- from a spring to a full stream:
| Tier | Project | Description | Repository |
|---|---|---|---|
| 1 | USMC | United Shared Memory Client -- the spring (shared memory only) | github.com/ellmos-ai/usmc |
| 2 | Rinnsal | The trickle -- USMC + llmauto (LLM orchestration), extremely compact | github.com/ellmos-ai/rinnsal |
| 3 | BACH | The stream that unites everything -- 113+ handlers, 1870+ skills, agents, GUI, bridge | github.com/ellmos-ai/bach |
- Languages: English | Deutsch | Español | Русский | 日本語 | 中文
- Quickstart Guide - Get your first workflow running in 5 minutes
- User Manual - Complete handbook
- Skills Catalog - Template and public entry point for available skills
- Agents Catalog - Template and public entry point for agents and experts
- Workflows - 71 workflow templates
- SKILL template - LLM operating instructions template for Claude, Gemini, Ollama, and Codex-style agents
How does BACH compare to OpenClaw, a popular open-source AI assistant?
| BACH | OpenClaw | |
|---|---|---|
| Focus | LLM Operating System -- deep autonomy, structured memory, multi-agent orchestration | Personal AI Assistant -- broad messaging gateway, voice, companion apps |
| Tools/Skills | 550+ tools, 1870+ skills, 71 workflows (local, curated) | Community-driven skill/plugin ecosystem; recent releases emphasize manifest-first plugin metadata and install safety |
| Memory | 6 memory types with decay, conflict detection, consolidation (210+ DB tables) | Session/runtime workspace with bootstrap files such as AGENTS.md, TOOLS.md, USER.md, and related context files |
| Agents | Boss-Expert orchestration (11 boss agents + 22 experts), SharedMemory Bus | Agent runtime with multi-session/channel operation |
| Messaging | Telegram, Email, WhatsApp (Bridge System) | 20+ platforms (WhatsApp, Telegram, Slack, Discord, Signal, Teams, Matrix...) |
| Interfaces | CLI, Python API, PySide6 GUI, Web GUI, Telegram Bot, Web Chat, System Tray | CLI, WebChat, macOS/iOS/Android apps, Voice |
| MCP | Own MCP servers (FileCommander, CodeCommander) | Native MCP Registry |
| Stack | Python 3.10+, SQLite | TypeScript, Node.js 22+ |
| License | MIT | MIT |
In short: BACH goes deep (structured memory, autonomous agents, scheduler, 210+ DB tables). OpenClaw goes wide (20+ messengers, native apps, voice, large community). Different philosophies, complementary strengths.
As of July 19, 2026, OpenClaw stable remains 2026.7.1; the newest visible prerelease is 2026.7.2-beta.3, published on July 18, 2026 at 23:16 UTC. It extends the already tracked MCP-isolation, task-ledger, remote-worker, and recovery signals with remote coding sessions on owning hosts, guided Control UI/channel setup, stronger gateway/session recovery, safer channel operation, and versioned external-supervisor restart handoffs. The best-fit impulses for BACH are supervised restart handoffs, terminal resume on the owning host, guided setup hardening, and recovery-safe channel/session flows; broad mobile/channel parity remains outside BACH's current focus. Source: openclaw/openclaw releases.
On the BACH side, the July 19 care pass sealed the live release catalog: bach upgrade repair --version v3.13.0-bluesky --json registered the current release, and bach upgrade check --json now reports stable/latest v3.13.0-bluesky, release_entries=2, current_release_registered=true, repair_recommended=false, and local_modifications=0. test-agent doctor/start dry-run and usecase 50 also ran successfully.
MIT License - see LICENSE for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
BACH ist ein textbasiertes Betriebssystem, das Large Language Models (LLMs) befähigt, eigenständig zu arbeiten, zu lernen und sich zu organisieren.
Die vollständige deutsche Dokumentation findest du hier: README.de.md
ellmos BACH v3.13.0-bluesky - Text-Based Operating System for LLMs
Dieses Projekt ist eine unentgeltliche Open-Source-Schenkung im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß § 521 BGB auf Vorsatz und grobe Fahrlässigkeit beschränkt. Ergänzend gelten die Haftungsausschlüsse aus GPL-3.0 / MIT / Apache-2.0 §§ 15–16 (je nach gewählter Lizenz).
Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie, keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.
This project is an unpaid open-source donation. Liability is limited to intent and gross negligence (§ 521 German Civil Code). Use at your own risk. No warranty, no maintenance guarantee, no fitness-for-purpose assumed.


