Skip to main content

Agent Skills for the CLI

The best way to use the Duvo CLI is alongside the public Duvo Agent Skills repository. It’s a free, open repository of skills you can download and combine with the CLI to get far more out of it — they teach Claude Code, Codex, Cursor, and other coding agents to operate Duvo directly: manage Agents, debug failed Runs, and write the AOPs that drive them, all without leaving your editor or terminal. It packages three ready-made skills:
  • duvo-cli — drive the full CLI (Agents, Runs, Cases, Queues, Files, Connections) through your agent
  • sop-writer — draft, rewrite, or critique Agent AOPs
  • job-debugger — analyze failed Runs, find the root cause, and propose fixes
Download the skills, then install the CLI they drive:

Download the Duvo agent skills

Install the CLI

Sign in

Confirm you're connected

Once installed, ask your agent things like “investigate why my last Run failed” or “rewrite this AOP to be clearer” and it will use the CLI for you.

Use with Claude Code

If you’d rather prime an agent by hand instead of installing the skills above, paste the prompt below into Claude Code (or any other coding agent) to teach it how to drive the Duvo CLI on your behalf. It primes the agent to install duvo, sign in, and use the right commands for the task you ask for next.
Claude Code prompt
The rest of this page is the human-readable reference for the same commands.

Overview

The Duvo CLI (duvo) brings Duvo to your terminal. Use it from scripts, CI/CD pipelines, and developer workflows to manage Agents, Connections, Files, Runs, and more — without leaving the command line. The CLI is a wrapper around the Public API, so anything you can do via the API you can do with duvo. JSON output is built in for scripting, and named profiles let you switch between teams or environments instantly.

What you can do

  • Start Runs and respond to humans-in-the-loop — Start Runs, stream messages live, approve or deny requests, send mid-run instructions.
  • Manage Agents — List, create, update, delete, and organize Agents into folders.
  • Start Runs automatically — Set up schedules, event triggers, and Case triggers.
  • Manage Connections, secrets, and logins — Authorize OAuth Connections, store env-var secrets and logins, and attach them to a Revision.
  • Move Files and build Skills — Upload documents to the team file library, and create, install, and edit Skills.
  • Work with Cases and Queues — Inspect Case history, delegate Cases in bulk, manage labels.
  • Hit the raw API — Call any Duvo endpoint via duvo api when you need something a dedicated command doesn’t cover yet.

Installation

The curl script installs a standalone binary — no Node.js required. It supports macOS and Linux on x86_64 and arm64. Override the install directory with DUVO_INSTALL_DIR=$HOME/.local/bin or pin a version with DUVO_VERSION=<version>.
The npm install requires Node.js 24 or newer. On Windows, use npm.
Or install the standalone binary (no Node.js required):
Run duvo --version to confirm the install, and duvo --help to see every available command.

Updating

Run duvo update to update the CLI in place. It detects how the CLI was installed and picks the right method automatically — npm installs run npm install -g @duvoai/cli@latest, while the standalone binary downloads the latest release, verifies its checksum, and replaces itself. Use duvo update --check to see whether a newer version is available without installing anything.
If the standalone binary lives in a directory you cannot write to (such as /usr/local/bin), duvo update stops with an error instead of updating. Rerun the installer, which requests sudo when needed: curl -fsSL https://duvo.ai/install-cli.sh | sh

Quick start

Sign in

The CLI stores credentials as named profiles. Each profile holds either an OAuth session or an API key, so you can switch between teams or workspaces without re-entering credentials each time.
The CLI first prompts you for a profile name (for example, acme or personal), then opens your browser so you can sign in to Duvo. Once you approve, the CLI stores the OAuth session under that profile name. The first profile you add becomes the default.Pass --name <profile> to skip the prompt:

Add another profile

Run duvo login again to repeat the browser sign-in and prompt for a new profile name. Pass --api-key <key> if you want the new profile to use an API key instead.

Switch the default profile

If you omit the profile name, an interactive picker opens so you can arrow-key through your saved profiles:

Use a different profile for a single command

--profile <name> works on every command and doesn’t change your default.

See who you’re signed in as

Sign out

duvo logout revokes the OAuth tokens server-side and removes the profile locally.

Environment variables

For non-interactive use (CI, scripts), the CLI also reads:

Output formats

By default every command prints a human-friendly table or summary. Add --json to any command for machine-readable output suitable for piping into jq or scripting:

Command groups

The CLI is organized by resource. Use these guides to dig into each area:

Profiles and Teams

duvo profiles, duvo team, duvo teams

Managing Agents

duvo agents, duvo agent-folders, duvo revisions

Starting Runs

duvo runs, including live streaming and human-in-the-loop responses

Scheduling and Triggers

duvo agents schedules, duvo agents triggers, duvo agents case-triggers

Managing Connections

duvo connections, duvo integrations, duvo oauth

Managing Files, Skills, and Plugins

duvo files, duvo skills, duvo plugins

Secrets and Logins

duvo secrets, duvo credentials, duvo revision-secrets, duvo revision-logins

Cases and Queues

duvo cases, duvo queues, duvo queue-labels

Inspecting Clarity Processes

duvo clarity

Scripting and CI/CD Patterns

automation scripts, GitHub Actions, worked examples

Advanced commands

duvo api, duvo sandboxes, duvo revision-integrations
Each guide includes the exact commands, flags, and a few realistic examples.

Tips

  • Run duvo <command> --help to see every available flag for any command.
  • Combine --json with jq to script complex workflows — for example, list all Runs that are waiting for human approval.
  • Set DUVO_PROFILE in your shell config to default to a non-default profile per project.
  • The CLI follows your Duvo team’s permissions — if you can’t see something in the UI, you can’t see it via the CLI either.