The stream that unites everything.
Version: v3.12.4-earth
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.
- 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
- 58 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.8 - Code analysis and refactoring tools (17 tools)
- ellmos-filecommander-mcp v1.7.8 - File management and batch operations (44 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 - All available skills
- Agents Catalog - All available agents and experts
- Workflows - 59 workflow templates
- SKILL.md - LLM operating instructions (for Claude, Gemini, Ollama)
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, 59 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 2026-06-03, GitHub Releases still marks 2026.5.28, published on May 30, 2026, as OpenClaw's latest stable release; the newest visible prerelease on the official release feed is now 2026.6.1-beta.3, published on June 3, 2026, and the GitHub container page currently foregrounds 2026.6.1-beta.3-browser while also listing 2026.6.1-beta.3-slim among the newest tagged images. The latest official signals most relevant to BACH are cleaner recovery after interrupted tool calls and stale session bindings, stricter timer/retry bounds across provider and plugin paths, clearer handling for stale disabled skill/plugin snapshots, broader workboard and SecretRef-manifest surfaces, more SQLite-backed runtime/install state, and more tightly bounded CI/Docker/E2E diagnostics. On the BACH side, today's live care pass reduced GUI i18n drift by indexing five remaining legacy strings from system/gui/ki-center.html into the existing gui namespace and refreshing the release artifacts to 17,419 exported translations. The same pass revalidated bach agent doctor test-agent --json, bach usecase run 12 --dry-run, bach usecase run 41 --dry-run, bach upgrade check --json, and bach lang report --surface gui --limit 10 --json; the GUI report now sits at 148 missing unique entries and 192 open occurrences, while usecase 41 still falls back to manual mode because no workflow file is linked. Next high-leverage steps remain deeper active-run steering inside long-running scheduler internals, low-cardinality telemetry, installer end-to-end coverage, GUI regression coverage, and prioritized i18n cleanup across GUI, help, skills, and tools.
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.12.4-earth - 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.


