Bearing
:::caution[Experimental] Bearing is experimental software. Read the introductory blog post. Expect breaking changes. :::
The best orchestrator for Claude is Claude.
Bearing is not an orchestration framework. Itβs infrastructure that enables Claude to orchestrate itself.
What Bearing Provides
- Worktree management β Isolated directories so parallel agents donβt conflict
- Plan visualization β TUI to see all plans across repos
- State sync β JSONL files synced to GitHub issues for persistence
- Query tools β CLI commands agents can use to understand workspace state
- Hooks β Feed context to Claude Code agents automatically
The Problem
Multiple AI agents working on the same codebase step on each other when they switch branches in shared folders.
The Solution
Bearing enforces a worktree-per-task pattern. Each task gets its own isolated directory. Claude orchestrates the work; Bearing provides the infrastructure.
Install
git clone https://github.com/joshribakoff/bearing ~/Projects/bearing
cd ~/Projects/bearing
go build -o bearing ./cmd/bearing
# Add to PATH or move to /usr/local/bin
Example Commands
bearing worktree new myapp feature-auth
bearing worktree list
bearing worktree cleanup myapp feature-auth
bearing worktree check
bearing worktree sync
Workspace Structure
~/Projects/
βββ bearing/ # Bearing itself
βββ myapp/ # Base folder (stays on main)
βββ myapp-feature-auth/ # Worktree for feature
βββ myapp-fix-bug/ # Worktree for bug fix
βββ workflow.jsonl # Tracks active work
Base folders stay on main. Worktrees are created for each task. This scales to 100+ worktrees.