Manage multiple agents away from your desk
Your agents keep working after you walk away. View progress, get notified, and give feedback from any device with Subshell.
Your workspace in a mobile browser
Install
Host your dashboard and manage your agents.
Subshell Server desktop app
Download for Apple silicon (.dmg)Subshell-Server-Desktop-1.7.4-darwin-arm64.dmg
or Linux (.deb)
or the CLI
curl -fsSL https://subshell.sh/install-server.sh | bashmacOS 13+ · Linux x86_64 (Ubuntu 24.04+ / Debian 13+)
Already have a server? Add another machine.
Website development
Check your website as you build.
Open your dev server beside your agent, click through the site, and check layouts and interactions. When something’s off, give your agent feedback in the same workspace.
Preview a website →Fix a filter, test it in the app preview, and view the browser running on the node.
Virtual displays
Open a screen alongside your agent.
Run a browser or graphical app on your node, then view and control its screen from the same workspace. Check the result and give your agent feedback without switching machines.
On Linux, give a subshell its own virtual display. On macOS, use BetterDisplay with Subshell Display Helper, included in both desktop apps.

Workspaces
Work with your agents side by side.
A subshell is a terminal session running an agent or a shell. Keep Codex, Claude Code, and a shell together in one workspace, with split panes so you can follow their progress and compare output.
Browse your other subshells in the same sidebar. Drag one into the workspace to add a tab, or out to remove it while its session keeps running.

Prompts & presets
Save your setup for next time.
Save your project context, review checklist, and preferred response format as reusable prompts. A stack combines them into one prompt. Use a preset to save the agent settings, machine, and working directory for your next launch.


Subshell sharing
Work together in the same subshell.
Share a subshell with a teammate on your server so they can follow the live terminal and read its history. Give them edit access when you want them to type alongside you.

Run on other machines
Manage your machines from one dashboard.
Run an agent on your workstation, a spare Mac, or a headless Linux machine. Each machine you connect is a node. Choose a node and project directory when you start a subshell, then follow its output and type into it from your phone or desktop.

SSH
Open a remote shell from your dashboard.
Connect over SSH and work in the terminal alongside your agents. Use keys from a connected node, choose a key from your own machine, or enter a password when connecting. Save frequently used connections as SSH presets, including port forwards to reach a web app, database, or other service through the connection.

Security
Manage access to your machines.
Choose how people sign in, from passwords and passkeys to your existing identity provider. Set permissions for the machines they can use and revoke access when needed. Node connections are encrypted and authenticated, and the audit log records security changes.
Read the security model →Choose how people sign in
Use passwords, passkeys, or your OIDC provider. Control account registration and revoke access when someone leaves.
Set machine permissions
Choose who can start subshells on each machine. Signing in doesn’t grant access to every node.
Protect connections to your machines
Node connections are encrypted and authenticated even when your server uses HTTP. Commands from your server are signed and bound to the intended machine.
Review security changes
Check the audit log to see who changed accounts, enrolled machines, shared subshells, or took other security actions.
Self-hosted and open source.
Subshell is free and open source. Server code is licensed under AGPL-3.0-only; clients, the node daemon, and the rest of the project use Apache-2.0. Run it on your own infrastructure with the desktop app, CLI, Docker, or Proxmox.
© 2026 DisarestaServer code: AGPL-3.0-only · Other components: Apache-2.0
