AI Engineer Europe 2026
remobi.app: Don't change your terminal workflow for mobile
Read the talk
Remobi: take your terminal workflow onto your phone
Connor Adams demonstrates how Remobi brings an existing tmux workspace to a phone, preserving custom agent controls, code review tools, and the responsibility to secure remote access.
From a talk by Connor Adams
Before you start: Familiarity with a shell, Git diffs, and terminal coding agents will help; tmux’s workspace structure is introduced along the way.
Do the agents need you?
You are out with friends or family, but the coding agents are still running. Are they making progress? Do they need steering? Connor Adams describes the compulsion to check—and his ambivalence about making that easier. Remobi grows out of that tension: if you are going to reach for your phone, you should be able to reach the workflow you already use.
There are already mobile agent apps. Adams jokes that his own urge to build another is a case of “AI psychosis,” but he also has specific objections to the available choices. He describes Happy as a native mobile interface for Claude Code, limited to that agent, with a relay server he personally does not trust. That comparison belongs to the recording: Happy’s current README supports Codex too and describes end-to-end encryption; Adams’s distrust is not a demonstrated vulnerability.
The other routes each introduce a different kind of friction:
| Route described in the talk | Friction for Adams’s workflow |
|---|---|
| Built-in Claude Code mobile handoff | Requires an explicit transfer; does not cover Codex or Pi in his account |
| General-purpose phone terminal | Requires SSH-key setup and usable touch controls |
| Existing terminal customizations | Need to remain accessible from the phone |
The last point becomes the organizing requirement. Adams already has a workflow built around tmux, and wants mobile access to preserve it.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Build the workspace in the terminal
Adams previously worked primarily in VS Code. His terminal setup now lives on a remote development machine that he can reach over SSH, giving him the same tools wherever he connects. Before showing the phone, he opens that desktop workspace: four coding agents share a terminal, arranged in separate panes.
tmux supplies the workspace structure. Panes divide a window; multiple windows provide separate views, with tabs along the bottom. The status bar is configurable too: Adams uses it for CPU usage and other machine information, with shortcuts that open additional status views. A minimal shell example of the pane-and-window structure is:
bash
# Create a workspace with two side-by-side panes.
tmux new-session -d -s work -n agents
tmux split-window -h -t work:agents
# Add a separate window, then enter the workspace.
tmux new-window -t work -n tools
tmux attach-session -t work
The names work, agents, and tools are example choices; the useful structure is a session containing windows, each of which can contain panes.
Custom commands extend that structure. Adams opens a launcher that offers a choice of agent counts, considers sixteen, and selects four. This is a demonstration of configurable workspace creation, not a throughput measurement. He says he generated the configuration with AI despite not knowing how to implement all of it himself: describe the desired interaction, then have the agent produce the tmux configuration.
He acknowledges apps such as Conductor, but prefers to own his workflow while experimenting with how to manage coding agents. The terminal gives him somewhere to put those experiments without first committing to a larger application’s interaction model.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Keep review and maintenance close to the agents
Once Claude Code finishes a change, the next task is to inspect it. Adams presses a shortcut to open Lazygit in a terminal window, where he can navigate the repository and scroll through changes. Code review remains part of the same workspace as the agent that produced the code.
He then opens another scrollable diff view, called Critique, to make the same point: the workflow includes checking changes before committing them. These tools give the agent’s output somewhere to go besides directly into a commit.
The custom tools also cover local maintenance. A development server will not start because a port is occupied; Adams’s utility reveals an agent browser process using it and lets him kill that process. Small, frequently needed operations can become terminal shortcuts alongside agent management and Git review. He undercuts the productivity story with a joke: all this customization can still leave you shipping nothing that users actually use.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Open the same workspace on a phone
With those customizations in place, Adams switches to his phone. Remobi is a progressive web app, which he describes as working on iOS and Android, backed by a server running on his machine. He mentions a Pi version, then selects the machine used in the desktop demonstration. The phone opens the workspace where he left it.
The first interaction exposes some roughness: a scrollback-related shrinking behavior does not work as expected, which Adams attributes to switching views. He then moves through the controls that make the existing workflow usable on a touchscreen:
- Agent mode: a
Shift+Tabcontrol switches the demonstrated agent into plan mode. - Git review: a dedicated control opens the Git interface.
- Diff inspection: another opens Critique, with gestures for scrolling through the view.
These controls make terminal actions available without requiring every keyboard combination to be entered through the phone’s keyboard.
Adams is blunt about the appearance: he considers it minimally functional, not polished. The pane gestures are the practical part. Double-clicking zooms into a pane; he tries scrolling one with no content to scroll, moves to another, and demonstrates scrolling and zooming back out. The aim is to retain the multi-pane workspace while making an individual pane usable on a small screen. The phone adapts to the workflow already built in tmux.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Adapt the touchscreen controls to your setup
Remobi is open source. Adams introduces its shell-script installation path with sarcasm about the wisdom of copying arbitrary commands into a terminal. The guided setup installs a skill that helps configure tmux if you do not already have it. For an existing tmux setup, it turns your bindings into controls for Remobi’s touchscreen interface. The setup therefore accommodates both a new workspace and one with established custom commands.
The guided script is optional: Adams also describes installing the skill and npm package directly. He closes the installation walkthrough by asking for GitHub stars, even from people who do not plan to use the app.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Session access and the security boundary
The audience questions fill in two missing pieces. First, is remote control itself a tmux feature? Adams separates the responsibilities: tmux provides the panes and workspace, while Remobi calls tmux and takes the user straight into the session. The demonstrated setup hides that session-entry step rather than asking the phone user to manage it each time.
The second question is how the phone communicates with the machine. Remobi is a website accessed over the network. Adams uses Tailscale, and names Cloudflare Tunnels and ngrok as alternatives. His central qualification is that security depends on how that access is configured. Connectivity and authorization are separate responsibilities: providing a route to a terminal does not, by itself, establish who may use it.
That distinction matters because this interface controls a real development machine. Adams warns that putting the service directly on the public internet means “you've pwned your own computer.” An audience member then asks whether Tailscale is the default setup, explaining that otherwise they would be worried. Adams explicitly confirms that it is. The convenience of reaching the existing session from anywhere ends at this boundary: access to the phone interface must remain controlled access to the machine.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Source, installation instructions and configuration for a mobile terminal PWA, including its security model.
Official guides for persistent terminal sessions, multiplexing and configuration.
A terminal interface for inspecting and managing Git changes.
Further reading
A terminal diff viewer with commands for reviewing working-tree, staged and committed changes.
Share a local service within a tailnet using HTTPS and network access rules.
Configure authentication, access policies and origin protection for an application published through Cloudflare.
Updates since the talk
Current mobile and web client supporting Claude Code and Codex with documented encrypted synchronization.
Read the complete timestamped transcript
- 0:00
[upbeat music] Hello everyone.
- 0:18
Um, so yeah, my name's, my name's Connor Adams, and I'm here to present to you Remobi. A little change of schedule here, so you might, might not be expecting this.
- 0:28
Um, so who here uses, checks on their agents on their phone?
- 0:36
Okay. Who here would like to, but doesn't? Okay. Yeah. I- I'm always actually torn about whether or not it's a great idea or not. I'm thinking, I'm out, you know, out and about, may- might even be some nice weather, uh, out with my friends and family, and then I get this sort of compulsion to check on my
- 0:54
agents. Are they, are they working well? Do I need to steer them? Do they need me? And so, rightly or wrongly, th- there are plenty of apps for it.
- 1:02
So before I show you mine, why have I built one? Well, one, because I've got AI psychosis, of course, and you just must build apps. But the thing I wanted didn't really exist.
- 1:12
So there's, there's Claude, uh, there's Happy, which does Claude Code, and it's got a nice native moto- uh, mobile app, but it only works with, uh, Claude Code. And also, it has some relay server that I'm not sure I really trust.
- 1:28
Um, fine. Uh, what other options do we have? Another Claude Code option. Well, you can use the inbuilt thing and it will, uh, you press a manual handoff, and it will hand off your session to the mobile app.
- 1:42
That's cool. Um, but it means that you have to manually hand over, and also, it means that you can't use Codex or something else. Or Pi. Um, or there's just-- What about just having a,
- 1:56
a, like, terminal app for your, um, for your phone? And these are also good. The w- the annoying things I find with it is, like, managing SSH keys and setting all that up.
- 2:06
Also, having, uh, touch controls and having it work with your existing workflows that you may have, uh, in something like tmux.
- 2:16
So another question. Tmux users? Got any? Only a, a couple, and that wa- unsure face as well. Okay. So if we don't use tmux, that's fine. So I used to be, I used to be a big VS Code man, and then now I just, maybe 'cause I think it's cool, I use the terminal.
- 2:34
But also, it's nice because it's a portable setup and I can-- I've got a remote dev machine, I can SSH into it. It's got all my same stuff on it.
- 2:41
So before we get onto the mobile bit, I will just show you,
- 2:46
um, tmux. So this is my terminal, and why not have four different coding agents on there at the same time? And so what tmux is, is essentially like a window manager for your terminal, so you're able to have these panes like this, and you're also able to have, um, windows that you can switch between.
- 3:06
You see the tabs along the bottom. But you can also, like, customize it. It's probably a bit hard to read on the screen, but I've got stuff in the bottom that says, oh, this is the CPU usage and all this sort of stuff.
- 3:18
Like, I can press buttons, and then I can see, like, how the computer's going or whatever, CPU, blah, blah, blah. Um, and I can, uh, set up all custom key commands.
- 3:28
So for example, I press this and then how, how agent maxing, how token maxing are you feeling? Do you think you can manage sixteen? Probably not. Four, let's say, and then you just press that, and then it does that.
- 3:41
And I didn't know how to do any of this, and I probably still don't 'cause obviously I vibed it. It knows how to use tmux. So you just have, like, a vision in your head, like, "I wanna be able to do this."
- 3:52
And there are probably o- other cool apps that people use, you know, like Conductor and stuff, and I think it's all great, but at this moment, as Mara said, the, the fuck around and find out stage, I'd rather sort of own what I'm doing and find my own workflows for now.
- 4:05
But we'll see. And so, uh, that's a bit of tmux. But a little bit more of tmux, actually. I'm just-- I should've called my talk Tmux Talk. But, um, so let's say I'm, I, I've done something on Claude Code, and it's done some work, and then I wanna see the diff.
- 4:22
Well, I can, uh, load up Lazy Git in a, in a window by just pressing some buttons, and then I can scroll through it, and I can see all my Git stuff.
- 4:32
Or th- there's other ones. There's a thing called Critique, and then I can scroll through the diff there 'cause we're checking our code, of course, before, uh, we're committing it.
- 4:40
Um, and other, like, random things is, like, sometimes you have some,
- 4:46
you have some random port being used and you're like, "Why, why isn't my dev server running? Oh, it's, there's agent browser running on here. Let's kill it." And you can do that, and you can create all these little tools and create your own workflow.
- 4:59
Um, and then still not ship anything that users use anyway. But anyway, um, the point is you can customize stuff. So that's that, and then from there,
- 5:12
I've got all my custom workflows that make me incredibly productive, of course. And then I'm like, "Okay,
- 5:19
now I wanna go and ruin my family time." Now I can do that. So here's my, here's my phone, and I can open up here. So it's a progressive web app, so it works on iOS and Android.
- 5:31
And you're-- I'm running a server on my machine. And I press, we've got a Pi version, or we got, this is the machine we were just in. Um, and so that's where we were.
- 5:41
We're exactly there. And it's f- it's, you can, if I scroll back, oh, it doesn't work. It usually shrinks, but it's 'cause I'm switching. Anyway. Um, and so I can do all that same stuff.
- 5:51
So say I need to put it into plan mode or whatever. There's a little Shift + Tab thing here that I can switch it into plan mode. If I wanna load up Git, I've got a little thing for that.
- 6:02
If I wanna o- open up the Critique thing, I can scroll. It's all got the ges- all the gesture stuff. Um, and so if we look at this, it's not winning any design awards, right? [laughs]
- 6:15
It looks like shit. But you can actually ... It's, I'd argue it's, like, it's minimally functional or, or maybe functional. So you can, uh ... I've got, like, a touch ...
- 6:26
So you can, like, double-click, and it will zoom into each pane, and then you can scroll on the panes or whatever, um, as you please. There's nothing to scroll there.
- 6:34
We can scroll on this one. So, you know, I can scroll on there or I can zoom in, zoom out. Um, all that stuff. And so, uh, that's, that's basically it.
- 6:44
So the idea is that you have your workflow. You might like tmux, and if you don't already, you might get into it. And then you can set it up.
- 6:50
And talking of which, so yeah, it's an open source thing. I'll put a QR code, but it's called Remobi. Um, and so, uh, you know what the best idea is, is when you see a command that just runs a random shell script, you copy and you paste that into your terminal because you know it's gonna lead to
- 7:09
good results. And so if you do this, you don't have to do that, it will, it will guide you through and it installs a skill that helps you set up tmux if you haven't got it already.
- 7:17
Or if you've got tmux, it turns it into key bindings that you- for your setup in the little touch screen mode on Remobi, and it just helps you set up.
- 7:26
But you can just install the skill and install the npm package and have fun. Um, and I think that's basically it. So even if you're not gonna do it, give us a few stars, would you, on the old GitHub?
- 7:41
Um, and I think, I think that's it. Um,
- 7:46
thank you very much. [applause]
- 7:52
Can I ask a question?
- 7:53
Yeah, yeah, you can.
- 7:54
Um, how, how do you control tmux remotely? Is it, is that, is that just a feature of tmux? Can I not use-
- 8:02
Uh, yeah, so, uh, yeah, t- uh, tmux is just the thing that makes it all, like, the panes and stuff. Uh, so you're just jumping. So when you set up Remobi, you basically don't even have to think about it.
- 8:12
It just run, it just calls tmux, and then you just, like, log straight into your session. So you don't, you don't really have to do anything. Yeah.
- 8:21
Uh, following up onto his question, what's the communication between the phone and the- Yeah ... It's just a website. I didn't, I didn't touch on this at all, which is very, very key point.
- 8:30
So yeah, it's just, it's just over the internet. But, so I use Tailscale to do it, but you could use Cloudflare Tunnels, Ngrok, whatever you like, and yeah. And security is your concern of that thing.
- 8:43
Yeah. If you, if you, if you, if you just put it on the public internet, you've pwned your own computer, so.
- 8:49
Is, is Tailscale the default process of setting that up?
- 8:51
Yes. Yeah, yeah, yeah. Yeah.
- 8:52
'Cause if not, I'd be a little worried.
- 8:54
Yeah, yeah. Yeah. So, yeah, it's the default thing. Yeah. Yeah, yeah. But,
- 8:59
well, all right. Thank you very much. [applause] [outro jingle]