Article
Google Jules: Asynchronous Coding Agent and Workflow
Google Jules connects to selected GitHub repositories, plans work, runs tasks in cloud VMs, tests changes, and returns branches or pull requests for review.
Google Jules
Google Jules is an asynchronous software coding agent. It connects to selected GitHub repositories, prepares a cloud development environment, plans a task, modifies code, runs discrete commands and tests, and returns changes for review or publication as a branch or pull request.
The current Jules documentation calls the product experimental and the FAQ describes it as being in public beta. Current plans, models, limits, supported integrations, and account eligibility can change quickly.
Product at a glance
| Surface | Current documented role |
|---|---|
| GitHub connection | Grant Jules access to all or selected repositories |
| Repository task | Select a repository, starting branch, and bounded prompt |
| Cloud environment | Clone and run the task inside a short-lived Ubuntu VM |
| Plan | Present intended steps and assumptions before or during execution |
| Instructions | Read repository guidance, including AGENTS.md and setup scripts |
| Execution | Modify files, install dependencies, and run discrete tools or tests |
| Review | Show activity, summary, full diff, changed files, runtime, and branch |
| Integration | Publish a branch or pull request and respond to later feedback |
| API | Create and manage sessions, messages, activities, plans, and outputs |
flowchart LR
A["Authorized GitHub repository"] --> B["Repository and branch selection"]
B --> C["Fresh task VM"]
C --> D["Setup and instructions"]
D --> E["Plan"]
E --> F["Code and test execution"]
F --> G["Diff and task summary"]
G --> H["Branch or pull request"]
H --> I["Independent review and merge policy"]
The diagram shows the public workflow. It does not imply that every plan waits indefinitely for manual approval or that every completed task produces correct code.
Repository access
Jules uses a GitHub application. The getting-started guide lets the user authorize all repositories or a selected set. Current task and repository documentation says Jules can access only repositories explicitly allowed through GitHub and that access can be changed in GitHub settings.
Repository selection is a consequential boundary. A private repository can contain source code, documentation, configuration, test fixtures, history, and accidental secrets. Grant only the repositories needed for the intended work and review the application permissions periodically.
The E107 transcript includes Dalton accidentally adding a recommended repository during the early interface. That is a dated first-person observation, not a description of the current enrollment flow.
Environment and setup
Each Jules task runs in a short-lived virtual machine where the repository is cloned, dependencies can be installed, and tests can run. The current environment includes common language runtimes and developer tools.
Repositories can provide setup commands and environment snapshots. AGENTS.md and README files can explain build, test, architecture, and contribution expectations.
The VM has internet access. Google's FAQ tells users to treat it like a public or shared compute surface, avoid committed secrets, and review dependencies, scripts, and non-code files.
An isolated VM reduces direct interference with the developer's local workspace. It does not remove supply-chain, network, repository, credential, or external-service risk.
Plans and approval
The web workflow presents a plan that the user can review and revise. Current plan-review documentation says the web plan can eventually auto-approve on a timer if the user leaves.
The API makes the boundary explicit. A session has a requirePlanApproval setting. The current sessions reference says a plan requires explicit approval only when that value is true. API sessions otherwise auto-approve plans.
A plan is useful because it exposes intended scope before the full diff exists. It is not a security guarantee or contract. A good plan identifies the requirement, files or components likely to change, tests, migrations, external calls, assumptions, and stop conditions.
Code review and GitHub integration
Jules shows a full diff and task summary. The current code-review documentation describes changed files, runtime, lines changed, branch and commit information, interactive feedback, and publishing a branch or pull request.
Jules can respond to pull-request comments. It can also automatically address some CI failures on pull requests it created, according to the February 2026 CI Fixer announcement.
Those loops increase speed. They can also make the same agent author code, write tests, respond to review, and repair failing checks. Independent acceptance criteria, reviewer judgment, protected branches, and external tests remain important.
Parallel work
Jules can run multiple tasks simultaneously. Each task has its own VM, logs, environment, and code changes.
Execution isolation does not guarantee integration isolation. Two tasks can change different files while depending on incompatible assumptions. They can both update a shared schema, dependency version, API contract, or behavior.
Current limits and plans provide different task and concurrency allowances. Do not preserve those figures as evergreen facts. Recheck the plan page on publication.
Concurrency should follow review and integration capacity rather than the highest available limit.
Environment variables and secrets
Jules supports repository-level environment variables that can be enabled for a task. Once enabled, the variables remain available for the task's duration.
Use test credentials with minimum scope. Identify which command, dependency, agent step, or external service can read the value. Review logs and artifacts for leakage. Do not use a production secret merely to make a demonstration work.
E107 contains an unresolved question about how a required API credential became available. The public episode package treats that uncertainty as a security finding. It does not speculate about the source or reproduce the credential.
API and automation
The Jules REST API uses an API key and exposes sessions, activities, sources, and related types. A session can require plan approval or use AUTO_CREATE_PR.
The current authentication guide says the key should remain secret and recommends an environment variable rather than source control.
Programmatic access makes scheduled and large-scale workflows possible. It also makes it easier to create tasks without a visible plan review. Store the API key securely, require explicit approval where risk warrants it, limit source access, log automation, and prevent automatic merge into protected branches.
MCP and external tools
Google added selected MCP server connections for services including Linear, Stitch, Neon, Tinybird, Context7, and Supabase. The announcement says Google began with a vetted list and API-key authentication.
Availability, permissions, data flow, and tool behavior require a current check. A vetted connector is not permission to expose source code, use a production database, or perform an external write.
Appropriate work
Jules fits bounded repository tasks with a clear outcome, reproducible setup, discrete commands, and reviewable changes. Examples can include focused tests, documentation, a contained bug, a dependency update, or a feature behind a defined interface.
Exploratory architecture, ambiguous product decisions, incident response, production secrets, large migrations, unfamiliar high-risk code, and changes that require rapid human steering may fit an IDE or paired workflow better.
Read [[Asynchronous Coding Agents vs IDE Assistants]] for the task-shape comparison.
Venture Step conversation
Episode 107 records Dalton using an early Jules interface to create a small Go backend and local demonstration. The SRT transcript supports the sequence but not an independent code-quality or security conclusion.
Read [[What Happened When Jules Built a Go Backend]] and [[How to Review an AI-Generated Pull Request]].
Official links
Use the Jules product site, getting-started guide, FAQ, environment documentation, code review guide, API reference, and changelog.
Editorial and verification notes
This profile was checked on July 27, 2026. Recheck product state, plans, limits, models, account eligibility, repository permissions, VM tools, internet access, environment variables, memory, integrations, API behavior, PR automation, and data-use language before publication.
Google says private repository content is not used to train Jules. That is a current first-party policy statement. It does not remove the user's responsibility for repository authorization, secret handling, dependency safety, code review, tests, and release governance.
AI assisted with research organization and drafting. Dalton Anderson remains responsible for the product boundary and publication decision.
Sources
Follow the evidence.
- Gemini 1.5 developer updateblog.google
- May 2024 AI Overviews announcementblog.google
- Google I/O 2024 announcement indexblog.google
- Current Google Search AI feature documentationdevelopers.google.com
- NotebookLM June 2024 global updateblog.google
- Gemini Notebook privacy and termssupport.google.com
- Current Gemini Notebook helpsupport.google.com
- NotebookLM December 2023 updateblog.google
- Gemini Advanced May 2024 updateblog.google
- Gemini API changelogai.google.dev
- Gemini Notebook product renameblog.google
- SynthID text and video announcementdeepmind.google
- Original NotebookLM announcementblog.google