A 2019 ThinkPad still has more CPU than most cloud VMs you would pay for. Wipe it, install Ubuntu Server, and it can host a code editor, an AI coding agent, and a full container runtime. You reach it from a laptop with a five-year-old browser and still get a fast experience. The best apps for turning an old laptop into a remote coding agent handle the two problems that break homelab setups: exposing the machine safely, and giving you an editor that survives disconnects. We picked eight tools that cover both.
What to look for
Six things separate a working remote agent setup from a fragile one.
- Editor that persists a session across dropped connections, so you can close the lid and reopen where you left off
- Auth that does not require poking a hole in your router
- Terminal access at the same URL as the editor, not on a separate port
- Agent runtime that can drive long tasks (git operations, test runs, LLM calls) without the tab holding it open
- Filesystem browser and port-forwarding for previewing web servers running on the laptop
- Idle behaviour that lets the laptop suspend when nobody is coding
Quick comparison table
| App | Best for | Access model | Free plan | Standout feature |
|---|---|---|---|---|
| code-server | Browser access to VS Code | HTTP + password | Free (open source) | Full VS Code in any browser tab |
| OpenVSCode Server | Same, from Gitpod | HTTP token | Free (open source) | Lighter than Coder’s build |
| JetBrains Gateway | IntelliJ or PyCharm remote | Thin client | Free for personal | Full JetBrains debugger over SSH |
| Coder | Multi-workspace teams | OIDC + templates | Free (open source) | Terraform-defined dev envs |
| Tailscale | Getting to the laptop at all | WireGuard mesh | Free for 3 users | SSH and web without port-forwarding |
| Zed | Fast native editor with remote FS | SSH-based | Free during preview | Collaborative editing over the wire |
| Warp | Terminal you can share | SSH + cloud | Free tier | Command history synced across devices |
| GitHub Codespaces runner | Running Codespaces on your laptop | GitHub-managed | Requires GitHub subscription | Full Codespaces on your own hardware |
The apps
1. code-server, best for browser-based VS Code
code-server from Coder puts a full VS Code build behind an HTTP server. Sign in with a password (or bounce through an auth proxy), and every extension, keybinding, and setting you use locally works in a browser tab. Sessions survive disconnects because the editor state lives on the laptop, not in your browser.
Where it falls short: A handful of Marketplace extensions are gated behind the Microsoft license and only ship in the official VS Code build. The Open VSX registry covers most of them but not the C++ tools or Live Share.
Pricing:
- Free: full feature parity
- Paid: none (Coder sells a hosted product but self-hosting is free)
Platforms: Linux, macOS (server side); any browser (client side)
Download: github.com/coder/code-server
Bottom line: The default answer for “I want to code on my laptop from anywhere”. Install behind Tailscale and you never touch router settings.
2. OpenVSCode Server, best for lightweight self-hosting
OpenVSCode Server is the Gitpod team’s fork of the same VS Code server. It skips the auth wrapper and telemetry that Coder’s build adds and boots faster on a modest laptop. Aimed at platform teams building their own hosted-IDE product, but it works as a personal setup too.
Where it falls short: No password gate ships out of the box. You are expected to sit it behind Tailscale, Cloudflare Access, or an nginx auth-proxy. Not something to expose on the open internet as-is.
Pricing:
- Free
- Paid: none
Platforms: Linux, macOS (server side)
Download: github.com/gitpod-io/openvscode-server
Bottom line: Pick this when code-server feels heavy. Add Tailscale for the auth layer and you have a two-process setup.
3. JetBrains Gateway, best for IntelliJ users
JetBrains Gateway is the thin client that connects a local IDE window to a remote backend running IntelliJ IDEA, PyCharm, GoLand, or Rider. The backend does the indexing, the local window handles input and rendering. The result feels like a native editor because inputs are cached client-side. Debuggers, profilers, and refactoring tools all work.
Where it falls short: First-time indexing on a large repo can take twenty minutes on a laptop with a spinning disk. Move ~/.cache/JetBrains to an SSD or use one that is already NVMe.
Pricing:
- Free: Community editions of IntelliJ IDEA and PyCharm
- Paid: JetBrains Ultimate subscription for pro features
Platforms: Linux, macOS, Windows (both ends)
Download: jetbrains.com/remote-development/gateway
Bottom line: If your local editor is a JetBrains IDE, Gateway is the shortest path from spare hardware to a real remote setup.
4. Coder, best for multiple projects at once
Coder is code-server’s team edition. It provisions per-project workspaces from Terraform templates, so a project can specify its own Ubuntu image, its own tool versions, and its own port mappings. On a single old laptop with 16 GB of RAM you can run three or four workspaces in parallel with Docker underneath.
Where it falls short: Overkill for one developer. The Terraform template layer is powerful, and also the reason a first-time setup takes an afternoon.
Pricing:
- Free: self-hosted OSS build
- Paid: Coder Enterprise for SAML, RBAC, and audit logs
Platforms: Linux (server); any browser (client)
Download: coder.com/docs/install
Bottom line: Best fit when the same laptop needs to host several isolated dev environments for side projects.
5. Tailscale, best for reaching the laptop at all
Tailscale builds a WireGuard mesh between every device signed into the same account. Install it on the laptop and your phone, laptop, and desktop can reach each other by name (thinkpad.tailnet.ts.net) without a public IP. Tailscale SSH replaces password auth with identity, so ssh me@thinkpad from any device works once you are signed in.
Where it falls short: Free tier caps at three users and 100 devices. Fine for personal use, less fine if you are running a small studio.
Pricing:
- Free: 3 users, 100 devices
- Paid: from $6/user/month for teams
Platforms: Linux, macOS, Windows, iOS, Android
Download: tailscale.com/download
Bottom line: The layer under every other tool on this list. Install Tailscale first, then decide which editor sits on top.
6. Zed, best for a native remote editor
Zed added remote development in 2025 and it is closer to a native experience than the browser-based options. Connect over SSH to the old laptop and Zed treats the remote filesystem as if it were local, with the same collaborative editing features Zed is known for.
Where it falls short: Still marked as preview. Language server support is behind VS Code’s, especially for enterprise stacks like C# and Kotlin.
Pricing:
- Free during preview
- Paid: pricing not yet announced
Platforms: macOS, Linux (client); Linux, macOS (remote host)
Download: zed.dev/download
Bottom line: Try this if you already run Zed locally and want the same UI when connecting to the homelab.
7. Warp, best for shared terminal work
Warp started as a native macOS terminal and now runs on Linux, Windows, and iPadOS. Its cloud sync layer means a command you ran on the laptop shows up in your desktop history, and shared sessions let a teammate paste into the same terminal. Pair it with Tailscale SSH and you have terminal access to the old laptop from any of your devices.
Where it falls short: The cloud sync requires an account. If you want a fully offline terminal, kitty or WezTerm are simpler.
Pricing:
- Free: solo tier
- Paid: from $15/user/month for team features
Platforms: macOS, Linux, Windows, iPadOS
Download: warp.dev
Bottom line: Use Warp when the coding agent is doing shell work and you want to look over its shoulder from another device.
8. GitHub Codespaces self-hosted runner, best for GitHub-first workflows
GitHub Codespaces normally runs in Microsoft’s cloud. Self-hosted runners let you point it at your own hardware, and the old laptop becomes a Codespace host. Pull requests and CI jobs run there, and the browser-based editor connects to the same machine.
Where it falls short: Requires a GitHub Team or Enterprise subscription for the self-hosted runner feature. Not free-tier territory.
Pricing:
- Free: no
- Paid: GitHub Team from $4/user/month
Platforms: Linux, Windows (self-hosted host)
Download: docs.github.com/codespaces/setting-up-your-project-for-codespaces
Bottom line: Worth it only if your team already lives in GitHub Codespaces. Otherwise code-server plus Tailscale is a cheaper stack.
How to pick the right one
Pick Tailscale first, no matter which editor you pair it with. The other seven tools become simpler with a mesh network under them.
Pick code-server if you want a VS Code tab in any browser and the least setup effort.
Pick OpenVSCode Server if code-server feels heavy and you already run Tailscale.
Pick JetBrains Gateway if you already work in IntelliJ, PyCharm, or GoLand. Nothing else on this list matches the JetBrains debugger.
Pick Coder if you want per-project workspaces and are willing to write Terraform.
Pick Zed if you want a native window with modern collaborative editing.
Pick Warp when the value is in the terminal, not the editor.
Pick Codespaces self-hosted runner only if your team already pays for GitHub Codespaces.
FAQ
Can an old laptop really run a coding agent? Yes, if it has 8 GB of RAM and an SSD. Most agent runtimes (Claude Code, aider, Cursor CLI) are lightweight processes. The heavy lifting happens in whatever model provider they call.
Do I need a public IP for remote access? No. Tailscale or Cloudflare Tunnel gives you a private address that works from anywhere. That is safer than opening a port on your home router.
What about power draw?
An idle ThinkPad X270 pulls around 8 watts. Left plugged in 24/7 that is about 70 kWh a year, or roughly $15 at US prices. Set the lid-close action to “ignore” in /etc/systemd/logind.conf so it stays awake with the screen off.
How do I keep sessions alive across drops? tmux or screen for shell work, plus a code-server or Gateway backend for the editor. Both persist the editor state on the laptop.
Is this a security risk? Only if you expose it to the open internet. Behind Tailscale it is on a private mesh, and Tailscale SSH replaces password auth with identity from your account provider.