Google Jules vs Codex: Cloud Coding Agents Compared

Jules and Codex cloud both take a task, work on a copy of your repository on someone else’s machine and hand back a diff. They differ in the plan step, where you can start a task, how limits are counted and what each can connect to. Plus short comparisons with Gemini CLI and the Copilot cloud agent.

8 min read

Google Jules and OpenAI’s Codex cloud are the same kind of tool: you point them at a GitHub repository, describe a task, and they work on a copy of the code in a virtual machine on their side, then hand back a diff you can turn into a pull request. The main differences are in the details. Jules writes a plan and waits for you to approve it before it touches code; Codex starts work and shows you the result. Jules counts tasks per day; Codex draws on the same usage allowance as the rest of your ChatGPT plan. And Codex can be started from more places, including Slack and Linear, while Jules leans on GitHub, its own CLI and a REST API. If your team already pays for one of Google AI or ChatGPT, that usually decides it.

This page covers Jules in depth and Codex cloud only where the two differ. The full Codex cloud walkthrough, from environments to internet access, is in Codex cloud.

The short version

  • Jules: Google’s asynchronous coding agent at jules.google. Each task runs in a fresh VM, starts with a plan you approve, and ends with a branch or a pull request on GitHub.
  • Codex cloud: OpenAI’s coding agent running in containers on OpenAI’s side, started from chatgpt.com/codex, your editor, the terminal, GitHub, GitLab, Slack or Linear.
  • Sign-in: Jules uses a Google account, with higher limits through Google AI Pro and Ultra. Codex cloud needs a ChatGPT sign-in; an API key does not include the cloud features.
  • Limits: Jules publishes daily and concurrent task counts per plan. Codex publishes estimates per model and plan, shared with local use.
  • Neither replaces review. Both give you a diff and a summary, and you still decide what is merged.

What Jules is today

Jules has not been renamed or folded into another product. Google moved Gemini CLI’s individual users to Antigravity in June 2026, but Jules still lives at its own address and its changelog (opens in a new tab) kept adding features through 2026: MCP connections in February, automatic fixes for failing CI checks on its own pull requests, a choice of who is credited as commit author, and newer Gemini models as the base. It left beta in August 2025, although one or two help pages still say otherwise, so read the dated changelog when pages disagree.

It is a delegation tool, not a pair programmer. You do not watch it type in your editor. You hand it a scoped task, leave, and come back to a plan, then to a diff.

How a Jules task runs

  1. Pick a repository and a branch. Jules sees only the repositories you allowed when you installed its GitHub app.
  2. Write the prompt. Google’s examples are specific: “Add a loading spinner while fetchUserProfile runs”, not “make this better”. You can attach PNG or JPEG images at the start.
  3. Jules clones the repository into a short-lived Ubuntu VM, runs your setup script and installs dependencies. A setup you run and snapshot is reused for later tasks on that repository.
  4. It presents a plan: what it intends to do, step by step, with its assumptions. You comment, ask for changes, or approve. If you walk away, the plan is approved automatically on a timer.
  5. It codes, with an activity feed and a diff per file. You can send feedback mid-task, or pause it.
  6. It finishes with a summary of files changed and lines added and removed. You create a branch and open a pull request, or let it open one directly.

The plan step is the design choice that sets Jules apart. Google’s guide to reviewing plans (opens in a new tab) presents it as the moment to catch a wrong direction before any code is written. For a task you have not scoped carefully, that is cheaper than reading a finished diff that solved the wrong problem.

You can also start a task from GitHub without opening Jules: add the label jules to an issue, and Jules comments on the issue and later links the pull request. A repository’s AGENTS.md is read automatically, so the build and test commands you keep there for other agents apply to Jules as well.

Jules from the terminal and from code

Jules Tools is its command line. It is a remote control, not a local agent: tasks still run in Google’s VMs. The Jules Tools reference (opens in a new tab) lists these commands:

Terminal: Jules Tools
npm install -g @google/jules
jules login
jules remote list --repo
jules remote new --repo . --session "write unit tests for the date parser"
jules remote new --session "fix the flaky login test" --parallel 2
jules remote list --session
jules remote pull --session 123456

Running jules with no arguments opens a dashboard in the terminal with a side-by-side diff viewer. For automation there is a REST API, in alpha, authenticated with an API key from Settings. A session is a prompt plus a source repository and starting branch, and an optional automationMode of AUTO_CREATE_PR opens the pull request without you. The API also has calls to approve a plan and to read a session’s activities, which is how you would wire Jules into your own tooling.

Where Codex cloud differs

  • The plan: Codex goes straight to work in its container and comes back with a summary, the logs and a diff. You steer by asking for changes on the result, not by approving a plan first.
  • Where tasks start: the web, the IDE extension, codex cloud in the terminal, an @codex comment on a GitHub pull request, GitLab (in beta), Slack and Linear. Jules has the web, its CLI, the API and the GitHub issue label.
  • Internet access: Codex runs setup with internet access, then turns it off for the agent unless you allow it per environment, with a domain allowlist. Google’s FAQ describes the Jules VM as having internet access, and asks you to treat it like any shared compute.
  • Attempts: codex cloud exec --attempts 3 asks for several versions of the same task. Jules Tools does something similar with --parallel.
  • Accounts: OpenAI’s authentication page (opens in a new tab) says Codex cloud requires signing in with ChatGPT, so an API key alone will not run cloud tasks. Jules needs a Google account, and its paid tiers come through Google AI subscriptions.

Limits, by name

Jules states its limits plainly. On 28 September 2026 its limits and plans page (opens in a new tab) listed 15 tasks a day and 3 at once on the free plan, 100 and 15 for Jules in Pro, and 300 and 60 for Jules in Ultra, counted over a rolling 24 hours. Pro and Ultra come with Google AI Pro and Ultra, which the page says are for individual Google accounts for now; business users are pointed to an interest form. When you hit the limit, new tasks are blocked until the window moves on, and existing tasks stay open for review.

Codex counts differently: cloud tasks and local messages share one allowance that depends on the plan and the model, with five-hour windows and possible weekly limits. How that works, and how to check it, is in Codex usage limits.

Which one to choose

  • You want to approve the approach before any code exists: Jules.
  • You start work from Slack threads or Linear issues: Codex cloud.
  • You already pay for ChatGPT Plus, Pro or Business: Codex cloud comes with it.
  • You already have Google AI Pro or Ultra on a personal account: Jules in Pro or Ultra comes with it.
  • You want an API to create agent sessions from your own scripts: Jules has one, in alpha. Codex’s scripted route is codex cloud exec and its SDK.
  • Your organisation buys through Google Workspace and needs higher Jules limits: check with Google first, because the paid tiers were individual-only when this was written.

Google Jules vs Gemini CLI

Gemini CLI is a local agent: it runs in your terminal, on your files, while you watch. Jules runs in a cloud VM while you do something else. They are complements, not rivals. Access differs too: since 18 June 2026 Gemini CLI no longer serves Google’s individual tiers, which Google points to Antigravity instead, while Jules still offers a free plan and personal Pro and Ultra tiers. Who can still use Gemini CLI, and how it relates to Code Assist, is in Gemini CLI vs Gemini Code Assist.

Google Jules vs the Copilot cloud agent

GitHub’s agent, now called the Copilot cloud agent, is the closest match to Jules: assign an issue, and it works in its own environment and opens a pull request. The difference is where it lives. GitHub’s documentation (opens in a new tab) says it runs in an ephemeral environment powered by GitHub Actions, uses Actions minutes and AI credits, and stops each session after 59 minutes. If your code, reviews and permissions are all in GitHub already, it needs no extra app. Jules suits a team that wants the plan step, or that pays for Google AI rather than Copilot. The details of GitHub’s agent are in the GitHub Copilot coding agent.

Keeping delegated work on one board

Cloud agents make it easy to start work and hard to see it all. A Jules task, two Codex tasks and a Copilot pull request live in three different lists. Keep the list of what was asked, and what came back, in one place. Jules connects only to MCP servers on its own vetted list, and OpenAI describes MCP connections for its local Codex clients, so the board connection belongs with the agent on your machine: Codex CLI, Claude Code or another local agent that reaches fenbs over MCP at https://fenbs.ai/api/mcp.

The loop is plain. Take a task from Next Up, start the cloud task, move the task to In Progress and comment the link. When the pull request merges, set the test status and test notes from what the logs show, and move it to Completed. Each change is recorded in History under the name of whoever made it. What fenbs does not have: an assignee field, due dates or sprints, so say in a comment which agent has the task.

Related

Connect a local agent to the board: Codex CLI on fenbs and the MCP docs. Writing a task an agent can finish alone: how to write a task for an AI agent. Every agent side by side: the best AI coding agents.

Questions people ask.

Is Google Jules the same as Codex?

They do the same job: both take a task, work on a copy of your GitHub repository in a VM on the vendor’s side, and return a diff you can open as a pull request. Jules asks you to approve a plan first and counts tasks per day. Codex cloud starts straight away and shares a usage allowance with the rest of your ChatGPT plan.

Has Google Jules been renamed or replaced by Antigravity?

No. Google moved Gemini CLI’s individual users to Antigravity in June 2026, but Jules still runs at jules.google, and its changelog added features through 2026.

Does Jules have a CLI and an API?

Yes. Jules Tools, installed with npm install -g @google/jules, starts and pulls remote sessions from the terminal. The Jules REST API, in alpha, creates sessions, approves plans and reads activity, authenticated with an API key from Jules settings.

How many tasks can I run in Jules?

On 28 September 2026 Google listed 15 tasks a day and 3 at once on the free plan, 100 and 15 in Pro, and 300 and 60 in Ultra, counted over a rolling 24 hours. Check the Jules limits page, as Google says these may change.

Start with one thing.

There is nothing to set up first. Write one line and you’ve started.