freshcrate
Skin:/
Home > AI Agents > muxd

muxd

An open-source AI coding agent that lives in your terminal. Multi-provider, multi-channel, persistent sessions with git-like branching.

Why this rank:Recent releaseHealthy release cadenceStrong adoption

Description

An open-source AI coding agent that lives in your terminal. Multi-provider, multi-channel, persistent sessions with git-like branching.

README

muxd
muxd

An open source AI coding agent that lives in your terminal.
37 tools. Any model. Sessions that survive reboots. An agent that builds its own tools.

mux = multiplex your sessions  ·  d = daemon daemon (Unix tradition)

Early Release Version Last Commit Go 1.25+ Windows | Linux | macOS Apache 2.0

Full docs at muxd.sh · Client setup · Hub setup · Commands · Tools · Config


What makes muxd different

Most AI coding tools treat conversations as disposable. muxd saves everything to local SQLite. Close your terminal, reboot, come back next week, and pick up exactly where you left off.

Agent capabilities

37 built-in tools File I/O, bash, grep, glob, web search, HTTP, SMS, git, scheduling, document reading, parallel pipeline, LSP, and more
Any model Claude, GPT, Mistral, Grok, Fireworks, DeepInfra, Ollama, or any OpenAI compatible API
Inline diffs Every file edit shows a red and green diff in the chat. See exactly what changed
Read any document PDFs, Word, Excel, PowerPoint, HTML, CSV, JSON, XML. No plugins required
Self extending tools The agent creates its own tools at runtime. Command templates or scripts, ephemeral or persistent
Second opinion Ask a different model for a review. Response shown separately with a crystal ball emoji
Chat modes Code (read/edit/run), Ask (read-only), Architect (plan only). Switch with /mode
Repo map Auto-generated codebase overview injected into context for better navigation
Parallel pipeline Run sub-agents concurrently with a live DAG showing animated spinners and per-task activity
Code intelligence LSP integration with go-to-definition, references, hover, diagnostics, and symbol search across Go, TypeScript, Python, Rust, and C/C++

Session management

Persistent sessions Conversations survive restarts. Resume any session by project or ID
Branch and fork Explore alternatives without losing your thread. Like git branches for conversations
Project memory The agent remembers your conventions and decisions across sessions
Smart compression Tiered compaction at 60k/75k/90k tokens. Preserves key decisions while cutting costs

Infrastructure

Hub architecture Coordinate multiple daemons across machines. Connect from any TUI or mobile client
Copy mode Press Ctrl+S to toggle mouse tracking for native text selection. Arrow keys scroll the viewport
Always on daemon Background service that survives reboots. Auto titles, schedules tasks, runs headless
Mobile app iOS app connects via QR code. Chat with your agent from anywhere
Hub dispatch Send tasks to remote nodes. The agent can delegate work across your machines

Demo

muxd demo

muxd mobile - node picker      muxd mobile - chat


Install

Windows (PowerShell)

irm https://raw.githubusercontent.com/batalabs/muxd/main/install.ps1 | iex

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/batalabs/muxd/main/install.sh | bash

From source (requires Go 1.25+)

go install github.com/batalabs/muxd@latest

Prerequisites: git (for undo/redo) and an API key for at least one supported provider.


Quick start

muxd                              # start a new session

Set your API key:

/config set anthropic.api_key sk-ant-...

Resume a session:

muxd -c                           # resume latest session

Switch models:

muxd --model openai/gpt-4o        # use a different model

How it works

muxd has three modes.

Client (default)

Terminal TUI with a built in agent server. Everything runs locally.

muxd                              # new session
muxd -c                           # resume latest

Daemon

Headless agent server. Connect from other clients without keeping a terminal open.

muxd --daemon                     # start headless
muxd --daemon --bind 0.0.0.0      # accept remote connections
muxd -service install             # install as system service

Hub

Central coordinator for multiple daemons across machines.

Hub architecture diagram
muxd --hub --hub-bind 0.0.0.0                     # start hub
muxd --remote hub-ip:4097 --token <hub-token>      # connect from remote TUI

Contributing

git clone https://github.com/batalabs/muxd.git
cd muxd
go build -o muxd.exe .
go test ./...

See muxd.sh/docs/contributing for code style and development guide.


License

Apache License 2.0

Release History

VersionChangesUrgencyDate
v0.71.0## What's Changed * feat(tui): clear todos on next submit when all completed by @batalabs in https://github.com/batalabs/muxd/pull/68 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.70.3...v0.71.0High5/28/2026
v0.69.3**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.69.2...v0.69.3High5/18/2026
v0.69.2**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.69.1...v0.69.2High5/18/2026
v0.66.8**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.66.7...v0.66.8High5/8/2026
v0.62.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.61.1...v0.62.0High5/4/2026
v0.53.2## What's Changed * fix: enforce repomap token cap and fix install.ps1 file lock on Windows by @batalabs in https://github.com/batalabs/muxd/pull/47 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.53.1...v0.53.2High4/9/2026
v0.53.1## What's Changed * fix: resolve provider/model prefix in handleSetModel before passing t… by @batalabs in https://github.com/batalabs/muxd/pull/50 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.53.0...v0.53.1Medium4/9/2026
v0.53.0## What's Changed * fix(mobile): fix file picker not opening from attachment menu by @batalabs in https://github.com/batalabs/muxd/pull/48 * Feat/mobile model picker by @batalabs in https://github.com/batalabs/muxd/pull/49 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.52.6...v0.53.0Medium4/9/2026
v0.52.6## What's Changed * fix: enforce MaxTokens cap in repomap Format() to prevent system prom… by @batalabs in https://github.com/batalabs/muxd/pull/46 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.52.5...v0.52.6High4/8/2026
v0.52.5## What's Changed * fix: count tool_use and tool_result blocks in token estimation by @batalabs in https://github.com/batalabs/muxd/pull/45 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.52.4...v0.52.5Medium4/6/2026
v0.52.4## What's Changed * fix: restore VT escape sequences for copy mode mouse tracking by @batalabs in https://github.com/batalabs/muxd/pull/44 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.52.3...v0.52.4Medium4/4/2026
v0.52.3## What's Changed * fix: keep mouse tracking active in copy mode for scroll and selection by @batalabs in https://github.com/batalabs/muxd/pull/43 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.52.2...v0.52.3Medium4/4/2026
v0.52.2## What's Changed * fix: restore mouse-disable on copy mode so click+drag selection works by @batalabs in https://github.com/batalabs/muxd/pull/41 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.52.1...v0.52.2Medium4/3/2026
v0.52.1## What's Changed * Fix/scroll copy paste by @batalabs in https://github.com/batalabs/muxd/pull/40 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.52.0...v0.52.1Medium4/3/2026
v0.52.0## What's Changed * fix: resolve all 13 LSP implementation issues by @batalabs in https://github.com/batalabs/muxd/pull/39 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.51.2...v0.52.0Medium4/2/2026
v0.51.2## What's Changed * fix: prevent footer from disappearing on narrow terminals by @batalabs in https://github.com/batalabs/muxd/pull/38 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.51.1...v0.51.2Medium4/1/2026
v0.51.1## What's Changed * fix: show installed status in /lsp command by @batalabs in https://github.com/batalabs/muxd/pull/36 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.51.0...v0.51.1Medium4/1/2026
v0.51.0## What's Changed * feat: add /lsp command to show LSP server status by @batalabs in https://github.com/batalabs/muxd/pull/35 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.50.2...v0.51.0Medium4/1/2026
v0.50.2## What's Changed * fix: prevent compaction death spiral on context_exceeded by @batalabs in https://github.com/batalabs/muxd/pull/34 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.50.1...v0.50.2Medium4/1/2026
v0.50.1## What's Changed * fix: improve error logging and empty response diagnostics by @batalabs in https://github.com/batalabs/muxd/pull/33 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.50.0...v0.50.1Medium4/1/2026
v0.50.0## What's Changed * feat: generalize LSP tool for multi-language support by @batalabs in https://github.com/batalabs/muxd/pull/32 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.49.0...v0.50.0Medium4/1/2026
v0.49.0## What's Changed * feat: add go_lsp tool with persistent gopls client by @batalabs in https://github.com/batalabs/muxd/pull/31 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.48.2...v0.49.0Medium4/1/2026
v0.48.2## What's Changed * refactor: split daemon/server.go into server, routes, and session files by @batalabs in https://github.com/batalabs/muxd/pull/30 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.48.1...v0.48.2Medium3/31/2026
v0.48.1## What's Changed * fix: default cfg.ctx to context.Background() to prevent nil panic in … by @batalabs in https://github.com/batalabs/muxd/pull/29 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.48.0...v0.48.1Medium3/31/2026
v0.48.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.47.3...v0.48.0Medium3/31/2026
v0.47.3## What's Changed * Fix/mobile copy markdown blocks by @batalabs in https://github.com/batalabs/muxd/pull/26 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.47.2...v0.47.3Medium3/28/2026
v0.47.2## What's Changed * fix(tui): use pointer for inputBuf to prevent strings.Builder copy panic by @batalabs in https://github.com/batalabs/muxd/pull/25 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.47.1...v0.47.2Low3/22/2026
v0.47.1## What's Changed * fix(mobile): ignore replayed events during background reconnection by @batalabs in https://github.com/batalabs/muxd/pull/20 * fix(mobile): resolve Swift concurrency and type warnings by @batalabs in https://github.com/batalabs/muxd/pull/21 * fix(mobile): guard against unresolved Sentry DSN in production builds by @batalabs in https://github.com/batalabs/muxd/pull/22 * fix(tui): debounce Enter and buffer keystrokes for reliable paste on … by @batalabs in https://github.com/batLow3/21/2026
v0.47.0## What's Changed * feat(mobile): reconnect to agent stream after iOS app backgrounding by @batalabs in https://github.com/batalabs/muxd/pull/18 * chore(mobile): bump version to 1.10.5 and reorder Info.plist by @batalabs in https://github.com/batalabs/muxd/pull/19 * chore(deps): bump github.com/modelcontextprotocol/go-sdk from 1.3.1 to 1.4.1 in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/batalabs/muxd/pull/16 ## New Contributors * @dependabot[bot] made theiLow3/19/2026
v0.46.7## What's Changed * fix: decouple agent lifecycle from HTTP connection for background res… by @batalabs in https://github.com/batalabs/muxd/pull/17 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.46.6...v0.46.7Low3/19/2026
v0.46.6## What's Changed * Add SSE event reconnection support for mobile clients by @batalabs in https://github.com/batalabs/muxd/pull/15 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.46.5...v0.46.6Low3/19/2026
v0.46.5**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.46.4...v0.46.5Low3/18/2026
v0.46.4**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.46.3...v0.46.4Low3/18/2026
v0.46.3**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.46.2...v0.46.3Low3/18/2026
v0.46.2**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.46.1...v0.46.2Low3/18/2026
v0.46.1**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.46.0...v0.46.1Low3/18/2026
v0.46.0## What's Changed * Feature/ipad optimization by @batalabs in https://github.com/batalabs/muxd/pull/14 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.45.1...v0.46.0Low3/18/2026
v0.45.1**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.45.0...v0.45.1Low3/18/2026
v0.45.0## What's Changed * feat:add-repo-map by @batalabs in https://github.com/batalabs/muxd/pull/13 **Full Changelog**: https://github.com/batalabs/muxd/compare/v0.44.0...v0.45.0Low3/17/2026
v0.44.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.43.2...v0.44.0Low3/17/2026
v0.43.2**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.43.1...v0.43.2Low3/17/2026
v0.43.1**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.43.0...v0.43.1Low3/17/2026
v0.43.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.42.0...v0.43.0Low3/17/2026
v0.42.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.41.1...v0.42.0Low3/17/2026
v0.41.1**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.41.0...v0.41.1Low3/17/2026
v0.41.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.40.2...v0.41.0Low3/17/2026
v0.40.2**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.40.1...v0.40.2Low3/17/2026
v0.40.1**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.40.0...v0.40.1Low3/17/2026
v0.40.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.39.0...v0.40.0Low3/17/2026
v0.39.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.38.0...v0.39.0Low3/16/2026
v0.38.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.37.0...v0.38.0Low3/16/2026
v0.37.0**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.36.10...v0.37.0Low3/15/2026
v0.36.10**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.36.9...v0.36.10Low3/15/2026
v0.36.9**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.36.8...v0.36.9Low3/15/2026
v0.36.8**Full Changelog**: https://github.com/batalabs/muxd/compare/v0.36.7...v0.36.8Low3/15/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

forgegodAutonomous coding agent with web research (Recon), adversarial plan debate, 5-tier cognitive memory, multi-model routing (Gemini + DeepSeek + Ollama), 24/7 loops, and $0 local mode. Apache 2.0.main@2026-04-19
iterateA self-evolving coding agent written in Go. Reads its own source, decides what to improve, writes code, runs tests, and commits — autonomously.main@2026-06-04
aiagentflowA local-first, CLI-driven multi-agent AI software engineering workflow orchestrator with feed specs, PRDs, and guidelines to auto-generate implementation plans and code.v1.4.0
career-opsAI-powered job search system built on Claude Code. 14 skill modes, Go dashboard, PDF generation, batch processing.career-ops-v1.8.0
thane-ai-agentAutonomous AI agent for Home Assistant with multi-model routing, persistent memory, and an OpenAI-compatible APIv0.9.2

More in AI Agents

hermes-agentThe agent that grows with you
awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.
CopilotKitThe Frontend Stack for Agents & Generative UI. React + Angular. Makers of the AG-UI Protocol
e2bE2B SDK that give agents cloud environments