MobileCLI is a self-hosted terminal mirror with AI agent controls. It streams your coding agent’s terminal output to your phone and lets you approve, reject, or interrupt actions with native mobile controls.
That’s it. But because it sits in an unusual space between several existing product categories, it’s worth being precise about what it is and isn’t.
What MobileCLI Is Not
Not an SSH client. SSH apps give you a raw terminal session on a remote machine. You type commands, read output, manage sessions. MobileCLI doesn’t give you a shell. You can’t type arbitrary commands. It mirrors a specific terminal session and provides structured controls for interacting with the process running inside it.
Not a mobile IDE. There’s no editor, no syntax highlighting pane, no project navigator, no build system integration. MobileCLI doesn’t try to recreate VS Code on a phone screen. You’re not writing code with it.
Not a coding app. You won’t use MobileCLI to write a function or fix a bug directly. It’s a monitoring and control interface for an agent that does those things for you.
What it is: a live terminal mirror + AI agent control panel. You watch your agent work. You approve or reject its actions when it asks. You get notified when it needs you. That’s the product.
Why This Category Exists
A few years ago, this tool wouldn’t have made sense. Terminal sessions were interactive — you typed, the shell responded, you typed again. Mirroring that to a phone would just be a bad SSH client.
AI coding agents changed the equation. Tools like Claude Code, Gemini CLI, Codex, and OpenCode run autonomously for extended periods. You give them a task, and they work through it — reading files, writing code, running tests, iterating on failures. A single session can run for 10, 30, or 60+ minutes.
During that time, the agent periodically needs human input. Permission to run a command. Approval to edit a file. Confirmation that a proposed approach is correct. These checkpoints are important — they prevent the agent from going off the rails — but they create a dependency on your physical presence at the terminal.
This is a new interaction pattern: a long-running autonomous process that occasionally requires brief human input. It doesn’t fit the SSH model (too much overhead for a quick approval). It doesn’t fit a mobile IDE (you’re not editing code). It needs its own thing.
MobileCLI is that thing.
Architecture
MobileCLI is two components:
The Daemon
A Rust binary that runs on your workstation. It:
- Spawns your AI agent (Claude Code, Gemini CLI, etc.) inside a PTY
- Captures the terminal output stream
- Detects permission prompts and approval requests
- Serves the terminal stream over WebSocket
- Sends push notifications for events that need your attention
Install it with a single command:
curl -fsSL https://mobilecli.app/install.sh | bash
The daemon is open source and written in Rust. It runs entirely on your machine. No cloud relay, no third-party servers, no account creation.
The iOS App
Connects to the daemon over your local network (automatic discovery) or over Tailscale for remote access. It:
- Renders the live terminal stream with proper color and formatting
- Shows push notifications when the agent needs input
- Provides numbered approval buttons (1=Yes, 2=Yes always, 3=No, Esc=Interrupt)
- Manages multiple sessions
- Includes a file browser for navigating your project (Pro)
The app is available on the App Store.
Core Capabilities
Terminal Streaming
Real-time rendering of your agent’s terminal output on your phone. Full ANSI color support, scrollback buffer, proper terminal emulation. You see exactly what you’d see sitting at your desk.
Approvals
When your agent hits a permission prompt, MobileCLI sends a push notification and presents quick-action buttons. Approve, reject, or interrupt — one tap. No keyboard, no typing, no navigating a tiny terminal with your thumbs.
Push Notifications
This is the feature that makes MobileCLI practical rather than just possible. Without push notifications, you’d have to keep checking the app. With them, you can close the app, lock your phone, and go do something else. When your agent needs you, it finds you.
Session Management
Run multiple AI agent sessions and switch between them from the app. See which ones are active, which are waiting for input, and which have completed.
File Browser (Pro)
Browse your project’s file system from your phone. Read files, check directory structure, review what your agent has created or modified. Available with MobileCLI Pro ($20/year or $30 lifetime).
Who It’s For
MobileCLI is for developers who use AI coding agents and don’t want to be tethered to their desk while the agent works.
If you use any of these tools, MobileCLI works with them:
- Claude Code by Anthropic
- Gemini CLI by Google
- Codex by OpenAI
- OpenCode
The daemon wraps any terminal-based process, so it works with any CLI agent that uses standard terminal I/O for its approval flow.
The Philosophy
Three principles drive MobileCLI’s design:
Your code never leaves your machine. The daemon runs locally. The WebSocket connection is direct — phone to workstation, no intermediary. There’s no cloud service, no telemetry server, no analytics pipeline touching your terminal output. Self-hosted means self-hosted.
Open source daemon. The CLI daemon is open source. You can read every line of code that runs on your machine. Audit it, modify it, build it from source.
Minimal footprint. MobileCLI doesn’t modify your agent, your shell, or your project. It wraps a PTY. When you stop the daemon, it’s like it was never there.
Getting Started
# Install
curl -fsSL https://mobilecli.app/install.sh | bash
# Run Claude Code through MobileCLI
mobilecli claude
# Or run Gemini CLI
mobilecli gemini
# Or wrap any command
mobilecli run your-command-here
Grab the iOS app from the App Store, pair with your workstation, and you’re connected.
Full setup instructions are in the Getting Started guide.