
Share
Jules Tools brings Google's asynchronous coding agent to the command line, empowering developers to integrate Jules seamlessly into their terminal workflows for enhanced productivity and efficiency.
By Jiahao Cai, Staff Software Engineer, Labs and AK Kulkarni, Product Manager, Google Labs
Google’s asynchronous coding agent, Jules, has been a game-changer for developers, handling tasks like writing tests, building features, providing audio changelogs, fixing bugs, and managing dependencies. Until now, Jules was primarily accessible through a web interface. But we know that developers live in the terminal-where they test, build, debug, and ship code. That’s why we’re excited to introduce Jules Tools, a lightweight command-line interface (CLI) that brings Jules directly into your workflow.
Jules already operates in the background, executing tasks on remote VMs and syncing with your repositories. When you initiate a task, it spins up a temporary VM, performs the work, and submits a pull request. The process is entirely asynchronous, meaning nothing runs until you explicitly ask for it. The command line interface adds an extra layer of control and visibility, making Jules programmable, scriptable, and highly customizable.
Getting started with Jules Tools is straightforward. The easiest way to install it is via npm:
npm install -g @google/jules-tools
This command installs the global package, making jules available in your terminal. Running jules --help will display a guide and show you how Jules Tools works.
Commands tell Jules what to do. For example:

List Remote Tasks:
jules tasks list
This command fetches and displays all the remote tasks currently managed by Jules.
Start a New Task:
jules task start --repo=your-repo-url --branch=feature-branch --description="Add new feature"
This initiates a new task, specifying the repository, branch, and a brief description of the task.
Flags allow you to customize Jules’ behavior. For example:
Specify Repository:
jules task start --repo=your-repo-url
This flag tells Jules which repository to work on.
Set Task Priority:
jules task start --priority=high
This flag sets the priority of the task, ensuring it gets processed faster.
Let’s walk through a simple example of using Jules Tools in your development workflow:
List All Tasks:
jules tasks list
Start a New Task:
jules task start --repo=https://github.com/yourorg/yourproject --branch=bugfix-123 --description="Fix critical bug"
Check Task Status:
jules task status <task-id>
Review Pull Request: Once Jules completes the task, it will submit a pull request to your repository. You can review and merge it as usual.
Automate with Scripts: Integrate Jules Tools into your CI/CD pipelines or custom scripts.
# Example script to start multiple tasks in parallel
jules task start --repo=https://github.com/yourorg/project1 --branch=feature1 &
jules task start --repo=https://github.com/yourorg/project2 --branch=feature2 &
wait
Custom Workflows: Create custom workflows using Jules Tools and other CLI tools.
# Example
Tags
Original Sources
About the author
Kai built ML infrastructure at a Bay Area startup before developing an obsession with transformer architectures and inference optimisation that eventually pulled him out of product work entirely. A stint at a compute research lab sharpened his instinct for what actually matters in a model release versus what is marketing. He writes from the inside — from the perspective of someone who has debugged the systems he is describing at three in the morning. He is allergic to hype and instinctively drawn to the unglamorous plumbing questions that everyone else skips over.
More from The Engineer →This Week's Edition
3 October 2025
133 articles
Related Articles
Related Articles
More Stories