explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsdictionaryagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR — levelsio VPS Production Manifesto
  • What changed — three stages of deploy evolution
  • Why VPS-only feels like "living in the future"
  • Solo on prod vs teams on staging
  • Hetzner + Tailscale + Cloudflare — setup checklist
  • Theo's six-month thesis — agents leave the laptop
  • Safety, backups, and when NOT to live-edit prod
  • Community replies — what builders are actually running
  • How June 28 and July 8 fit together
  • Summary
  • Related on explainx.ai
← Back to blog

explainx / blog

Claude Code on VPS Only: levelsio's Year-Long Production Workflow (June 2026)

Claude Code, VPS, Remote Development, Agent Harness, Production Deployment, DevOps

Jun 28, 2026: Pieter Levels (~1.2M views) on a year of VPS-only Claude Code — live prod edits, deploy evolution, Hetzner + Tailscale setup, solo vs staging.

Jun 28, 2026·10 min read·Yash Thakker
add explainx.ai
go deep
Claude Code on VPS Only: levelsio's Year-Long Production Workflow (June 2026)

Update — August 9, 2026: Same Hetzner + Tailscale + Cloudflare Tunnel ingredients, inverted — a Berlin engineer replaced the VPS with a rooted CMF Phone 1 running Termux.

On June 28, 2026, Pieter Levels posted a thread that became one of the year's most-cited agent-dev manifestos — ~1.2M views by mid-July — describing almost a year of coding solely on a VPS with Claude Code. No laptop open. No battery drain. Switch phone or any device. Agents keep going overnight with /goal. Hacky projects start on the server and go live in seconds because the code already sits on production infrastructure.

Two weeks later, Levels extended the same stack for Nomads iOS — Termius from iPhone, Xcode on rented macOS — in our companion VPS + SSH iOS guide. This post is the June 28 manifesto: deploy evolution, live production edits, solo vs team staging, and the Hetzner + Tailscale + Cloudflare checklist Levels shared in replies.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.


TL;DR — levelsio VPS Production Manifesto

table · 2 cols
QuestionAnswer
How long on VPS-only?~12 months of Claude Code as primary dev environment (Jun 28, 2026)
Why not a laptop?No lid open / battery drain; any device (Termius, etc.); overnight /goal runs
Deploy stage now?Claude Code on VPS live-edits production — 2 outages (~10 sec each) in a year
Solo vs team?Solo OK on prod; teams need staging server
Infra named?Hetzner VPS, SSH, Tailscale + Cloudflare Tunnels, firewall blocks inbound
Industry bet?Agrees with Theo: ~6 months until most devs move agents off laptops
Karpathy angle?Cloud/Slack agents — server-first orchestration (see Karpathy → Anthropic)
Backups?3-2-1 — on-site + off-site
iOS extension?July 8 Nomads thread — same VPS brain, macOS hop for Xcode

What changed — three stages of deploy evolution

Levels did not jump straight to live production edits. His thread sketches a deliberate regression toward speed — each stage traded safety ceremony for seconds saved.

table · 4 cols
StageFlowTypical latencyCommunity reaction
1 — ClassicLaptop → test local → GitHub → auto-pull deploy on server~1 minuteSensible default most teams still use
2 — Skip localLazy on new MBP: skip local Nginx, push straight to prod~3 seconds"People called me crazy"
3 — Agent on prod (now)Claude Code on VPS edits production live — no push stepImmediate2 site-down incidents in 12 months (~10 sec each)

explainx.ai's read: Stage 3 only works when you treat the VPS as a disposable agent harness host, not sacred infrastructure. Levels' two ten-second outages are the honest error budget — not zero, but acceptable for a solo builder shipping fast. Teams with SLAs should stop at stage 1.5: agent edits staging, human or CI promotes to prod.

The opposite philosophy — local-first, repo upload, no cloud credentials on a shared box — is what Grok Build open source advocates. Both camps agree the laptop is leaving the critical path; they disagree on whether production should be one SSH session away from rm -rf.


Why VPS-only feels like "living in the future"

Levels listed benefits that map cleanly to how long-running agents behave in 2026:

  1. No laptop open / no battery drain — the harness runs on wall power in a datacenter
  2. Device agnostic — phone, tablet, hotel PC; SSH is the UI (July iOS thread made Termius explicit)
  3. Overnight continuity — /goal and tmux survive your sleep; wake up to a diff, not a dead process
  4. Instant hacky deploys — spin a project on the same machine that serves traffic; no "works on my machine" transfer
  5. Blast-radius separation — after Codex $HOME deletion reports, a wiped /home/dev on a €5 VPS beats a wiped laptop home directory

That last point is why solo builders tolerate stage 3 live prod edits. The VPS is already the sandbox — until it isn't, because production databases and customer sessions live on the same disk.


Solo on prod vs teams on staging

Levels drew an explicit line in the thread:

table · 3 cols
ProfileLevels' recommendationWhy
Solo indieLive prod edits acceptableYou own the error budget; 10-second outages are survivable
Team / companyStaging server requiredConcurrent agents, review gates, and customer trust need promotion workflow
Regulated / enterpriseStaging + change control + auditLive agent shell on prod violates most compliance baselines

Staging pattern that preserves speed:

snippet
[Claude Code on staging VPS] → git push / rsync → [prod VPS auto-pull or blue-green]

Agents get full shell freedom on staging; production receives only reviewed artifacts — aligned with thin prompts, thick artifacts: chat stays thin, git carries truth.

For harness mechanics — permission modes, tool loops, checkpoint restore — see What is an agent harness?.


Hetzner + Tailscale + Cloudflare — setup checklist

Levels' setup reply on the June 28 thread named a concrete stack. This is explainx.ai's expanded checklist — official docs linked where noted; no competitor product URLs.

1. Provision Hetzner VPS

  • CX or CPX tier: 2+ vCPU, 4+ GB RAM for comfortable Claude Code + build tools
  • Ubuntu 24.04 LTS, single non-root dev user
  • Enable Hetzner Cloud Firewall: block all inbound by default

2. SSH hardening

bash
# As root on fresh VPS — create dev user
adduser dev
usermod -aG sudo dev
mkdir -p /home/dev/.ssh && chmod 700 /home/dev/.ssh
# Paste Ed25519 public key → authorized_keys (chmod 600)

# Disable password auth in /etc/ssh/sshd_config
# PasswordAuthentication no
# PermitRootLogin no
sudo systemctl reload sshd

3. Install Claude Code + tmux

bash
# As dev — persist sessions for phone reconnect
sudo apt update && sudo apt install -y git tmux build-essential
tmux new -s code
# Install Claude Code per official Linux docs
# ANTHROPIC_API_KEY in ~/.config/agent/env (chmod 600) — never in prompts

4. Tailscale (private mesh)

  • Install Tailscale on the VPS and every client device
  • SSH via Tailscale IP or MagicDNS hostname — no public SSH port required
  • Prefer Tailscale SSH or key-based auth; disable exposure of port 22 to the public internet

5. Cloudflare Tunnel (optional public HTTPS)

  • Run cloudflared on the VPS for web preview or admin UIs
  • Tunnel terminates TLS at Cloudflare; origin stays off the public internet
  • Pair with Cloudflare Access if you expose anything beyond localhost

6. Firewall summary

table · 2 cols
RuleAction
Inbound 0.0.0.0/0Deny (Hetzner firewall + ufw)
Tailscale interfaceAllow SSH, agent ports as needed
Cloudflare TunnelOutbound-only — no open inbound ports

7. Agent session hygiene

bash
tmux attach -t code || tmux new -s code
cd ~/your-product
claude   # harness runs here; /goal for overnight tasks
# Ctrl-b d to detach — iPhone Termius reconnects to same pane

For OpenCode on a VPS with local models instead of cloud API keys, see run open-source models in OpenCode. For visual session tabs instead of tmux, compare OpenCode Desktop worktrees.


Theo's six-month thesis — agents leave the laptop

Levels agreed with Theo (~Theo — builder and commentator in the agent-dev space): roughly six months until most developers move coding agents off laptops onto servers or cloud sandboxes.

Evidence in the thread and adjacent coverage:

  • Karpathy reportedly runs Claude via cloud/Slack — agents operate server-first, not IDE-first (Anthropic pre-training hire)
  • Community sandboxes — kayhe's sandbox setups, Phil Freo's Docker dev environments, peetzweg's 160k GitHub contributions from agent-assisted workflows
  • Peter Yang asked whether dedicated Claude Code / Codex desktop apps matter if the harness lives on a remote box — the answer trending toward no, SSH + tmux + /goal is enough UI

explainx.ai tracks the same shift in phone agent guides: the supervisor is mobile; the worker is always-on infrastructure.


Safety, backups, and when NOT to live-edit prod

3-2-1 backups (Levels' recommendation)

table · 3 cols
CopyWherePurpose
3 copies of dataProd + local/staging snapshot + off-siteSurvive single-disk failure
2 different mediaNVMe on VPS + object storageCorrelated failure resistance
1 off-siteHetzner Storage Box, S3-compatible, or git remoteFire/fraud/ransomware hedge

Automate daily DB dumps and pre-agent snapshots before destructive refactors. Treat snapshots as cheap rollback — not a substitute for git.

Hook-level guards

Even on a VPS, agents run shell. Layer defenses from Destructive Command Guard:

  • Block rm -rf /, git reset --hard, mass chmod
  • Run harness as unprivileged user — not root
  • Never enable full access on hardware you cannot wipe — see Codex $HOME chain

When NOT to live-edit production

Do not let Claude Code touch prod directly when:

  • Customers pay for uptime and a 10-second outage has real cost
  • Multiple engineers share one VPS without branch isolation or worktrees
  • PCI, HIPAA, SOC2, or similar requires segregation of duties
  • No staging mirror exists — you cannot diff before traffic hits changes
  • Backups are untested — you have never restored from them
  • Secrets live in the repo the agent reads — .env, signing keys, prod DB URLs
  • Database migrations need rollback plans agents cannot infer

In those cases: staging VPS + git promotion + CI smoke tests. Solo indie? Levels' error budget is instructive — two ten-second incidents in twelve months — not a guarantee for your stack.


Community replies — what builders are actually running

The June 28 thread spawned practical forks without changing the core thesis:

table · 3 cols
VoiceIdeaexplainx.ai mapping
Peter YangDo we need CC/Codex desktop apps if VPS SSH suffices?Terminal + /goal + harness guide
kayheSandboxed agent environmentsStaging VPS = disposable sandbox
Phil FreoDocker dev envs on serverContainerize services; agent edits mounted volumes
peetzweg160k GH contributions with agent assistThick artifacts in git

Local-first counterweight: Grok Build keeps inference and repo on hardware you own — opposite deployment, same agent loop.


How June 28 and July 8 fit together

table · 3 cols
DateThreadRole
Jun 28, 2026~1.2M views — VPS-only year, live prod, deploy evolutionManifesto (this post)
Jul 8, 2026~322.5K views — Termius, MacinCloud, Nomads iOSiOS extension — read the guide

Same VPS brain; July adds second SSH hop to macOS for Xcode. Start here for why; read July for how on iPhone.


Summary

June 28, 2026: Pieter Levels documented ~12 months of VPS-only Claude Code — overnight /goal runs, three-stage deploy evolution ending in live production edits, and two ~10-second outages in a year. Solo on prod; teams on staging. Stack: Hetzner, SSH, Tailscale, Cloudflare Tunnels, inbound firewall deny.

explainx.ai's read: this is the server-first agent harness thesis Theo and Karpathy echo — your laptop becomes a terminal remote, not the source of truth. Pair speed with 3-2-1 backups, DCG hooks, and honest when-not-to rules. For Nomads iOS and Termius, continue to the July 8 companion post.


Related on explainx.ai

  • CMF Phone 1 Termux home server — VPS replacement (Aug 2026) — skip Hetzner; rooted Android as the box
  • Claude Code VPS + SSH — iOS and MacinCloud (Jul 8) — sibling extension: Termius, Xcode hop
  • Codex $HOME deletion — full access sandboxing — why disposable VPS beats laptop prod
  • /goal command — long-running agents — overnight runs Levels cited
  • Grok Build open source — local-first vs cloud — opposite deployment philosophy
  • Andrej Karpathy joins Anthropic pre-training — server/cloud agent orchestration context
  • Thin prompts, thick artifacts — Thariq — git as promotion artifact
  • What is an agent harness? — permission modes and tool loops
  • OpenCode Desktop tabs — worktrees — visual parallel to tmux
  • Run open-source models in OpenCode on VPS — no cloud API keys on box
  • Destructive Command Guard — hook-level shell protection
  • Run AI coding agents from your phone — mobile supervisor patterns

Official infra docs: Hetzner Cloud · Tailscale install (Ubuntu) · Cloudflare Tunnel

Context: Pieter Levels X thread, June 28, 2026 (~1.2M views, edited 2:52 PM) · Companion July 8, 2026 Nomads iOS thread (~322.5K views)

Thread view counts, agent CLI behavior, and Hetzner/Tailscale/Cloudflare docs reflect community reports through July 16, 2026. Live production editing carries real outage risk — verify backups and staging before copying a solo-indie error budget. Published June 28, 2026 (story date); last updated July 16, 2026 with July 8 iOS cross-links and Codex safety context.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Jul 16, 2026

Claude Code on VPS + SSH: iOS via MacinCloud and the levelsio Remote Agent Stack

Pieter Levels stopped coding locally — Claude Code lives on a VPS, Termius on iPhone and MacBook Pro reach it over SSH, and a MacinCloud Mac Mini runs Xcode for the Nomads iOS app. explainx.ai maps the architecture, when it makes sense, and how to harden credentials after Codex $HOME deletion week.

Aug 30, 2026

Claude Code Limits Drop 17% on Sept 14 — The Math Behind the 25% Raise

On September 14, 2026, Anthropic replaces its temporary 50% Claude Code weekly boost with a permanent 25% increase. The headline says "raise." The arithmetic says most paying users lose about 17% of the capacity they have today. explainx.ai walks through the math, who is affected, and what to do before the promo ends.

Aug 25, 2026

Claude Code for Everyday Users — Why Usage Feels Down Even Without a Backlash

Public sentiment toward Claude has not turned hostile, yet explainx.ai sees softer everyday usage — fewer casual sessions, more power-user harness work. This opinion piece connects Tobi's AGENTS.md fight, token meters, and why Cursor, OpenCode, and Codex feel friendlier for non-engineers.