Skip to content

CLI Reference

Rover command reference.

Create a shared configuration for this project

Usage:

rover init [options] [path]

Options:

  • -y, --yes: Skip all confirmations and run non-interactively

Show the tasks from current project or all projects

Usage:

rover list [options]

Options:

  • -w, --watch [seconds]: Watch for changes (default 3s, or specify interval)
  • --json: Output in JSON format

Aliases: ls

Create and assign task to an AI Agent to complete it

Usage:

rover task [options] [description]

Options:

  • --from-github <issue>: Fetch task description from a GitHub issue number
  • --workflow, -w <name>: Use a specific workflow to complete this task
  • -y, --yes: Skip all confirmations and run non-interactively
  • -s, --source-branch <branch>: Base branch for git worktree creation
  • -t, --target-branch <branch>: Custom name for the worktree branch
  • -a, --agent <agent>: AI agent with optional model (e.g., claude:opus, gemini:flash). Repeat for multiple agents. Available: claude, codex, cursor, gemini, qwen
  • --network-mode <mode>: Network filtering mode for the container
  • --network-allow <host>: Allow network access to host (domain, IP, or CIDR). Can be repeated.
  • --network-block <host>: Block network access to host (domain, IP, or CIDR). Can be repeated.
  • --json: Output the result in JSON format
  • --sandbox-extra-args <args>: Extra arguments to pass to the Docker/Podman container (e.g., “—network mynet”)

Restart a new or failed task

Usage:

rover restart [options] <taskId>

Options:

  • --json: Output the result in JSON format

Stop a running task and clean up its resources

Usage:

rover stop [options] <taskId>

Options:

  • -a, --remove-all: Remove container, git worktree and branch if they exist
  • -c, --remove-container: Remove container if it exists
  • -g, --remove-git-worktree-and-branch: Remove git worktree and branch
  • --json: Output the result in JSON format

Inspect a task

Usage:

rover inspect [options] <taskId> [iterationNumber]

Options:

  • --file <files...>: Output iteration file contents
  • --raw-file <files...>: Output raw file contents without formatting (mutually exclusive with —file)
  • --json: Output in JSON format

Show execution logs for a task iteration

Usage:

rover logs [options] <taskId> [iterationNumber]

Options:

  • -f, --follow: Follow log output in real-time
  • --json: Output the result in JSON format

Delete a task

Usage:

rover delete [options] <taskId...>

Options:

  • -y, --yes: Skip all confirmations and run non-interactively
  • --json: Output in JSON format

Aliases: del

Add instructions to a task and start new iteration

Usage:

rover iterate [options] <taskId> [instructions]

Options:

  • -i, --interactive: Open an interactive command session to iterate on the task
  • --json: Output JSON and skip confirmation prompts

Aliases: iter

Open interactive shell for testing task changes

Usage:

rover shell [options] <taskId>

Options:

  • -c, --container: Start the interactive shell within a container

Show git diff between task worktree and main branch

Usage:

rover diff [options] <taskId> [filePath]

Options:

  • --base: Compare against the base commit when task was created
  • -b, --branch <name>: Compare changes with a specific branch
  • --only-files: Show only changed filenames

Merge the task changes into your current branch

Usage:

rover merge [options] <taskId>

Options:

  • -f, --force: Force merge without confirmation
  • --json: Output in JSON format

Commit and push task changes to remote, with GitHub PR support

Usage:

rover push [options] <taskId>

Options:

  • -m, --message <message>: Commit message
  • --json: Output in JSON format

Retrieve information about the available workflows

Usage:

rover workflows [options] [command]

Start Rover as an MCP server

Usage:

rover mcp [options]

Show information about the Rover global store

Usage:

rover info [options]

Options:

  • --json: Output in JSON format