MCPcopy Index your code
hub / github.com/MaorBril/clauder

github.com/MaorBril/clauder @v0.14.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.14.1 ↗ · + Follow
657 symbols 2,128 edges 46 files 194 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Clauder

Make your AI coding agents talk to each other.

You're working on a frontend. Claude is helping. Meanwhile, another Claude is working on the backend in a different terminal. They have no idea the other exists.

With clauder, they can communicate. The frontend Claude asks the backend Claude: "What's the API contract?" and gets an answer. No copy-pasting. No context switching. Just agents collaborating.


The Problem

Modern development often means multiple services, multiple repos, multiple terminals. You might have: - Claude helping with the frontend in one directory - Claude working on the API in another - Claude setting up infrastructure in a third

But they're completely isolated. You become the messenger, copying context between sessions. "The backend team decided to use REST" — except there is no backend team, just another Claude instance that can't talk to this one.

The Solution

Clauder connects your Claude instances:

# Install
curl -sSL https://raw.githubusercontent.com/MaorBril/clauder/main/install.sh | sh

# Set up with Claude Code
clauder setup

# Now your Claude instances can find and message each other

From any Claude session: - Discover: "List other Claude instances" → sees what's running where - Communicate: "Ask the backend instance about the API schema" → sends a message, gets a response - Coordinate: Agents working on related services stay in sync

What Else?

  • Persistent Memory: Facts and decisions survive session restarts
  • Telegram Bridge: Control sessions from your phone — no exposed ports
  • Web Dashboard: See all running instances, messages, and stored context
  • Works Everywhere: Claude Code, Cursor, Windsurf, OpenCode, Codex CLI, Gemini CLI

Installation

Quick Install (Recommended)

macOS / Linux:

curl -sSL https://raw.githubusercontent.com/MaorBril/clauder/main/install.sh | sh

Windows (PowerShell):

irm https://raw.githubusercontent.com/MaorBril/clauder/main/install.ps1 | iex

Installs to ~/.local/bin (Unix) or %LOCALAPPDATA%\clauder (Windows).

With Go

go install github.com/MaorBril/clauder@latest

Manual Download

Download the binary for your platform from Releases:

Platform Binary
macOS (Apple Silicon) clauder-darwin-arm64
macOS (Intel) clauder-darwin-amd64
Linux (x64) clauder-linux-amd64
Linux (ARM64) clauder-linux-arm64
Windows (x64) clauder-windows-amd64.exe

Build from Source

git clone https://github.com/MaorBril/clauder.git
cd clauder
make build

Setup

Claude Code

Run the setup command to configure Claude Code to use Clauder:

clauder setup

This will add the MCP server configuration to your Claude Code settings.

Cursor / Windsurf

For Cursor or Windsurf:

clauder setup --cursor
# or
clauder setup --windsurf

OpenCode

Clauder also works with OpenCode. Run:

clauder setup --opencode

This creates an opencode.json in your project directory with the MCP configuration.

OpenAI Codex CLI

For Codex CLI:

clauder setup --codex

This adds clauder to ~/.codex/config.toml.

Google Gemini CLI

For Gemini CLI:

clauder setup --gemini

This adds clauder to ~/.gemini/settings.json.

Usage

CLI Commands

# Store a fact
clauder remember "Project uses SQLite for persistence"

# Recall facts
clauder recall "database"

# List running instances
clauder instances

# Send a message to another instance
clauder send <instance-id> "Hello from another directory"

# Check messages
clauder messages

# View status
clauder status

# Launch web dashboard
clauder ui

Web Dashboard

Launch an interactive web dashboard to monitor all clauder activity:

clauder ui

This opens a browser to http://localhost:8765 with: - Instances: View all running Claude Code sessions with status (active/idle/leader) - Messages: Full message history with filtering by read/unread, sender, recipient - Facts: Browse stored facts with filtering by tags, source directory, local/global

Options: - -p, --port: Port to run on (default: 8765) - -r, --refresh: Auto-refresh interval in seconds (default: 3) - --no-browser: Don't automatically open browser

Keyboard shortcuts: 1/2/3 to switch views, R to refresh, Esc to close modals.

As MCP Server

Start the server (typically done automatically by Claude Code):

clauder serve

Telegram Bridge

Control your Claude Code session from your phone via Telegram. No exposed ports, no web server — just a Telegram bot bridging messages to your terminal.

# First time: set your bot token
export CLAUDER_TELEGRAM_TOKEN="your-bot-token"

# Start a wrapped session with Telegram enabled
clauder wrap --telegram

On first run, a QR code appears in your terminal. Scan it with your phone to pair the Telegram bot. After that, messages you send in Telegram get injected directly into your Claude session, and responses come back to Telegram.

# Combine with named instances
clauder wrap --telegram --name backend

How to get a bot token: 1. Message @BotFather on Telegram 2. Send /newbot and follow the prompts 3. Copy the token and set it as CLAUDER_TELEGRAM_TOKEN

Only one instance can use --telegram at a time (enforced via instance locking with stale PID detection).

Multiple Instances in Same Directory

Running multiple Claude sessions in the same project? Use the --name flag to differentiate them:

# Terminal 1 - working on frontend
clauder wrap --name frontend

# Terminal 2 - working on backend
clauder wrap --name backend

# Terminal 3 - running tests
clauder wrap --name tests

Each named instance gets a unique ID and can be messaged individually: - Targeted message: Send to a specific instance by its full ID (includes :name) - Broadcast message: Send to all instances in a directory by using the directory ID

Without --name, the second instance in the same directory automatically gets a unique suffix to avoid conflicts.

MCP Tools

When used as an MCP server, clauder provides these tools:

Tool Description
remember Store a fact, decision, or piece of context
recall Search and retrieve stored facts
forget Delete a stored fact (with confirmation)
get_context Load all relevant context for the current directory
list_instances List other running Claude Code sessions (grouped by directory)
send_message Send a message to a specific instance or broadcast to all in a directory
get_messages Check for incoming messages

Data Storage

All data is stored in ~/.clauder/ directory using SQLite. Session logs (JSONL) are written to ~/.clauder/sessions/ and rotate at 50MB. Disable session logging with CLAUDER_NO_SESSION_LOG=1.

Telemetry

Clauder collects anonymous usage data to help improve the tool. This includes: - OS and architecture - Commands and features used (not content) - Version information

No personal data, file contents, or facts are ever collected.

To opt out, set one of these environment variables:

export CLAUDER_NO_TELEMETRY=1
# or
export DO_NOT_TRACK=1

License

MIT License - see LICENSE for details.

Extension points exported contracts — how you extend this code

Injector (FuncType)
Injector is a callback that injects text directly into the Claude Code PTY. When set, incoming Telegram messages are inj
internal/telegram/bot.go
Store (Interface)
(no doc) [1 implementers]
internal/store/store.go

Core symbols most depended-on inside this repo

errorResult
called by 80
internal/mcp/tools.go
AddFact
called by 63
internal/store/store.go
Close
called by 46
internal/store/store.go
textResult
called by 43
internal/mcp/tools.go
toolRemember
called by 38
internal/mcp/tools.go
debugLog
called by 27
internal/store/sqlite.go
TrackMCPTool
called by 26
internal/telemetry/telemetry.go
GetAllFactsByDir
called by 21
internal/store/store.go

Shape

Function 358
Method 229
Struct 67
Interface 2
FuncType 1

Languages

Go97%
TypeScript3%

Modules by API surface

internal/store/store.go70 symbols
internal/store/sqlite.go61 symbols
internal/mcp/tools_test.go58 symbols
internal/store/sqlite_test.go42 symbols
cmd/setup_test.go36 symbols
internal/ui/web.go33 symbols
internal/review/session.go27 symbols
internal/mcp/server.go27 symbols
internal/mcp/tools.go22 symbols
internal/mcp/toollog.go21 symbols
internal/mcp/toollog_test.go20 symbols
cmd/wrap.go19 symbols

For agents

$ claude mcp add clauder \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact