A real Linux machine for Claude Code and AI agents.

Full KVM virtual machine. 200+ tools pre-installed. Sessions that persist for weeks. SSH from any device. Run multiple agents in parallel.

Get a Shell See pricing
~
ssh shell.unixshells.com
Welcome to Ubuntu 24.04
 
you@shell:~$ claude
 
> build an API with auth and tests
installing deps... starting postgres...
14 tests passed.
done. :8000

What you get

KVM virtual machine

Hardware-isolated VM with its own kernel. Docker, systemd, iptables, cron, background daemons. Full Linux, full control.

200+ tools pre-installed

Go, Rust, Python, Node, Docker, Postgres, Redis, Claude Code, OpenClaw, Aider. Loaded from a memory snapshot so they use zero disk space.

Persistent sessions

latch keeps terminal sessions alive indefinitely. Close your laptop, come back next week. Your agent is still running. Tasks that take days just work.

Parallel agents

Each shell is its own VM. Run Claude Code on one project, OpenClaw on another, manual dev on a third. Check in on any of them from anywhere.

SSH from any device

Standard SSH from any client. Web terminal with Mosh over WebTransport — feels local, even on high-latency connections. Mobile app for iOS and Android. Zero proprietary clients required.

Boots in seconds

VMs boot from a memory snapshot. All 200+ tools are in the snapshot image, so your disk quota is yours. Ready in seconds.

Dev preview URLs

Every shell gets a unique subdomain. Start a web server on any port, share the URL. Works over both IPv4 and IPv6, with any framework — Next.js, Flask, Rails, anything that binds a port.

Custom domains

Point your domain's AAAA record to your shell's IPv6 and A record to the host IPv4. That's it — no tunnels, no config files. HTTPS works with certbot inside the shell.

Public IPv6

Each shell has its own /128 IPv6 address with direct internet connectivity. No NAT, no tunnels. Point a domain at it, get a cert with certbot, host anything.

Run it like a real server

Each shell is a KVM virtual machine with its own kernel. You get capabilities that containers and sandboxes can't give you. Bind any port, run WireGuard, join your Tailscale network, manage iptables, get SSL certs with certbot, mount remote filesystems with sshfs. Start systemd services, run background daemons, set up cron jobs. Your user has passwordless sudo for networking and service management. Every shell has a public IPv6 address and a dev preview URL for sharing web apps. You can also use Tailscale, Cloudflare Tunnel, or WireGuard for custom setups. The only thing you can't do is modify system packages (apt), and the overlay resets on restart anyway.

How it compares

Replit, GitHub Codespaces, Gitpod, Linode, DigitalOcean

Unix Shells Replit Core Codespaces Gitpod
Always onYesLimitedNo (auto-stops)No (ephemeral)
SSHStandard SSHNoVia gh CLINo
DockerNativeNoDinDDinD
AI agents6 pre-installedBuilt-in AIManualManual
SessionsPersist indefinitelyTimeoutTimeoutDeleted after 3 days
Public IPIPv6 + preview URLNoPort forward onlyPort forward only
Tools200+ pre-installed~20~30~30
Price$12/mo flat$25/mo$32/mo (8h/day)$20/mo (~80 hrs)
vs. DigitalOcean 4 GB$12/mo, tools included$24/mo bare + hours of setup

Everything pre-installed

SSH in and start working. All tools loaded from the VM snapshot.

AI & Agents

Claude Code · OpenClaw · Aider · OpenCode · Codex · latch (persistent sessions)

Languages

Go · Rust · Python · Node.js · Ruby · Java · PHP · Zig · Bun · Deno

Infrastructure

Docker · Podman · PostgreSQL · Redis · nginx · Terraform · kubectl · AWS CLI

Dev Tools

neovim · ripgrep · fzf · lazygit · bat · delta · jq · htop · gh · ffmpeg

Full list of 200+ tools.

Pricing

Every shell is the same Ubuntu 24.04 base with all 200+ tools: 4 GB RAM, 2 vCPU, and 25 GB of storage.

FAQ

Can Claude Code run for days?

Yes. latch keeps your terminal session alive indefinitely. Close your laptop, switch networks, come back next week. Your agent is still running.

How is this different from a VPS?

Same concept, better DX. Every shell has 200+ tools pre-installed, SSH via relay, persistent sessions, and a web terminal. You sign up and start working.

Do I get Docker access?

Yes. Real Docker, running natively in a KVM VM. Your user is in the docker group. Compose, image builds, volume mounts all work.

Is my data persistent?

Your home directory persists across VM restarts. Code, configs, databases, everything in ~ stays.

Can I access it from my phone?

Yes. The mobile app connects via Mosh. You can also use any SSH client with the relay, or the web terminal from any browser.

How fast does it provision?

The VM boots from a memory snapshot. End-to-end provisioning takes seconds.

How do dev preview URLs work?

Start a web server on any port inside your shell. Your preview URL is shown in the dashboard. Share it with anyone — IPv6 clients connect directly to your shell on any port, IPv4 clients go through our reverse proxy on ports 80, 443, 1234, 3000, 3001, 3030, 4000, 4173, 4200, 4321, 5000, 5173, 5174, 8000, 8001, 8888, and 9000.

Can I use my own domain?

Yes. Add two DNS records at your registrar: an AAAA record pointing to your shell's IPv6 address (shown in the dashboard), and an A record pointing to the shell host's IPv4. IPv6 traffic goes directly to your shell, IPv4 traffic is proxied automatically. Run certbot inside the shell to get a free HTTPS cert from Let's Encrypt. No tunnels, no config files, no third-party services required. You can also use Cloudflare Tunnel, Tailscale, or WireGuard if you prefer.

Can I bind low ports, use WireGuard, manage iptables?

Yes. All ports including 80 and 443 are bindable without root. WireGuard, iptables, ip, and systemctl are available via passwordless sudo. You can also use FUSE mounts (sshfs, rclone), TUN devices for VPNs, and get SSL certs with certbot.

What can I install?

Anything in your home directory. pip install --user, cargo install, go install, npm install all work. System packages (apt) are managed by the template. If you need something that's missing, let us know.

Start building

Sign up, SSH in, point your agent at it. Takes about a minute.

Get a Shell