Skip to content
Muxin

A native app for macOS, Linux and Windows

All your machines, one app. For you and your AI agents.

Muxin is a desktop app that puts all your computers in one window: Macs, Linux servers, Windows PCs and cloud machines. Run AI coding agents on them, see their screens and check their logs. Your AI agents can use it too.

Free and open source. The code is on GitHub.

Muxin’s overview: a greeting with the day in one line, a few notices that need a look, and a card for each machine showing its agents, runners, CPU, memory and disk. The sidebar lists each machine with its sessions and runners. Muxin’s overview: a greeting with the day in one line, a few notices that need a look, and a card for each machine showing its agents, runners, CPU, memory and disk. The sidebar lists each machine with its sessions and runners.

Runs the agent CLIs you already use, or a plain shell

New · Sharing

Share a session or a machine by link.

Send the link to anyone. They open it in a browser, on a laptop, a phone or a tablet, or in Muxin, and connect straight to your computer.

  • You let each person in. They read you a code, so you know it’s them.
  • They watch. They type, use the desktop or open a server only when you say so.
  • Peer to peer and encrypted. The link stops working when you stop sharing.

How sharing works

What it does

Every machine you own, in one window.

01 ⌘T

Agent sessions

Run Claude Code, Codex, Gemini CLI or a plain shell on any of your machines.

  • Sessions keep running on the machine, even when you close the app. Come back and pick up where you left off.
  • Split the terminal with ⌘D.
  • See which agents are working and which are waiting for you.
A Claude Code session called Checkout fix on the machine Forge, open in Muxin. The sidebar lists each machine’s sessions: some working, one waiting for you. A Claude Code session called Checkout fix on the machine Forge, open in Muxin. The sidebar lists each machine’s sessions: some working, one waiting for you.
02

From change to pull request

See what each agent changed. Ship it without leaving the session.

  • Each session shows its branch, the lines it changed, and its pull request with the checks.
  • One click asks the agent to commit, open a pull request, review its work or fix the review comments.
  • Give each agent a git worktree of its own, so several can work on one repository at once.
A Claude Code session in Muxin on the branch fix-coupon-total: +86 −23 in 4 files, 2 commits, 1 uncommitted, pull request #142 with checks running. The Actions menu is open: Commit, Commit and push, Update pull request #142, Review the changes, Fix the review comments, Resolve conflicts, Write a recap. A Claude Code session in Muxin on the branch fix-coupon-total: +86 −23 in 4 files, 2 commits, 1 uncommitted, pull request #142 with checks running. The Actions menu is open: Commit, Commit and push, Update pull request #142, Review the changes, Fix the review comments, Resolve conflicts, Write a recap.
03

Desktops

See a machine’s screen live, next to its terminal. Take the mouse and keyboard when you need to.

  • Pick the resolution, from 720p to 4K.
  • On Macs and Linux, add a virtual monitor, even to a machine with no screen.
  • Open one app from a machine in a window of its own, as if it ran on your computer.
Muxin with a terminal on a Linux machine running a Vite dev server, and that machine’s live screen beside it: Chrome on the desktop showing the app the server serves. Muxin with a terminal on a Linux machine running a Vite dev server, and that machine’s live screen beside it: Chrome on the desktop showing the app the server serves.
04

Servers, in your browser

Open a web app running on any of your machines in your own browser, at localhost.

  • Each machine’s page lists its web servers.
  • Open one, and it’s on the same port on your computer. Nothing opens on the network.
  • Open ports stay in the sidebar until you close them.
A Linux machine’s page in Muxin: its sessions, then Servers, with a Vite dev server on port 5173 open at localhost:5173 on this computer, also listed in the sidebar. A Linux machine’s page in Muxin: its sessions, then Servers, with a Vite dev server on port 5173 open at localhost:5173 on this computer, also listed in the sidebar.
Chrome on a Mac at localhost:5173, showing the Vite and React starter page served by the Linux machine.
05

Files and clipboard

Copy files and folders between any two machines, even ones that can’t reach each other.

Copy text on your computer and paste it on a machine’s screen, and back.

The Copy files dialog: pick a machine and folder on each side, then the files to copy. The Copy files dialog: pick a machine and folder on each side, then the files to copy.
06

Logs, live

Read any machine’s logs as they’re written: the system log, log files, services and containers.

Filter, pause and copy, without logging in to the machine.

A Compose project’s log in Muxin: lines from its web, API, database and cache containers in time order, each service’s name in its own color, with a chip to show one service. A Compose project’s log in Muxin: lines from its web, API, database and cache containers in time order, each service’s name in its own color, with a chip to show one service.
07

Services, Docker and Compose

See a machine’s services and Docker containers, and how much each one uses. Start, stop or restart them.

  • Run a container, or open a shell inside one.
  • See a Compose project as a picture of its services. Start or stop it in one click.
  • Works with systemd, Homebrew, Windows services and Docker.
A Compose project in Muxin as a picture: web waits for the API, the API waits for Postgres until it’s healthy and for Redis, a worker waits for Redis; each box shows its image, state, CPU, memory, ports and networks, with their volumes at the right. A Compose project in Muxin as a picture: web waits for the API, the API waits for Postgres until it’s healthy and for Redis, a worker waits for Redis; each box shows its image, state, CPU, memory, ports and networks, with their volumes at the right.
08 ⌃4

GitHub to agent

Your issues and pull requests in one place. Hand an issue to an agent in one click.

Uses your gh login.

Muxin’s GitHub page: pull requests waiting for your review, issues assigned to you and your own pull requests, beside your repositories. Muxin’s GitHub page: pull requests waiting for your review, issues assigned to you and your own pull requests, beside your repositories.
09 ⌃2

Self-hosted GitHub Actions runners

Put GitHub Actions runners on your machines in one step. Start, stop and check them from the app.

  • See which runners are busy, idle or offline.
  • See which jobs are stuck, and why.
The Jobs page: how busy the runners have been over the last few minutes, one queued job that no runner has the gpu label for, and four running jobs with the runner each one is on. The Jobs page: how busy the runners have been over the last few minutes, one queued job that no runner has the gpu label for, and four running jobs with the runner each one is on.
10

Cloud machines

Need another machine? Create one on DigitalOcean, with the tools you pick. It shows up with the rest.

See what it costs as you go. You pay DigitalOcean directly.

DigitalOcean bills a machine while it exists, even powered off. Only destroying it stops the charges.

The page of dev-1, a DigitalOcean machine in Muxin: its region and size, rate per hour, cost this month and since it was created, Power off and Destroy, then its CPU, memory, disk and uptime. The page of dev-1, a DigitalOcean machine in Muxin: its region and size, rate per hour, cost this month and since it was created, Power off and Destroy, then its CPU, memory, disk and uptime.
11

VMs on your machines

Need a clean Windows or Linux? Make one on a machine you already have, and delete it when you’re done.

  • Windows 11, 10 or Server, on one of your Linux machines. It installs itself.
  • Ubuntu, Debian, Fedora, Alpine or Arch, ready in about a minute.
  • Start it, stop it or delete it. Your agents can make one too.
12 ⌃7

Schedules

Run a command or start an agent at set times: the tests every night, or an agent checking new issues every morning.

Schedules run on the machine itself, so your laptop can be closed. Every run’s output is kept.

The Schedules page: a Claude Code session every weekday at 9 on Forge, nightly tests and a disk report on Beacon, and backups on Vault, with the tests’ last runs and their output open. The Schedules page: a Claude Code session every weekday at 9 on Forge, nightly tests and a disk report on Beacon, and backups on Vault, with the tests’ last runs and their output open.
13

Agent-first

Your AI agents can do everything you can, through Muxin’s MCP server (80+ tools) or its command line.

  • Agents can borrow a machine to work on.
  • They read logs and check services before guessing what went wrong.
  • You see every command they ran, and what it printed.
The Workspaces page: three agent workspaces on the machines Beacon and Forge, each with its repository, branch and the last command an agent ran. The Workspaces page: three agent workspaces on the machines Beacon and Forge, each with its repository, branch and the last command an agent ran.
Set it up for your agents ↓
14

Health, in plain words

See CPU, memory and disk at a glance. When a machine can’t be reached, Muxin says why and what to do.

Want a machine left alone? Disconnect it. Its sessions keep running.

The page of Forge, a Mac: online, with its CPU and memory use, 1.2 TB of disk free and 9 days of uptime. The page of Forge, a Mac: online, with its CPU and memory use, 1.2 TB of disk free and 9 days of uptime.
The page of Harbor, a MacBook, while it is offline: shut down, asleep, or off the network. It reconnects when it’s back, and says when it was last reached. The page of Harbor, a MacBook, while it is offline: shut down, asleep, or off the network. It reconnects when it’s back, and says when it was last reached.
15 ⌘P

Fast and keyboard-driven

A native app, built in Rust with GPUI, the framework behind the Zed editor.

⌘P jumps to any machine, session or desktop. ⇧⌘P runs any command.

The quick switcher, opened with Command-P: machines, their desktops and agent sessions, each one keystroke away. The quick switcher, opened with Command-P: machines, their desktops and agent sessions, each one keystroke away.
16

Uses what you already have

Your ssh keys and ~/.ssh/config, Tailscale, and your GitHub login.

Nothing to set up on your machines. Muxin installs its own small helper over ssh and keeps it up to date. Terminals open at once.

  • ~/.ssh/configyour hosts and aliases
  • ssh keysand your ssh agent
  • Tailscalereach machines away from home
  • gh auth loginyour GitHub access

For agents

Works with your agents.

Add Muxin’s MCP server, muxin mcp, once. Then your agent can check your machines, start sessions and copy files.

  • Put muxin on your PATH from Settings › General › Command line.
  • muxin mcp --print-config prints these with your full path.

Claude Code

$ claude mcp add muxin -- muxin mcp

Codex ~/.codex/config.toml

[mcp_servers.muxin]
command = "muxin"
args = ["mcp"]

Other MCP clients (Claude Desktop, Cursor, …)

{ "mcpServers": { "muxin": { "command": "muxin", "args": ["mcp"] } } }

Or the CLI (every command takes --json)

$ muxin status --json
$ muxin session start beacon claude --cwd ~/code/api --prompt "fix the failing test"
$ muxin ws create --platform linux --repo acme/api --ref main
$ muxin forward beacon 5173

Themes

30 themes, light and dark.

Muxin’s own Dusk and Dawn, plus Gruvbox, Catppuccin, Tokyo Night, Nord, Dracula and more. Follow your system, or pick light or dark.

Dark

  • Muxin Dusk · default
  • Muxin Graphite
  • macOS Dark
  • Gruvbox Dark
  • Catppuccin Mocha
  • Catppuccin Macchiato
  • Catppuccin Frappé
  • Tokyo Night
  • Nord
  • Rosé Pine
  • Solarized Dark
  • Dracula
  • Everforest Dark
  • Kanagawa Wave
  • Terminal
  • Terminal Midnight
  • GitHub Dark

Light

  • Muxin Dawn · default
  • Muxin Paper
  • macOS Light
  • Gruvbox Light
  • Catppuccin Latte
  • Tokyo Night Day
  • Nord Light
  • Rosé Pine Dawn
  • Solarized Light
  • Everforest Light
  • Kanagawa Lotus
  • GitHub Light
  • Terminal Paper

Platforms

Mac, Linux and Windows.

macOS

Apple silicon and Intel · .dmg

Muxin for Mac

macOS 12 or later. Signed and notarized.

Download

Homebrew

brew install --cask lumarylabsllc/tap/muxin
View the tap

Windows

x64 and Arm · .exe

x64 installer

Windows 11, on Intel and AMD.

Download

Arm installer

Windows 11 on Arm.

Download

The installer isn’t signed yet. If Windows warns you, choose More info, then Run anyway.

Linux

x86_64 and arm64 · glibc 2.35 or newer

Ubuntu 22.04, Debian 12, Fedora 36, openSUSE Tumbleweed, RHEL 10 or newer. The AppImage needs no FUSE 2. Homebrew works on Linux too.

It works with any Mac, Linux machine or Windows PC you can reach with ssh: at home, in the cloud or over Tailscale.

Version 0.8.1. Every file and its checksum are on GitHub.

FAQ

Questions.

How much does Muxin cost?

Nothing. Muxin is free and open source, under the Apache License 2.0. The code is on GitHub.

Which platforms does it run on?

The app runs on macOS 12 or later, Linux and Windows 11, on Intel, AMD and Arm processors. On Linux there’s a .deb, an .rpm, an Arch package, an AppImage and the AUR. It can manage Macs, Linux machines and Windows PCs.

Where does my data go?
  • Your settings stay on your computer, in one file: config.toml.
  • Muxin connects to your machines with your own ssh.
  • Files you copy go through the app on your computer.
  • Web apps you open from a machine stay on localhost. Nothing opens on the network.
  • GitHub uses your gh login. A DigitalOcean token stays in your system’s keychain.
  • Passwords you copy from a password manager stay on your computer. You can turn the shared clipboard off.
  • The app has no analytics or telemetry.
What do cloud machines cost?

What DigitalOcean charges for the size you pick. They’re in your own account, and you pay DigitalOcean directly.

DigitalOcean bills a machine while it exists, even powered off. Only destroying it stops the charges.

Muxin shows what each one costs. It can also remind you about, turn off or delete a machine that sits idle.

Do I need to install anything on my machines?

No. If you can ssh into it with a key, Muxin can add it. Muxin installs its own small helper and keeps it up to date. On Windows, turn on OpenSSH Server first.

Do my machines need to be on the same network?

No. Muxin reaches any machine you can ssh into. With Tailscale, that works from anywhere.

Which agents does it work with?

Claude Code, Codex, OpenCode, Gemini CLI, Amp, Pi, or a plain shell. Muxin finds which ones each machine has.

Can my AI agents use Muxin?

Yes. Muxin has an MCP server with 80+ tools, so Claude Code, Codex or any MCP client can use your machines. Muxin tells them to ask you before changing anything. Set it up.

How do I update it?

Muxin tells you when a new version is out, in the sidebar. About shows how to update the copy you have: with Homebrew or the AUR, or the new file to download, which installs over the old one and keeps your settings. Linux packages update with your package manager.

Wasn’t it called Muxen?

Yes. Muxin was called Muxen before 0.5.1. Updating keeps your settings, machines and sessions. The muxen command still works too.

Where can I read how it works?

In the docs, with pictures of each step. AI agents can read them too, at llms.txt.