Vibe coding on Android: how to program with AI from a phone
A phone will not replace a laptop, but vibe coding from it is possible: the agent runs on a server and you drive it over SSH or a web chat. What you need and where the limit is.
5 min · · development · агенты
Vibe coding on Android is real, but not in the form shown on desktop. A phone is a poor place to run an agent on a large project locally: little screen space, an awkward keyboard, network and battery. The working scheme is different: a server does the heavy part and the phone is a remote control. Below are three options, their limits and costs. For the approach itself see what vibe coding is.
Three ways to program from a phone
| Way | What you need | When it fits | Limit |
|---|---|---|---|
| An agent on a server, SSH from Termux | your own server, an API key | edits in a real repository | phone keyboard, network dependence |
| A web chat with a model | a browser and a balance | drafts, scripts, error analysis | the model does not see your files |
| An agent right in Termux | a modern phone | experiments | Android support must be checked for each tool |
Option 1. An agent on a server, the phone as a remote
The idea: a cheap server (a VPS or a home computer) holds an agent, for example Claude Code, and your repository. From the phone you log in over SSH, give a task and watch the result. Agent installation details on a server are in Claude Code over SSH on a server, and agent configuration is described in the Zukko documentation.
Termux as an SSH client
Termux is a terminal for Android with a set of Linux utilities. According to the project's README, stable builds are distributed through F-Droid and GitHub, while the Google Play version is experimental and has reduced functionality. Install the app and its plugins from one source: builds with different signatures do not work together. Check the project's current page before installing. In Termux:
pkg update && pkg upgrade
pkg install openssh
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pubAdd the public key on the server to ~/.ssh/authorized_keys and connect:
ssh user@server_addressPassword login is simpler but less secure than a key. If the server's SSH port is not the default 22, add -p number.
tmux, so the session survives drops
Mobile networks drop and phones fall asleep. If the agent runs directly in the SSH session, a drop stops it. So on the server run the agent inside tmux:
tmux new -s code
claudeAfter a drop, log in again and run tmux attach -t code: the session is where you left it.
A separate key for the phone
On the API keys page create a separate key named, say, "phone", give it a daily dollar limit and a list of allowed models. That way a lost phone or a typo in a task will not drain the balance. For Claude Code on the server:
export ANTHROPIC_BASE_URL="https://api.zukko.pro"
export ANTHROPIC_AUTH_TOKEN="fetch_your_key"
export ANTHROPIC_MODEL="claude-sonnet-5-5"For agents on the OpenAI format (for example Codex) the address has /v1: https://api.zukko.pro/v1. The short answer to "codex for android": the official Codex CLI installation instructions target desktop systems, so the server scheme remains the most portable. If you are interested in the services' own mobile clients, see the developer's site for current information.
Option 2. A web chat
The simplest way: open the browser chat, pick a model and describe the task. It fits scripts, error analysis, small functions, regexes and SQL queries. You copy the result into an editor or Termux. The limit: the chat does not see your repository until you paste the code into the message. For large edits across a project this is inconvenient, but for short phone tasks it is enough. If you need your own system, read how to connect AI to your own app.
Option 3. An agent right in Termux
Some command-line tools are built on Node.js and in theory install in Termux. But Termux does not follow the usual Linux directory layout, uses a different libc, and native dependencies do not always build. So Android support must be checked in the specific agent's documentation, not assumed from general words. We have not checked whether any specific agent runs in Termux without tweaks. If you try, install only from official sources and do not run scripts you have not read.
What it costs
Phone tasks are usually small. Example: 100K input tokens and 10K output tokens. Formula: input in millions × input price + output in millions × output price. Prices per 1M as of October 18, 2026.
| Model | Calculation | Total per task |
|---|---|---|
deepseek-v4.1-flash | 0.1 × 0.013 + 0.01 × 0.038 = 0.0013 + 0.00038 | $0.00168 |
gpt-6.1-sol | 0.1 × 0.27 + 0.01 × 1.32 = 0.027 + 0.0132 | $0.0402 |
claude-sonnet-5-5 | 0.1 × 0.4 + 0.01 × 2 = 0.04 + 0.02 | $0.06 |
claude-opus-5-5 | 0.1 × 0.8 + 0.01 × 4 = 0.08 + 0.04 | $0.12 |
An agent sends context at every step, so real spend grows. For Claude, cache gives a discount in the Anthropic format (Claude Code); in the OpenAI format all input is billed at the input price. Watch the spend in the "Usage" section of the dashboard.
Access from Russia goes through the gateway: the dollar balance is topped up via SBP (the payment page adds 8.5% on top), MasterCard or cryptocurrency, minimum $1. Factor in the payment page fee too.
Practical tips
- Dictate tasks by voice through the phone keyboard and ask the agent to restate them as a clear plan before editing.
- Ask the agent to make small commits so you can roll back an edit from the phone.
- Do not keep
fetch_...keys in unprotected notes. - Use the phone to set and accept tasks; reviewing big diffs is easier on a larger screen.
FAQ
Can a phone fully replace a laptop?
For small tasks yes, for serious work on a large project no: the screen, keyboard and network get in the way. The "agent on a server" scenario makes the phone a tolerable remote.
Does Termux need root?
No. You do not need root for the SSH client, tmux and basic packages.
Which model is best for mobile tasks?
We cannot say in advance: compare on your own tasks. For short edits try the cheap deepseek-v4.1-flash or glm-5.3-flash, for hard ones claude-opus-5-5.
What if the connection drops mid-task?
If the agent was started in tmux, reconnect and run tmux attach. You can check spend in the dashboard.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- Prompt Injection: What It Is and How to Protect a Bot and an AgentHow prompt injection works through user input and third-party documents, and which measures limit the damage: data isolation, tool permissions, key limits.
- Claude Code YOLO: Permission Modes and Working Without PromptsClaude Code has no mode literally called YOLO, but it has several permission modes and flexible rules. How to stop clicking Yes without losing files.
- Claude Code: a checklist of best practices for daily workHabits that make working with Claude Code predictable: a short CLAUDE.md, a plan before edits, small tasks, checking results and keeping spend under control.
- An MCP server in Java: a minimal example with one toolWe write a minimal MCP server in Java with one tool, register it in Claude Code, and learn to find the cause when the agent doesn't see it.