Summarizer

Session Persistence with Tmux

← Back to Claude Code On-the-Go

Users are increasingly leveraging tmux alongside tools like Tailscale and SSH to create persistent, remote coding environments that allow for "vibecoding" and agentic development from mobile devices. While many contributors highlight the utility of these setups for maintaining active sessions across connectivity drops—often utilizing sophisticated workflows involving WSL2, Docker containers, or specialized terminal apps like Blink—there is a notable divide regarding the efficacy of mobile work. Some users report significant UX friction, such as scrollback conflicts and keybinding hurdles on smaller screens, leading to a consensus that while mobile access is excellent for quick iterations, it cannot yet replicate the deep focus and rigorous polish achieved at a dedicated workstation.

6 comments tagged with this topic

View on HN · Topics
I have my very fast macbook pro at my desk in my office, and I use tmux and tailscale and git worktrees and I’ve built a notification setup like this author. Thanks to tailscale and ssh I can vibecode on the go from my phone with this setup. While it’s great to leave a task running, no matter what I do I can’t achieve the type of high quality work on the go that I can when I’m sitting at my desk. For me working on a full SaaS.. I just can’t do quality work on my phone. The only way I can do quality work is to sit at my desk where I’m focused on the work. To play with the result of a prompt, take copious notes, feed them back to the agent, not ship until the thing is polished to a shine. To feature flag the changes, review all code in excruciating detail as though it was written by a dyslexic intern, add all the metrics and logs one can think of (VictoriaMetrics), add user-behavior logging (Amplitude/Posthog) and monitor the thing like your livelihood depends on it. Because it’s a product and you have pride in your work. All of that needs loads of screen real estate and a keyboard. So I guess the more things change, the more they stay the same.
View on HN · Topics
I was looking for a similar scheme, and though far from perfect I found you can run tmux+ttyd. ttyd lets you share your terminal over http. That lets you use your phone's browser (and speech-2-text).
View on HN · Topics
I've been working on something similar: https://github.com/shepherdjerred/monorepo/tree/main/package... Essentially you run a server on some machine. Sessions are created in Docker containers, K8s pods, or via Zellij (an app similar to tmux). You can: - Directly attach to sessions via Docker attach (built-in via a TUI). You get a normal Claude Code experience, but multiplexed. The switcher/UI shows you the status of Claude and the PR (pushed, merge conflicts, CI status, review status, etc.) - Manage sessions via a web UI. Connect to Claude Code directly via your browser. You have access to the usual Claude Code terminal or a native chat view. - Manage sessions via an app. You have access to a native chat view. It achieves isolation via Git worktrees + a proxy so that containers have access to zero credentials (there aren't even any Claude code creds in the container), which allows you to more safely use bypass all permissions mode. This works better for me that Claude Code on Web because I have control over the environment Claude is running in. I can give it any Docker image I want, I can have it connect to my local network, etc. It's still a WIP (the core bits are there, but it's not polished yet), but I'm hoping it provides a friendlier UX with a similar goal for what the OP has in mind.
View on HN · Topics
Linode will provide a configured Linux box for $5/mo that works well with Claude Code and Termius. I had to jump through a surprising amount of hoops with Claude Code, Tmux and Termius to issue a shift+tab before Claude Code gained the ability to invoke plan mode conversationally
View on HN · Topics
As an aside have found the mosh + tmux Claude Code experience somewhat suboptimal, tmux's scrollback seems to clash with CC's, and makes copying between windows etc challenging. It is tolerable on an iPad with Blink with commands to maximise and minimise panes using vim-style keyboard bindings, kind of like an iOS sway.
View on HN · Topics
I do similar except I log into my office workstation and avoid the extra fees. I detailed my setup in an x post here https://x.com/bobjordanjr/status/1999967260887421130?s=20 and the TLDR is: 1.Install Tailscale on WSL2 and your iPhone 2.Install openssh-server on WSL2 3.Get an SSH terminal app (Blink, Termius, etc.). I use blink ($20/yr). 4.SSH from Blink to your WSL2’s Tailscale IP 5. Run claude code inside tmux on your phone. Tailscale handles the networking from anywhere. tmux keeps your session alive if you hit dead spots. Full agentic coding from your phone. Step 2: SSH server In WSL2: sudo apt install openssh-server sudo service ssh start Run tailscale ip to get your WSL2’s IP (100.x.x.x). That’s what you’ll connect to from your phone. Step 3: Passwordless login In Blink, type config → Keys → + → create an Ed25519 key. Copy the public key. On WSL2: echo "your-public-key" >> ~/.ssh/authorized_keys Then in Blink: Hosts → + → add your Tailscale IP, username, and select your key. Now it’s one tap to connect. Step 4: tmux keeps you alive iOS kills background SSH connections. tmux solves this. sudo apt install tmux tmux claude Switch apps, connection dies, no problem. Reconnect: I can just type `ssh dev` in blink and I'm in my workstation, then `tmux attach`, you’re right back in your session. Pro tip: multiple Claude sessions Inside tmux: •Ctrl+b c — new window •Ctrl+b 0/1/2 — switch windows I run different repos or multiple agents in the same repo, in different windows and jump between them. Full multi-project workflow from my phone.