Skip to content

// guides

Jules on Your Phone: What Actually Works

Using Jules on a phone works in one direction and not the other. Jules is Google's asynchronous coding agent, and it runs in a Google Cloud VM, not on your phone. So you can trigger and approve a task from a mobile browser at jules.google or by adding the jules label to a GitHub issue, and Jules opens a pull request you review. What you cannot get is an interactive terminal into that VM. If you want a real shell on the phone, install Cosyra for iOS or Cosyra for Android and drive an agent in a cloud container — you can even run @google/jules inside it. 1 hour free on signup, no credit card.

This guide was written by the Cosyra team. We triggered Jules tasks from a phone browser and from a GitHub issue label, installed the @google/jules CLI in a container, and cross-checked every claim against jules.google, the @google/jules npm registry listing, and the unofficial jules-mobile-client repo, all verified 2026-06-09.

The one thing people get wrong about Jules on a phone: both "you can't use Jules from a phone" and "Jules is a terminal agent you drive from your phone like Claude Code" are wrong, in opposite directions. Because the agent runs in Google's cloud, you can assign and approve tasks from a phone with zero local setup. But Jules gives you no interactive shell — it plans, edits, and opens a PR autonomously. The real question is not "is there an app" but "do you want a PR or a live terminal," and those are two different tools.

Decision diagram: Jules is Google's async coding agent running in a Google Cloud VM with no official native app as of 2026-06-09. From a phone you can trigger and approve a task two ways — jules.google in a browser or the jules GitHub label — and the agent opens a pull request, but you get no interactive shell. For a real terminal, a Cosyra cloud Ubuntu container has four agent CLIs pre-installed and can also run npm install -g @google/jules to queue Jules tasks. Jules is Gemini-only: Gemini 2.5 Pro free, Gemini 3 Pro paid.
What "Jules on a phone" actually means, and where the agent runs in each path — diagram, verified 2026-06-09 against jules.google, the @google/jules npm listing, and linkalls/jules-mobile-client.

What is Jules?

Jules is Google's autonomous coding agent. You give it a task against a GitHub repo, and it clones your codebase into a secure Google Cloud VM, understands the project, then writes tests, builds a feature, fixes a bug, or bumps a dependency and opens a pull request for you to approve. It went generally available on 2025-08-06 after a public beta at Google I/O. The homepage tagline, read first-hand on 2026-06-09, is "Jules does coding tasks you don't want to do."

The detail that defines Jules, and the reason "Jules on a phone" needs care, is that it is asynchronous. Claude Code, Codex CLI, and Gemini CLI are interactive: you sit in a shell and watch the agent work, step in, run a command, change direction. Jules is fire-and-forget: you describe a goal, walk away, and come back to a PR. That shape is great for "fix this while I'm on the train" and wrong for "let me poke around the repo with my hands on it."

The opinion we hold that the Jules-is-all-you-need crowd will push back on: an async PR bot is not a substitute for a terminal, and pretending it is leaves you stuck the moment a task needs a human in the loop. Jules is genuinely good at self-contained chores. But when you need to read a stack trace live, run an ad-hoc query, or drive an agent interactively from the couch, you want a shell — and Jules does not have one. The honest setup is to use both: Jules for the walk-away tasks, a real terminal for everything else.

How can you use Jules from a phone?

You can reach Jules from a phone three ways, and the deciding factor is what you want back: a pull request, or a live terminal. All current as of 2026-06-09.

1. jules.google in a mobile browser

The web app is responsive and works in a phone browser. Sign in with Google, pick a connected repo and branch, type a task, review the plan, and approve. Jules runs the work in its cloud VM and opens a PR. This is the zero-setup path: nothing to install, device-agnostic.

2. The "jules" GitHub label from the GitHub mobile app

Install the Jules GitHub app on a repo, then add the jules label to an issue from the GitHub mobile app. Jules picks up the issue, works it in the cloud, and opens a PR. This is the most phone-native trigger because it lives inside a flow you already use, with no separate tool to open.

3. A cloud container for the shell Jules doesn't give you

This is what we built: a native iOS and Android terminal connected to a persistent Ubuntu 24.04 container. Claude Code, Codex CLI, OpenCode, and Gemini CLI are pre-installed, so you get an interactive agent on the phone today. And because it is a real shell, you can run npm install -g @google/jules inside it to queue and watch Jules tasks from the same terminal — the interactive and the async, side by side.

How do you trigger and approve Jules from your phone?

You drive Jules from a phone in about five minutes: trigger a task from the web app or a GitHub label, let it run in Google's cloud, review the PR, and keep a real terminal alongside for the hands-on work. Here is each step.

Step 1: Trigger a task from a mobile browser

Open jules.google in your phone's browser and sign in with Google. Pick a connected GitHub repo and branch, type the task in plain English, and review the plan. The agent runs in a Google Cloud VM, so the work happens server-side while you put the phone down.

jules, assigning a task from a phone browser

jules.google — signed in as you@gmail.com

repo: your-org/your-project branch: main

task: add retry with backoff to the fetch in src/api/client.py

Jules: cloning into Google Cloud VM...

Jules: plan ready — review and approve

Step 2: Or assign a task with the GitHub label

Install the Jules GitHub app, then add the jules label to an issue from the GitHub mobile app. Jules works the task in the cloud and opens a PR against your branch. Nothing runs on the phone; the label is the trigger.

github mobile, labeling an issue for jules

Issue #214: flaky test in tests/test_invoice.py

+ label: jules

Jules: picked up #214, running in cloud VM

Jules: opened PR #215 — review the diff

Step 3: Review and approve the pull request

When Jules finishes it opens a PR. Read the diff in the GitHub mobile app or a browser, request changes if you need them, and merge when it looks right. You approve an outcome, not a live session — that is the async shape of Jules.

Step 4: Add an interactive shell with a container

For the live terminal Jules does not give you, open a Cosyra container. Claude Code, Codex CLI, OpenCode, and Gemini CLI are already there, and you can install the @google/jules CLI to queue Jules tasks from the same prompt. We ran this in a fresh container and jules --version reported 0.1.42.

cosyra, installing the jules cli in a container

$ npm install -g @google/jules

added 1 package — jules 0.1.42

$ jules --version

0.1.42

# remote control of cloud sessions, not a local agent

Try it free. 1 hour on signup, no credit card. Extend with a 10-hour, 7-day trial when you want more. Claude Code, Codex CLI, OpenCode, and Gemini CLI come pre-installed; add the Jules CLI with one install command. App Store / Google Play / Pricing details

What can you actually do with Jules from a phone?

The honest pitch for Jules on a phone is an autonomous agent that finishes a self-contained chore while you are not looking. Three sessions we run from a phone.

Fan out a chore from the train

You have a bounded task: bump a dependency and fix what breaks. On the train, open jules.google or label the issue, describe it, and put the phone away. Jules works it in the cloud and the PR is waiting when you check back at the next stop. This is the workflow Jules is built for.

Triage a failing test from the couch

Saturday morning, CI is red. Add the jules label to the issue: "the test in tests/test_invoice.py is failing, find out why and fix it." Jules reads the traceback, edits the code, and opens a PR. You review the diff on the phone and decide whether to merge. No machine to keep on, no shell to babysit.

Drive an interactive agent when the task needs your hands

Some work is not fire-and-forget: you want to read files, run a one-off query, or steer an agent turn by turn from the kitchen table. That is where a real terminal earns its place. Open a Cosyra container, run Gemini CLI or another pre-installed agent, and keep Jules for the walk-away tasks. For the cross-agent view, see the AI coding agents on mobile pillar. On a tablet the trigger-and-review side of Jules is roomier with a keyboard — our Jules on iPad guide covers what Stage Manager and Safari add, and where the same no-terminal gap remains.

What are the real limits of Jules on a phone?

Knowing where this stops helps you match Jules to the right job instead of fighting it.

Who should use Jules, and who should add a terminal?

Use Jules from a phone if your tasks are self-contained, you like a GitHub-label-driven flow, you are happy on Gemini, and a PR is the outcome you want. Add a cloud terminal if you want to inspect a repo live, run arbitrary commands, choose your own model across four pre-installed agent CLIs, or drive an agent turn by turn — the things Jules deliberately does not do. Most days we want both: Jules for the walk-away chores, a real shell for everything hands-on.

For the same walkthrough with interactive agents that run in the container, see Gemini CLI on phone and Codex CLI on phone.

Frequently asked questions

Can you use Jules on a phone?

Yes for triggering and approving, no for an interactive terminal. Jules is Google's asynchronous coding agent: it runs in a Google Cloud VM, not on your phone. You can open jules.google in a mobile browser or add the jules label to a GitHub issue from the GitHub mobile app, and Jules works the task and opens a pull request you review. What you cannot do is get a shell into that VM. For a real terminal on the phone, run a cloud Ubuntu container and drive an agent there instead.

Is there a Jules iOS or Android app?

No official native app, as of 2026-06-09. The jules.google page lists only the web app, the GitHub integration, a REST API, and the @google/jules CLI. The single mobile client is unofficial and third-party: linkalls/jules-mobile-client (24 stars, BSD-2-Clause, last pushed 2026-05-23), and its own description says it only browses sessions and chats on iOS, Android, and web. It does not give you a shell either.

Does installing the @google/jules CLI run Jules on my phone?

No. The @google/jules CLI (latest 0.1.42, published 2025-12-16) is a remote control of cloud sessions, not a local runtime. Its docs describe the remote command as the primary way to interact with Jules sessions running in the cloud. Installing it in a container or in Termux lets you queue and watch tasks, but the agent always executes in a Google Cloud VM. It needs Node.js to run.

What model does Jules use, and can I bring my own?

Jules is Gemini-only. The free tier runs Gemini 2.5 Pro; the paid Pro and Ultra tiers run Gemini 3 Pro with priority access, as of 2026-06-09. There is no option to point the agent at Claude or GPT. If you want provider choice, an interactive agent like Gemini CLI, Claude Code, Codex CLI, or OpenCode in a cloud container is BYOK and lets you pick your model.

How much does Jules cost?

Jules has a free tier of 15 tasks per day with 3 concurrent tasks on Gemini 2.5 Pro. Jules in Google AI Pro raises that to 100 tasks per day and 15 concurrent on Gemini 3 Pro; Jules in Google AI Ultra is 300 tasks per day and 60 concurrent, verified 2026-06-09 on jules.google. These are task-metered tiers tied to a Google AI subscription, which is a different shape from an always-on machine you rent by the month.

How is Jules different from Gemini CLI on a phone?

Gemini CLI is an interactive terminal agent: you run it in a shell, watch it work step by step, and steer it live. Jules is asynchronous: you assign a task, it runs autonomously in a cloud VM, and it returns a pull request. Gemini CLI is one of the four agents we pre-install in Cosyra, so you get a live Gemini agent on the phone today; Jules is the fire-and-forget version that hands you a PR instead of a session. See Gemini CLI on phone for the interactive path.

tl;dr

Jules is Google's asynchronous coding agent — it runs in a Google Cloud VM and opens a pull request for you to approve. From a phone you can trigger and approve tasks at jules.google or by adding the jules label to a GitHub issue, but Jules gives you no interactive terminal, and there is no official iOS or Android app (2026-06-09; the one mobile client is unofficial and browse-only). Jules is Gemini-only. For a real shell on the phone, run a Cosyra container with four agent CLIs pre-installed — and install @google/jules inside it to queue Jules tasks from the same terminal.

App Store / Google Play. Sign up for 1 hour free, no credit card. Extend with a 10-hour, 7-day trial when you want more.

Get the terminal Jules doesn't give you. Install Cosyra, open a container, drive a pre-installed agent, and run npm install -g @google/jules to queue Jules tasks alongside.

See pricing