Jules Tools Reference
Jules Tools is a lightweight command-line interface (CLI) for interacting with Jules, Google’s asynchronous AI coding agent. It allows you to manage coding sessions, inspect progress, and integrate Jules into your existing development workflows and scripts directly from your terminal.
Think of Jules Tools as both a command surface and a dashboard for your coding agent, designed to keep you in your flow without needing to switch to a web browser.
Installation
Section titled “Installation”To get started, install the tool globally using npm.
npm install -g @google/jules
Once installed, the jules command will be available in your terminal.
Authentication
Section titled “Authentication”Before you can use the tool, you must authenticate with your Google account.
jules login
This command will open a browser window to guide you through the Google authentication process.
Logout
Section titled “Logout”To log out from your account:
jules logout
The CLI is built around commands and subcommands. You can get help for any command by using the -h or —help flag.
# Get general helpjules help
# Get help for a specific command (e.g., remote)jules remote --help
Global Flags
Section titled “Global Flags”-
-h
,--help
: Displays help information for jules or a specific command. -
--theme <string>
: Sets the theme for the terminal user interface (TUI). Options aredark
(default) orlight
.
Example: jules --theme light
Available Commands
Section titled “Available Commands”version
Shows the currently installed version of the Jules Tools CLI.
jules version
remote
The remote
command is the primary way to interact with Jules sessions running in the cloud. It has several subcommands.
remote list
Lists your connected repositories or active sessions.
-
--repo
: Flag to list all repositories connected to Jules. -
--session
: Flag to list all your remote sessions.
Examples:
# List all connected repositoriesjules remote list --repo
# List all active and past sessionsjules remote list --session
remote new
Creates a new remote session to delegate a task to Jules.
-
--repo <repo_name>
: Specifies the repository for the session (e.g., torvalds/linux or . for the current directory’s repo). -
--session "<prompt>"
: A string describing the task for Jules to perform.
Example:
# Start a new session to write unit tests in the 'torvalds/linux' repojules remote new --repo torvalds/linux --session "write unit tests"
remote pull
Pulls the results (e.g., code changes) from a completed session.
--session <session_id>
: The ID of the session you want to pull.
Example:
# Pull the results for session ID 123456jules remote pull --session 123456
completion
Generates an autocompletion script for your shell (e.g., bash, zsh) to enable tab completion for jules commands.
# Generate completion script for bashjules completion bash
Interactive Dashboard (TUI)
Section titled “Interactive Dashboard (TUI)”For a more interactive, visual experience, you can launch the Terminal User Interface (TUI) by running the jules command without any arguments.
jules
The TUI provides a dashboard view of your sessions and guided flows for creating new ones, similar to the web UI.