swe-mux Lets Developers Run Multiple AI Coding Agents Side by Side

A new open source tool called swe-mux combines a terminal multiplexer with an agentic control plane, allowing developers to run multiple AI coding agents simultaneously on both a desktop and a phone over a private network. The project targets a growing pain point for developers using AI coding assistants: keeping track of several agent sessions at once.

What It Does

swe-mux lets developers keep Claude Code, Codex, and other coding agent CLIs running side by side in separate panes within a single terminal interface. Each session carries its own transcript, status indicator, task queue, and context meter. The same sessions are accessible on a phone over a personal Tailscale network, giving access to terminals, git reviews, files, previews, and push alerts without requiring a companion app.

Users can dictate prompts, hear replies read aloud, and ask an assistant which sessions need attention. The tool supports voice input through local speech recognition using either faster-whisper or Windows Speech Recognition. There is no cloud speech path and no browser fallback; without a speech engine, transcription returns a typed error rather than sending audio anywhere.

How It Works

Installation runs through Python. The package is a pure Python wheel available on PyPI that carries the built-in frontend, so no Node.js installation is required. Users can install it with uv or pipx:

uv tool install swe-mux
swe-mux

On Windows, running swe-mux opens a native window and tray icon with no console window. The install produces three commands: swemux (the CLI), swemuxd (the daemon), and swe-mux (the desktop interface).

Inside a project directory, the tool puts its own launchers first on the terminal's PATH. Typing claude or codex promotes that terminal into an agent session with a transcript, status, queue, and context meter attached. Ctrl+Shift+Enter opens a terminal at the project root, and Ctrl+Shift+P opens the command palette.

Running Sessions Across Devices

A separate supervisor process keeps sessions alive through daemon restarts and application updates. If the supervisor dies or power is lost, live processes end but cold recovery restores readable, resumable records.

The daemon listens on localhost and on the machine's detected Tailscale IPv4 address. Users who want phone access can route through Tailscale. The tool explicitly does not support 0.0.0.0 binding, direct LAN access, Funnel, port forwarding, or public ingress.

For browser access, users can run swemux start, which backgrounds the daemon and serves the interface at 127.0.0.1:8765. Closing the terminal does not stop the daemon. Browsers restrict clipboard and microphone access over plain HTTP, so users can put Tailscale Serve in front of the interface for those features.

Agent Coordination and Voice

Projects govern how sessions coordinate: messages, progress reads, and requests for help are all subject to project permissions. Agents can reconcile branches, run approved checks, and fast-forward through task queues. Conflicts and failed checks return to the owning agent.

The tool includes local speech recognition that activates on an explicit user press, not continuously. Speech-to-text models and libraries download once, verified against pinned hashes, and nothing is fetched until the user asks. Text-to-speech is the same, except an explicitly experimental Edge TTS provider that leaves the machine and requires an explicit acknowledgement.

Installation and Platform Support

The minimum requirements are Python 3.12 or later and at least one agent CLI already installed and logged in. swe-mux does not install, manage, or proxy those CLIs. Tailscale is optional, needed only for phone access.

Windows 10/11 is the primary proving platform and the only platform where the desktop application ships. Linux runs headless plus a browser in CI, with a native desktop app planned. macOS runs the daemon and browser client.

Privacy and Account Management

Agent CLIs run in real terminals under the user's existing subscriptions. Data stays on the machine with no swe-mux account, no vendor-operated backend, and no usage telemetry. The Settings menu saves Claude and Codex logins and tracks each account's subscription window, switching the system-wide login in one click.

The tool is explicit that this is a convenience for one person switching between accounts they own, not account pooling. Credentials stay local and go nowhere but the provider's own endpoints.

swe-mux is licensed under the Apache License 2.0 and is not affiliated with, endorsed by, or certified by Anthropic, OpenAI, or any other vendor it launches. The project is built by an individual developer and accepts contributions under a DCO sign-off model rather than a CLA.