Summarizer

Alternative Mobile Environments

Users discuss various apps and environments that serve as alternatives to the article's Termius setup. Android users advocate for Termux, which provides a local Linux environment without needing a remote host, while iOS users recommend Blink Shell or Shellfish for better Mosh and SSH integration. Some also mention using native Pixel terminal features or running local LLMs directly on the device to avoid latency and dependency on internet access.

← Back to Stop Doom Scrolling, Start Doom Coding: Build via the terminal from your phone

Enthusiasts are increasingly "vibe-coding" on the go by integrating AI agents like Claude Code directly into mobile terminal environments to automate everything from local network exploration to building full-scale APIs. Android users strongly champion Termux for its ability to host local Linux toolchains entirely on-device, while iOS users lean on specialized shells like Blink or Shellfish paired with Tailscale and tmux to maintain resilient connections to remote servers. This shift highlights a growing preference for "terminal-centric" workflows where smartphones serve as powerful, persistent gateways to development environments, allowing users to push code and manage pull requests from anywhere.

73 comments tagged with this topic

View on HN · Topics
I'm using the Android terminal and Claude Code to vibecode on the go. Or rather, as a fairly boring father of two, when I'm tied up in the necessary chores of family life - cooking and cleaning. Nothing as complicated as this - just Claude Code and a fairly standard Linux dev term, but it's remarkable. Over the recent break, across four or five sessions, I wrote a set of prompts around ~500 words in total. The result was Claude scanning my network for active ports using nmap, fuzzing those ports with cURL, documenting its findings, self-directing web searches for API/SDK docs for my Hue bridge and ancient Samsung TV, then building a set of scripts to control my lighting system and a fully functional HTML+JS remote for my TV. The most entertaining part was Claude prompting _me_ to pop into the living room and press the button on the Hue bridge so it could fetch an API key. The most valuable part? The understanding I gained secondary to generative act. I now understand the button on a Hue bridge literally just tells the device to issue a new API key at the next request. I understand how Entertainment mode works, and why. I understand how Samsung SmartThings is mediated via websockets - and just how insecure decade old Samsung TVs are. Around 500 words to gain all this? I hate to buy into the hype, but it feels inflectional.
View on HN · Topics
Possibly Codex, but I've only used Claude Code so far. Worth pointing out I'm not SSHing to a different device. Claude Code installed and running directly in Android terminal on my phone. I've built ASP.NET Core APIs on-device this way. Install dotnet in the terminal and Claude can write code, build, run unit tests, and even run the API on localhost. Then use `git` and `gh` to commit, push and raise a PR.
View on HN · Topics
I still manually approve tool use requests at the start of a run. As it gets deeper in I might allow it to run safer commands without that oversight (e.g. writing to local text files), but potentially destructive execution still requires approval. As for the local env, I'm treating the Android terminal as a sandbox. Anything gets trashed I just reset and reinstall my toolchain. I won't pretend I'd use this workflow for anything high-stakes. But for simple things like "I wonder how my Hue lights actually work?", its viable.
View on HN · Topics
Run it inside a VM, make snapshots of the VM if needed (or use vagrant/ansible to rebuild), commit regularly, ...
View on HN · Topics
The VM is setup once, before you get to be "on the go": that's your development environment, you need one anyway
View on HN · Topics
While I don't use the AI part I have a very similar scheme and it is one of the reasons I encourage people to live in the terminal. The idea is to create a modern "terminal"[0] My main computer is a Macbook Air, which I carry around with me. It's purpose is for: internet, using Microsoft products when I'm forced to, Zoom/meetings, and SSH (or Mosh). Most of my work is not done on this Macbook, instead I use it mostly as a terminal. I have a desktop that's sitting behind my TV so that it can be my TV and gaming system (yeah I know Monitor > TV. I'm a filthy casual and I don't care). I have a mouse connected to that computer and instead of using a keyboard I use ydotool (Wayland xdotool) with a shortcut on my iPhone or a script on my android phone or from my Macbook. I don't have to get up from the couch and I don't need a clunky wireless keyboard to clutter my livingroom. Additionally I have a few pis and an old android phone with Tailscale installed on them. That's come in handy before as a machine's been disconnected and so I couldn't ssh from outside. Also makes it really easy to do a jump if you want to keep a machine off Tailscale or you don't have full control (like my 3D printer). This setup is very natural feeling if you live in the terminal. I actually started doing this when I started doing HPC work. In a setting like that you're never sitting in front of the computer you're doing most of your work on so it kinda clicked "why was I restricting myself outside work?" Plus there's the side benefits of I always have access to my media, tools, and other stuff. You can do exactly the same thing with a phone but I like having a keyboard and the air is very lightweight and has a long battery life. Any netbook would have done the job tbh. [0] There's a reason they're called "terminal emulator s" rather than just "terminals".
View on HN · Topics
How do you type? I get the ydotool usage but do you have a shortcut for each key then on your phone?
View on HN · Topics
Are there any benefits besides a nice GUI? I'm fairly comfortable with my linux desktop as an interface. TBH the most frustrating part is the iPhone shortcut app I made which I strongly believe is less about me and more than Apple is actively trying to be annoying (I recently had an update that required a minor change because the dictionaries in Shortcuts is idiotic) Also, I heard that you can install Tailscale on it[0], so that can act as a gateway which is nice. [0] https://tailscale.com/kb/1280/appletv
View on HN · Topics
> Tmux is helpful, too. Yes. tmux is essential. It's great to be able to monitor a session from desktop, or to pick up an existing conversation i'm having on the computer on my phone. In my shell, I have gemini flash wrapper that I use to manage my sessions so I can quickly connect to an existing one, or create a new one with natural language. > He doesn't seem to be credited on this page, but I believe Pieter Levels (@levelsio) actually popularized this scheme. The author documents a nearly identical scheme. I've been doing this (tailscale + termius + tmux + ssh) for at least a year and a half. First with Aider in this exact setup, and now with Claude Code and Codex.
View on HN · Topics
I've been using Claude Code in their iOS app (on a Pro account). I just point it at my GitHub repo, and tell it to work on one of the issues I created. It required very little setup beyond what I did for Claude Code CLI.
View on HN · Topics
I did this on my own without reading any of these articles - I already had a terminal program on my Android phone and was already using Tailscale for shared projects in Ghidra so... Maybe it's just a path of least resistance.
View on HN · Topics
You need tmux to be able to resume the same session from anywhere, mosh-server to make ssh resilient to sketchy mobile connections, and blink shell https://blink.sh/ to have a high quality iOS shell with a mosh and ssh client built right in to resume at any time. Far more resilient and performant than a web client.
View on HN · Topics
yes but I've never seen a terminal interface embedded in a browser that is as good as a native terminal app interface, and blink shell has been well worth the upfront cost to me (way better than Termius, which was suggested in the writeup)
View on HN · Topics
Is it easy to move the text cursor around in the text input in blink shell?
View on HN · Topics
> and blink shell https://blink.sh/ to have a high quality iOS shell with a mosh and ssh client built right in to resume at any time I really like Termius, have you tried it? I think I tested out Blink when I was trying various SSH/shell apps and chose Termius over it, but it’s been so long now that I completely forget why. EDIT: does Blink give you a local shell as well like vs only SSH/mosh?
View on HN · Topics
In terms of issue tracking and agentic "developers", with a mobile focus - You can connect Linear to Cursor's web agent, which makes Linear issues assignable to the agent directly and kicks off Cursor's take on remote coding agent. You can then guide it further via Cursor's web chat. If Claude Code on iOS supported Linear MCP (as it does on desktop), you can run a similar issue handoff to agent to issue update workflow, albeit without direct issue assignment to the agent "user". Easy to use labels aka tags for agent assignment tracking, as well. For my hobby projects, I've been using Linear + agentFlavorOfTheMonth quite happily this way. I imagine Github issues, Asana, whatever could be wired up in place of Linear.
View on HN · Topics
This is how I do mobile device coding. Android terminal w. git and gh installed and authenticated. Claude manages the feature branching and PR process; I review the PR in the GitHub mobile app.
View on HN · Topics
> seems easier then getting a vpn working it could not possibly be easier to get Tailscale up and running on your mac or linux machine, install tmux and mosh on your mac or linux machine, connect to it with Blink Shell https://blink.sh/ on your iOS device that you've also installed tailscale to, and start vibe-coding from anywhere, on a performant, resilient, instantly resumable terminal connection. seriously, it's a game-changer
View on HN · Topics
If you don't want to run your machine 24/7 (whether for electrical consumption, environmental, noise, etc reasons), I wrote an ssh proxy [1] that will send WOL packets to a target machine and hold your connection until its alive. I then configured debian-autoshutdown [2] to turn the machine off if there's no traffic on ssh after 15 minutes. This way I just ssh into my machine (whether via antigravity on my laptop or termius on my phone) and within 30 or so seconds its awake, no physical button presses needed. I documented the whole flow in more detail on my blog [3]. I'm now working on an improvement called machine on proxy (or mop) that will allow me to start Proxmox VMs instead of physical machines, so I can let gemini-cli run wild and if it decides to wipe the entire hard drive I can restore from a snapshot. [1] https://github.com/simonamdev/ssh-wol-proxy [2] https://github.com/mnul/debian-autoshutdown [3] https://www.simonam.dev/ssh-wol-proxy/
View on HN · Topics
> I really like this setup because I only have one environment, so everything is there, and I don't have to install anything in the laptop Yeah that's one of my favorite parts. Same about living in the terminal. I can be effective anywhere nearly instantly. I carry everything around in my dotfiles and keep it small (keep the .git folder small and don't add anything except text files)[0]. On that note, one thing I highly recommend to people is to add some visual clues to tell you which machine you're on. I use starship and have a few indicators but I also have some PS1 exports that I've used in the past or use in new tmp instances (I HIGHLY recommend also doing this for when you're using the root account). It can get confusing when you have different tabs on different machines and it is easy to mistake which one you're on. [0] I also recommend keeping notes there if you like writing in markdown. Files are so tiny that it's worth having them. It's benefited me more times than I can count.
View on HN · Topics
If you don't mind, I'd like to hear more about your setup. I have a bunch of bash scripts and python programs I've used to make working in the terminal easier (and more fun). Are you saving your dotfiles are a git project and then just syncing and pulling them down from there? I'm not an expert, just a tinkerer, but I like tinkering in the terminal. :) Thanks in advance!
View on HN · Topics
Not the parent but a project (glorified Bash script) called vcsh[1] has served me well over the years for managing multiple Git repositories containing my dotfiles (separation of concerns). Lately I have migrated some of that to Guix Home because the other half of the problem is having all the dependent programs necessary for the dotfiles installed automatically at the appropriate versions. The latter one especially falls into the realm of tinkering. :) [1]: https://github.com/RichiH/vcsh [2]: https://systemcrafters.net/craft-your-system-with-guix/guix-...
View on HN · Topics
My desktop is 11 years old, but I still feel like it does so much that I wouldn't want any cloud services except for AI. (And there's no way this thing would handle a useful local model, but I'm also really not very enthused about the kind of data sharing involved in remote AI use.)
View on HN · Topics
I mean the power of the work machine really depends on what your needs are. Definitely should adapt to whatever your needs are. > And there's no way this thing would handle a useful local model So if you have a setup like mine then it is fairly trivial to incorporate that (or anything else). Either way you'll need a machine that can do the local AI though. Either that is on your "work machine" or you run the AI on a separate machine. You could even rent a machine and as long as you add it to your Tailscale network then you're connected. I strongly suggest having a workhorse machine and then let other devices be your terminal into it. Your terminals can be very cheap (or an old machine) or as suggested, your phone.
View on HN · Topics
If you're on Android and can download QPython, it works just fine and has for years. This seems way overcomplicated, it depends on a remote computer that's on 24/7? Ick.
View on HN · Topics
Also, if your Android phone is a Pixel, you can run the recently added Terminal app, which runs a plain vanilla Debian distribution within a VM. So you then have a pocketable Linux machine to develop code on. Not only does Python run on it, you can install the entire Anaconda Python suite.
View on HN · Topics
I tried this a while back with. NET and Blazor. With split screen I was able to add some code and preview live in the browser and build and 'install' a simple pwa. Presumably with an external monitor and the desktop mode it would be better. Code from tiny llms such as Gemma are a waste of time but it "worked". It was neat to generate a working app completely offline. The main problem was that the VM crashed on my pixel fairly frequently. Might be better by now.
View on HN · Topics
I don't think it's actually the VM crashing, it's the Android OS killing what it thinks is an idle app.
View on HN · Topics
Got a direct link to the app? The play store search is just offering me the Tom Hanks movie about a dude stuck in an airport ... Edit: found it using these instructions. https://github.com/nix-community/nixos-avf?tab=readme-ov-fil...
View on HN · Topics
Also, you can have NixOS instead of debian: https://github.com/nix-community/nixos-avf
View on HN · Topics
Wow, that’s cool! I wonder whether one day Apple is going to allow something like this with headless “macOS” VM on iPadOS to make it a viable local development platform.
View on HN · Topics
I would venture a guess some time between: "The heat death of the universe" and "Never".
View on HN · Topics
Why would that be preferable to Termux?
View on HN · Topics
Because, wonderful as Termux is, it has a very nonstandard filesystem layout, so installation scripts for something like Anaconda will not run without extensive modifications. And Termux has no access to /proc, /dev etc., so lots of utilities fail. Since Terminal provides a full Linux VM, all programs that will run on Linux just work as expected.
View on HN · Topics
Termux can access the full file system if you have root access, which is how I play around with it; however, running a VM is a safer and easier route, especially as smartphone manufacturers are making it tougher to root the device you own.
View on HN · Topics
I haven't noticed anything like that. Some more obscure tools have trouble with the file system but that happens in ordinary Linux too. Though I have no experience with Anaconda specifically so you likely know better whether it'll need adaptations to work under Termux. I run htop just fine on my handhelds and I'm pretty sure it sources directly from /proc, /sys or something.
View on HN · Topics
On my unrooted Pixel, I get "Permission denied" errors if I ls /sys, /dev, /proc and / within Termux. And /usr and /var don't exist.
View on HN · Topics
Sadly I'm an iPhone kid - and yeah the 24/7 computer running is not ideal. It's been nice building on the server that I'm using to host the app, but then again I could just run the Dockerfiles via QPython and push the code via git?
View on HN · Topics
i switched to using neovim a year ago and oddly enough its actually a lot easier to write code in termux compared to any of the other android IDE type apps. they all have drop down menus or sidebars that are quite awkward to use, especially when the keyboard is already taking up half the screen, but with neovim (or vim) youre using the keyboard to do most things anyway, so the keyboard can just stay open all of the time and you never need to move your hand up to the actual app part. selecting text is way easier than android's implementation as well
View on HN · Topics
neovim is probably the only sane way you could code like this on a small screen. everything works pretty much the same way it does on a desktop terminal, the only thing you have to get used to is having so many lines wrapped, and not having quick access to some characters like $ or ^, but they can just be added to the toolbar in termux
View on HN · Topics
I've used this for a decade and still use it. Easy compatibility with tmux, can ssh, use llm, etc. https://github.com/fandreuz/TUI-ConsoleLauncher
View on HN · Topics
Just install Termux and you're good to go.
View on HN · Topics
This is cute. My personal world changed when I discovered Nix On Droid and cloned my personal Claude Code flake which uses pnpm to keep a rolling bleeding edge version with revision controlled dots. I started using Nvim /avante and open router shortly after that, also via Nix on Droid. Game changer for those long subway rides.
View on HN · Topics
I'm just as baffled. I went to the comments to better understand but I still don't get it. I've coded on my phone on several occasions. If you use Android, you don't even need a server or a home computer since Termux works really well as it is. It can run node.js and a bunch of other development tools easily. Or you can just ssh into a server with a development environment and do your stuff their (AI or not).
View on HN · Topics
Yeah, I use Termux a decent amount, whether it's just updating my todo list on my home server or actually programming on it. I feel like this is just aimed at the people who want to code entire projects with LLMs, cost be damned
View on HN · Topics
Tailscale is quite handy in remote agent coding, Sometimes I use tailscale and RustDesk on my phone to check Claude code, I also built an app called NovaAccess which bake tailscale into the app which does not confict of VPN I used.
View on HN · Topics
I use Terminus with Zellij and keep about 8 sessions going with a combination of Claude and Codex, and once in a while, Gemini. It's great when you're sitting in a docotor's office lobby bored out of your skull and when you get back to your desk you just join the session and it's all right there.
View on HN · Topics
Using this with tmux and various VPN tech. Main issue is scrolling. Termius + tmux don't scroll very well. And I've been led to believe tmux is necessary to keep sessions open when I turn off my phone screen
View on HN · Topics
I had this exact issue. I switched to Blink on iOS which seems inferior to Termius in every way except that scrolling tmux actually works.
View on HN · Topics
Just install proper development tools on the device, some examples from my setup, - Pydroid - C# Shell .NET IDE - Pascal N-IDE - Shader Editor
View on HN · Topics
I am looking for some open source terminal for iphone .I have code server running which i can just use terminal from vs code on safari
View on HN · Topics
It worked for me for finishing my app (vps+shellfish+gemini-cli), I've done a lot of coding like this on the train and in between sets in the gym, picking up on the more complicated stuff when at home. But also all of the changes I made from the phone were incremental.
View on HN · Topics
İ've been using Termux (and Vim) to code on my phone for years, way easier than this setup.
View on HN · Topics
I was expecting this to be about using Termux or similar. Why are LLMs involved here?
View on HN · Topics
this is literally my setup and it is a game-changer: tailscale, tmux, codex/claude code, mosh, blink shell (iOS) https://blink.sh/
View on HN · Topics
is termius free, I was wondering if there is a free open source ios terminal
View on HN · Topics
ollama runs locally in termux preferably on proot-distro (with less "coding power")
View on HN · Topics
> What You'll Need > A Computer running 24/7 with Internet Connection > A Smartphone > A Claude Pro subscription Or.. just install Termux and do it the same way you do it anywhere else?
View on HN · Topics
Termux with a 10-keyless BT keyboard in bed was a comfy way to solve AOC problems considering it released at midnight in my timezone.
View on HN · Topics
This comment taught me about Termux. Good to know!
View on HN · Topics
Make sure you install it via FDroid. Also grab Termux:API to be able to write little apps with bash scripts. Here's one I did which gives a notification based interface to Pandora: https://github.com/ijustlovemath/pbr
View on HN · Topics
And what's the recommendation for iOS? Because, as it turns out, the Termux app on the App Store is not the same as the one on the Play Store, just uses the same name.
View on HN · Topics
use blink https://apps.apple.com/nl/app/blink-shell-build-code/id15948...
View on HN · Topics
Or shellfish. [1] [1] https://secureshellfish.app/
View on HN · Topics
Shellfish is underrated. It has a very convenient tmux integration (auto-restore a specific tmux session per host to work around iOS suspending background apps), supports SSH tunneling via other configured hosts, and can be used as an SFTP file provider for other iOS apps. It’s also generally polished and supports the expected standard terminal features. There’s a few settings I wished were possible, like using volume buttons as modifier keys in Emacs (I’ve heard about this in other apps), but mostly it works fine.
View on HN · Topics
Blink will end up giving you an experience similar to the stack in doom-coding (as Blink's local capabilities are very limited thanks to iOS rules) except you have to pay a subscription. Termux on Android will let you do anything you can do on your standard Linux PC.
View on HN · Topics
Hmm, maybe I got grandfathered in or something because I paid some set price a few years ago and have not had a subscription for blink, and just use it the same way I would use Ghostty and then ssh into another machine. Use something else if it needs a sub. Some sibling comments had some recommendations.
View on HN · Topics
Hang on, is Claude running on your phone/tablet and installing large dev dependencies right there? Or which parts of this stack are you replacing with termux?
View on HN · Topics
Yeah, everything runs on the phone
View on HN · Topics
I run Claude Code on my phone itself via Termux.
View on HN · Topics
Can't we do the same with an SSH client such as Termius?
View on HN · Topics
I built my AI dungeon master game and play it using my phone, Tailscale, and an app called Termius. https://github.com/derekburgess/dungen
View on HN · Topics
revived an ipad mini 2 (2013), rooted it and ssh-ed in and let claude handle the tailscale setup, terminal emulator selection, and prep work. perfect form factor and can test web apps via browser.