You can run Google Gemini CLI on your phone today, iPhone or Android. The
fastest path: install Cosyra for iOS or
Cosyra for Android, sign in, and type
gemini in the terminal. We pre-install Gemini CLI in an Ubuntu 24.04
container in the cloud, so there is no Node 20 install, no Termux native-build
errors, no SSH tunnel to babysit. Sign in with a personal Google account and you
get the free tier (60 requests per minute, 1,000 per day on Gemini 2.5 Pro). 1
hour free on Cosyra signup, no credit card.
This guide was written by the Cosyra team. We tested Gemini CLI on iPhone and Android via Cosyra, plus the Termux path and the Blink-plus-VPS path, in April 2026. Where we make claims about Gemini CLI itself, they are dated 2026-04-18 and cross-checked against the official repo and the Google announcement.
What is Google Gemini CLI?
Gemini CLI is Google's official open-source terminal agent for the Gemini
models. The README calls it "an open-source AI agent that brings the power
of Gemini directly into your terminal." It ships under Apache 2.0, as the
@google/gemini-cli npm package, and also installs via Homebrew, MacPorts,
and Anaconda. It needs Node.js 20 or newer. Features include file operations,
shell command execution, web search, and tool extensibility via MCP (Model Context
Protocol).
The thing that makes Gemini CLI genuinely different from Claude Code or Codex CLI on a phone is the free-tier economics. You sign in with a personal Google account, no API key, no credit card, and you get 60 requests per minute and 1,000 per day on Gemini 2.5 Pro with its full 1-million-token context window. Google positioned that as "the industry's largest allowance" for unpaid access when they launched. Even if Claude or Codex is your daily driver, it is worth having Gemini on your phone for the free large-context pass.
How can you run Gemini CLI on a phone?
You can run Gemini CLI on a phone three ways: a cloud Ubuntu container with Gemini pre-installed reached from a native mobile app (Cosyra), Termux on Android with install workarounds, or Blink Shell on iOS into a VPS you own. Gemini CLI needs a real Linux or macOS shell with Node 20+, so every approach puts the actual CLI process somewhere else and gives your phone a way to drive it. All three options are current as of 2026-04-18.
1. Cosyra: cloud Ubuntu container, Gemini CLI pre-installed
This is what we built. A native iOS and Android terminal that connects to a
persistent Ubuntu 24.04 container in the cloud. Gemini CLI, Claude Code,
Codex CLI, and OpenCode are already installed against a current Node 20+.
You sign in with a Google account (or paste a
GEMINI_API_KEY), type gemini, and go.
- Works when: you want zero setup, dual-platform (iOS and Android), and none of the Termux native-build pain that recent Gemini CLI releases have.
- Breaks when: you have no internet (the container lives in the cloud), or you need to reach a private network we do not route through. Full trade-off list in Cosyra vs Termux.
- Cost: 1 hour free on signup, no credit card. Extend with a 10-hour, 7-day trial when you want more. After that, $29.99/month or $300/year. Gemini tokens are free at 60 rpm / 1000 rpd on a Google account, or BYOK via AI Studio or Vertex AI for higher usage. See pricing.
2. Termux on Android, with install workarounds
Install Termux from F-Droid, install Node 20+ with pkg install nodejs, then npm install -g @google/gemini-cli. On paper this should
work. In practice, the google-gemini/gemini-cli repo has a string of open
and closed Termux issues: 0.3.3 failed on Termux with Node v22.19.0,
0.11.0-nightly failed to build on Termux/arm64 with Node v24, and a separate
clipboardy mis-detection bug was closed by Google as "not planned." The two
working recipes today are (a) add --ignore-scripts so native modules
like tree-sitter-bash are not built, or (b) pin an older version such as
@google/gemini-cli@0.2.2. A community fork,
DioNanos/gemini-cli-termux, exists specifically because the upstream path is brittle on Android.
- Works when: you are on Android, you know your way around
pkg, and you accept the version-pinning tax. - Breaks when: a Gemini CLI release drops that needs a newer native dep; you upgrade; the app breaks until a workaround catches up. Also Android 12+'s phantom process killer can terminate long sessions.
- Cost: free Gemini free tier, free Termux. The cost is the time you spend debugging install failures vs. shipping code.
3. SSH from Blink Shell into your own VPS (iOS only)
On iPhone or iPad, Blink Shell is the gold-standard
SSH client. Spin up a VPS (Hetzner, Scaleway, DigitalOcean),
npm install -g @google/gemini-cli on it, SSH in from Blink inside
a tmux session, and run gemini. Authentication via
GEMINI_API_KEY is the simplest path here because browser-flow sign-in
is awkward over SSH.
- Works when: you want a box that is yours and an iOS-native keyboard. Polished terminal UX on iPhone.
- Breaks when: you do not want to be a sysadmin. Patching, hardening, firewall rules, and backups are not optional on a box that holds your source code and your Gemini API key.
- Cost: Blink Shell is $19.99/year, the VPS is $5 to $40/month. No Android equivalent, Blink is iOS-only. Full trade-off breakdown in Blink Shell alternative: Cosyra for iPhone terminals.
How do you set up Gemini CLI on iPhone or Android?
You set up Gemini CLI on iPhone or Android in about three minutes with
Cosyra: install the app, sign in, confirm gemini is on the PATH,
sign in with a Google account (free tier) or paste a
GEMINI_API_KEY, clone a repo, run gemini. No Node
install, no npm, no Termux native-build errors.
Step 1: Install Cosyra and sign in
Download from the App Store or Google Play. Sign in with Apple, Google, or email. On first launch we provision a fresh Ubuntu 24.04 container.
Welcome to Cosyra.
Ubuntu 24.04.1 LTS (x86_64)
Pre-installed: claude, codex, gemini, opencode
$ node --version
v20.18.1
Step 2: Confirm Gemini CLI is there
No install step — Gemini CLI is baked into the image. Verify in one command.
$ gemini --version
0.12.0
$ which gemini
/usr/local/bin/gemini
Step 3: Sign in with a Google account (free tier path)
Run gemini. On first launch it prompts for authentication. Pick
the personal-Google-account path, open the URL it prints in your phone
browser, sign in, paste the verification code back into the terminal. You
now have 60 requests per minute and 1,000 requests per day on Gemini 2.5 Pro
with its 1-million-token context window, at no charge.
$ gemini
Welcome to Gemini CLI.
Sign in with Google: https://accounts.google.com/o/oauth2/...
Paste verification code: ****-****
Signed in. Free tier: 60 rpm / 1000 rpd, Gemini 2.5 Pro.
Step 4 (optional): Switch to BYOK for higher usage
If you need more than 1,000 requests per day, grab a key from Google AI Studio and export it. BYOK is also the simplest path if the browser round-trip is awkward on your setup.
$ echo 'export GEMINI_API_KEY="your-key-here"' >> ~/.bashrc
$ source ~/.bashrc
$ echo ${GEMINI_API_KEY:0:6}...
AIza...
Step 5: Run your first Gemini prompt
$ git clone https://github.com/your-org/your-project.git && cd your-project
$ gemini
gemini 0.12.0
workspace: /home/cosyra/your-project
model: gemini-2.5-pro
> Summarize the repo structure and flag any
files with more than 500 lines.
Gemini reads the repo, summarizes it, and lists long files. You see the result on your phone screen. The 1M-token context window means it can ingest a lot of code in one pass — useful when you are triaging a repo you have not touched in months.
Try it free. 1 hour on signup, no credit card. Extend with a 10-hour, 7-day trial when you want more. Gemini free tier included. App Store / Google Play / Pricing details
What can you actually do with Gemini on your phone?
The unlock on a phone is specifically Gemini 2.5 Pro's 1-million-token context window: you can paste or reference a large amount of code in one prompt and still get a coherent answer. Three real sessions we run from a phone.
Triage a large repo on the train
You inherited a service with 40 files you have never read. Open Cosyra,
cd in, run gemini, type "summarize what this
service does, its public API, and the three riskiest files." The 1M-token
window means Gemini can look at most of the codebase in one pass on a
moderate service. You get an overview before your stop.
Generate tests for a module from the couch
Saturday morning. Pick a file that needs tests. "Read
src/billing/invoice.ts and write a Vitest suite covering the three
pricing tiers and the proration edge cases." Gemini proposes the test file, you
review, approve, run.
Explain a third-party library when you are stuck
Pager does not need to be going off. Sometimes you just want to understand
what a hairy library does before you commit to using it. Paste its README
into gemini with "explain the mental model I should have before I
use this." The free tier's 1M context is enough to take the whole README plus
a couple of example files.
What are the real limits of running Gemini CLI on a phone?
The real limits are no offline mode, the free tier caps at 60 rpm / 1000 rpd (generous but real), Gemini 2.5 Pro is not always the best model for every task, and Google's free-tier terms can change. Knowing where Gemini stops helps you match it to the right job instead of fighting it.
- No offline mode. The container and the Gemini API both live in the cloud. No internet, no Gemini. If you code on planes with no wifi, this is not the right tool for that slot.
- Free-tier caps are real. 60 requests per minute is a lot for interactive use and not enough for a long autonomous agent run that fires dozens of tool calls in sequence. Hit the 1000/day cap and you wait until tomorrow or add a paid key.
- Gemini 2.5 Pro is not always the right model. For deep code reasoning we often prefer Claude Code. For iterative shell work we often prefer Codex. We use Gemini specifically for large-context ingestion tasks, research-style summaries, and the free-tier economics. See our AI coding agents on mobile pillar for the honest cross-agent comparison.
- Google can change the free tier. The 60 rpm / 1000 rpd numbers are current as of 2026-04-18. Google has a history of adjusting Gemini free-tier terms on short notice. Re-verify before relying on the tier for a production workflow.
- No Docker-in-Docker guarantee inside the container. If your
project's tests need
docker, verify before committing to phone-only.
How does Cosyra compare to Termux and Blink+VPS for Gemini CLI?
Cosyra wins for zero-setup, dual-platform use, and skipping the Termux native-build drama; Termux wins if you are an Android power user who accepts the pinning tax; Blink plus a VPS wins on iOS if you want a box you own. None is strictly best; each maps to a trade-off. Comparison as of 2026-04-18.
| Feature | Cosyra | Termux + workarounds | Blink + VPS |
|---|---|---|---|
| Gemini CLI pre-installed | Yes | No (brittle on recent versions) | You install on VPS |
| Platforms | iOS + Android | Android only | iOS only |
| Free tier (Gemini side) | 60 rpm / 1000 rpd on personal Google account | 60 rpm / 1000 rpd | 60 rpm / 1000 rpd |
| Requires always-on machine | No | No (local only) | Yes (your VPS) |
| Native-build breakage risk | No | Yes (tree-sitter, clipboardy) | No |
| Setup time (cold) | ~3 min | 30 min + troubleshooting | 30 to 60 min |
| Price (not counting tokens) | $29.99/mo after trial | Free | $19.99/yr + VPS (~$5–40/mo) |
For the broader picture across all four AI agents on mobile, see our pillar guide on AI coding agents on mobile. For the same walkthrough with Anthropic's tool, see Claude Code on phone; for OpenAI's, see Codex CLI on phone; for the open-source alternative that lets you swap models without rewriting your config, see OpenCode on phone.
Frequently asked questions
Can you run Google Gemini CLI on a phone?
Yes, indirectly. Gemini CLI wants a real Linux or macOS shell with Node 20 or newer. The three working paths are a cloud Ubuntu container you reach from a native mobile app (Cosyra), Termux on Android with install workarounds, or Blink Shell on iOS into a VPS. The Gemini CLI README on GitHub lists macOS and Linux explicitly; there is no iOS or Android build.
[source: GitHub, google-gemini/gemini-cli README]
What is Gemini CLI's free tier?
Signing into Gemini CLI with a personal Google account unlocks 60 model requests per minute and 1,000 requests per day on Gemini 2.5 Pro with its full 1-million-token context window, at no charge and with no API key required. Google described it at launch as "the industry's largest allowance" for unpaid access. Beyond that, you attach a Google AI Studio or Vertex AI key for usage-based billing.
[source: Google blog, Introducing Gemini CLI]
Does Gemini CLI install cleanly on Termux on Android?
Not reliably on recent versions. The repo has multiple user-filed issues
reporting install and build failures on Termux/arm64, and a separate
clipboardy-mis-detection bug was closed by Google as "not planned."
Working paths today are --ignore-scripts, pinning to an older
version, or using a Termux-focused community fork. For reliable Gemini CLI
on Android phones, a cloud x86_64 container is the least brittle option.
[source: GitHub, gemini-cli issue #13784]
What Node.js version does Gemini CLI need?
Node.js 20.0.0 or newer, according to the installation docs. On Termux you
get it with pkg install nodejs; on macOS or Linux,
nvm install 20 or your package manager of choice. In Cosyra, Node
20+ is already on the image, so you do not see this step at all.
[source: Gemini CLI installation docs]
Is there a Termux-friendly Gemini CLI fork?
Yes. DioNanos/gemini-cli-termux on GitHub is an independent fork "optimized for Termux with Android integration." It exists because the upstream Gemini CLI has repeated Termux install issues, some of which Google has declined to fix. If you are committed to the Termux path, it is worth a look; if you want the fastest setup without maintaining a fork, a cloud container is simpler.
[source: GitHub, DioNanos/gemini-cli-termux]
Is there an official Google Gemini CLI mobile app?
No. As of 2026-04-18, Google publishes Gemini CLI as a Node.js package for macOS, Linux, and Windows desktops. There is no App Store or Play Store build and no feature inside the Gemini mobile app that drives the CLI remotely. Community setups bridge the gap by running the CLI on a Linux box you control and pointing a phone at it; Cosyra does the hosting for you.
[source: GitHub, google-gemini/gemini-cli — package distribution]
tl;dr
Gemini CLI runs on Linux or macOS with Node 20+, not on phones directly. Three bridges: a cloud Ubuntu container with Gemini pre-installed (Cosyra), Termux on Android with workarounds, or Blink Shell on iOS into a VPS. We recommend the cloud container for most people because the Termux path is currently brittle and the free tier's 1000 rpd is plenty for interactive phone use.
App Store / Google Play. Sign up — 1 hour free, no credit card. Extend with a 10-hour, 7-day trial when you want more.
Run Gemini CLI from your phone in three minutes.
Install Cosyra, sign in with a Google account, type gemini.