Welcome! Type "help" for available commands.
$
Loading terminal interface...
Back to Blog

Google's Jules AI Agent: Autonomous Coding and Environment Setup Guide

May 21, 2025
William Callahan

Software engineer, founder, and leadership background in finance/tech. Based in San Francisco.

aigooglejulespackage-managerspnpmbunyarncoding-agents
Google's Jules AI Agent: Autonomous Coding and Environment Setup Guide

Jules overview

Jules is Google's autonomous coding service released during Google I/O 2025. It runs on managed Google Cloud VMs, connects to GitHub repositories, and executes tasks asynchronously. Jobs run until completion and return a diff, plan, and reasoning trace.

Google's Jules: An Autonomous & Asynchronous Coding Agent

  • Public free beta at jules.google (access requires a Google account)
  • GitHub App installation is mandatory; Jules reads repositories through that integration
  • Jobs execute inside a temporary VM, and each run has a default 60-minute cap

Feature summary

  • Planning and diff output – every run publishes the plan, intermediate reasoning, and final patch set before prompting for approval.
  • Long-context models – Jules uses Gemini 2.5 Pro; requested context is capped at roughly 200k tokens during the beta.
  • Audio recap – optional short audio summary for teams that prefer listening to changelog updates.
  • Tool execution – runs shell commands, package managers, and tests inside /app; all commands are logged in the dashboard.

The agent’s behavior resembles a remote engineer: it clones the repo, performs the scripted setup, runs tasks, and leaves artefacts you can review.

Session workflow

  1. Create a project in the Jules dashboard.
  2. Provide repository access, then hit Configure to define setup commands.
  3. Submit a natural-language task. Jules runs the plan, opens pull requests when asked, and exposes logs in the web UI.
  4. You can interrupt a run at any stage; the VM is destroyed afterward.

The agent does not currently support self-hosted runners or on-prem repositories. All execution happens in Google's environment.

Default tools

AreaDefault behavior
RuntimeNode.js 22, Python 3.12, Java 21 images available.
Package managersnpm is detected automatically; pnpm, Bun, or Yarn require manual configuration.
AuthEnvironment variables defined in the configuration UI are injected before the setup script runs.
OutputEach task produces a diff, plan summary, and optional audio recap.

Custom package manager setup

Add a setup script under Configuration → Environment. Jules runs this script before executing tasks. Jules doesn't properly detect alternative package managers like pnpm and Bun automatically. You need to configure these manually using custom setup scripts in the Configuration tab of your Jules project:

pnpm

set -ux
export CI=true
cd /app

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$HOME/.nvm"
if [ -s "$NVM_DIR/nvm.sh" ]; then
  set +e; \\. "$NVM_DIR/nvm.sh"; NVM_SOURCE_STATUS=$?; set -e
  if [ $NVM_SOURCE_STATUS -ne 0 ] && [ $NVM_SOURCE_STATUS -ne 3 ]; then
    echo "ERROR: NVM sourcing failed: $NVM_SOURCE_STATUS"; exit 1
  fi
else
  echo "ERROR: NVM script not found"; exit 1
fi
set -e

nvm install 22 && nvm use 22 && nvm alias default 22
npm install -g pnpm@10
pnpm install --frozen-lockfile

Bun

set -ux
export CI=true
cd /app

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$HOME/.nvm"
if [ -s "$NVM_DIR/nvm.sh" ]; then
  set +e; \\. "$NVM_DIR/nvm.sh"; NVM_SOURCE_STATUS=$?; set -e
  if [ $NVM_SOURCE_STATUS -ne 0 ] && [ $NVM_SOURCE_STATUS -ne 3 ]; then
    echo "ERROR: NVM sourcing failed: $NVM_SOURCE_STATUS"; exit 1
  fi
else
  echo "ERROR: NVM script not found"; exit 1
fi
set -e

nvm install 22 && nvm use 22 && nvm alias default 22
curl -fsSL https://bun.sh/install | bash
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
bun install

These scripts:

  • Install NVM (Node Version Manager)
  • Set up Node.js 22 (latest stable)
  • Install the latest version of your chosen package manager
  • Install project dependencies with frozen lockfiles

Here's how Jules compares to other major AI coding assistants:

  • OpenAI Codex (Introducing Codex): Recently released as a research preview, Codex offers a polished UI with inline diff views and a mobile app. However, it currently lacks direct network access within requests and two-way GitHub sync that Jules provides.

  • GitHub Copilot Agent: Building on the popular Copilot, this agent now offers asynchronous code testing and generation. While it integrates well with GitHub (naturally), it doesn't have the same level of VM-based execution environment as Jules.

  • Devin (devin.ai): One of the first autonomous coding agents, Devin offers two-way GitHub integration and real-time preview deployments on Vercel. Its IDE-like controls allow engineers to iterate naturally via Slack or its native UI.

  • Manus (manus.im): Specializes in code reviews and PR workflows, excelling at rapid context switching and fetching relevant code references within active pull requests.

When choosing between these tools, consider your specific workflow needs—such as network access requirements, GitHub integration depth, UI preferences, and CI/CD integration capabilities.

When to use Jules vs. local tooling

Jules has been reliable for dependency upgrades, regenerating SDKs, and running large-formatting tasks that take longer than a local machine allows. For urgent hotfixes or code that depends on local services, a conventional shell is still faster. Treat the agent as a remote worker that follows scripts literally—every successful job starts with a clean, reproducible setup phase.

Beta limitations and privacy

  • Usage limits – during public beta the service is free but throttled; Google has indicated a paid tier will replace the free allowance when the beta closes.
  • Data handling – Google states that private repositories processed through Jules are not used to train models and stay within the temporary execution environment.
  • Unsupported environments – self-hosted Git or non-GitHub remotes are not yet available; every job clones from GitHub via the installed app.

Similar Content

HomeExperienceEducationCVProjectsBookmarksInvestmentsContactBlog
Welcome! Type "help" for available commands.
$
Loading terminal interface...

Similar Content

Related Bookmarks

LINK
June 20, 2025
GitHub - opencode-ai/opencode: A powerful AI coding agent. Built for the terminal.

GitHub - opencode-ai/opencode: A powerful AI coding agent. Built for the terminal.

A powerful AI coding agent. Built for the terminal. - opencode-ai/opencode

ai coding toolsgithubdeveloper tools+8 more
github.com
LINK
July 31, 2025
GitHub - charmbracelet/crush: The glamourous AI coding agent for your favourite terminal 💘

GitHub - charmbracelet/crush: The glamourous AI coding agent for your favourite terminal 💘

The glamourous AI coding agent for your favourite terminal 💘 - charmbracelet/crush

ai coding toolsai coding assistantsgithub+9 more
github.com
LINK
August 6, 2025
GitHub - langchain-ai/open-swe: An Open-Source Asynchronous Coding Agent

GitHub - langchain-ai/open-swe: An Open-Source Asynchronous Coding Agent

An Open-Source Asynchronous Coding Agent. Contribute to langchain-ai/open-swe development by creating an account on GitHub.

ai coding agentslanggraphopen source projects+10 more
github.com

Related Investments

INV
December 31, 2020
Heroes Jobs

Heroes Jobs

The app for Gen Z searching for a job

hr & recruitingseed+realized+6 more
INV
December 31, 2021
AirGarage

AirGarage

Full-service parking operator platform managing operations, payments, and enforcement for parking real estate.

transportationseries aactive+8 more
aVenture
INV
December 31, 2021
FlutterFlow

FlutterFlow

No-code platform for building native mobile applications using Flutter, enabling rapid app development without coding.

developer toolsseed+active+8 more
aVenture

Related Articles

BLOG
September 25, 2025
How to Secure Environment Variables for LLMs, MCPs, and AI Tools Using 1Password or Doppler

How to Secure Environment Variables for LLMs, MCPs, and AI Tools Using 1Password or Doppler

Stop hardcoding API keys in MCP configs and AI tool settings. Learn how to use 1Password CLI or Doppler to inject secrets just-in-time for Claude, Cur...

security1passworddoppler+13 more
William CallahanWilliam Callahan
BLOG
June 3, 2025
Automated Sitemap Submissions: Bing & Google Guide

Automated Sitemap Submissions: Bing & Google Guide

Configure a Node.js/TypeScript application to automatically submit sitemaps to Bing (IndexNow) and Google Search Console using service account credent...

sitemapseogoogle+15 more
William CallahanWilliam Callahan
BLOG
April 8, 2025
How to setup the Java SDK and use JavaFX with macOS/Windows

How to setup the Java SDK and use JavaFX with macOS/Windows

A modern guide to setting up Java development with JavaFX on macOS and Windows using IntelliJ IDEA or VS Code. While setting `JAVA_HOME` is still usef...

macosjavazsh+12 more
William CallahanWilliam Callahan

Related Projects

PRJ
repo-tokens-calculator

repo-tokens-calculator

CLI token counter (Python + tiktoken + uv) with pretty summary

clipythontiktoken+11 more
PRJ
ComposerAI

ComposerAI

AI email client / mailbox for agentic search and tasks

aiemail clientllm+13 more
PRJ
SearchAI

SearchAI

AI-powered web search with a contextual chat assistant

aiweb searchchat assistant+14 more