Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.duvo.ai/llms.txt

Use this file to discover all available pages before exploring further.

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 Assignments, debug failed Jobs, and write the SOPs that drive them, all without leaving your editor or terminal. It packages three ready-made skills:
  • duvo-cli — drive the full CLI (Assignments, Jobs, Cases, Queues, Files, Connections) through your agent
  • sop-writer — draft, rewrite, or critique Assignment SOPs
  • job-debugger — analyze failed Jobs, find the root cause, and propose fixes
Download the skills, then install the CLI they drive:
npx skills add duvoai/skills       # download the Duvo agent skills
npm install -g @duvoai/cli         # install the CLI itself (Node.js 24+)
duvo login                         # sign in
duvo whoami                        # confirm you're connected
Once installed, ask your agent things like “investigate why my last Job failed” or “rewrite this SOP 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
You are pairing with me on a project that uses the Duvo CLI (`duvo`) to manage AI Assignments, Jobs, Connections, Files, and Cases. Follow these rules whenever I ask you to do anything Duvo-related.

# Setup
1. Check if the CLI is installed: `duvo --version`. If it is missing, install it with `npm install -g @duvoai/cli` (requires Node.js 24+).
2. Check authentication with `duvo whoami`. If I am not signed in, run `duvo login` (interactive OAuth) or `duvo login --api-key <key>` for non-interactive shells. Ask me which to use if it is unclear.
3. If I mention multiple teams or environments, use named profiles: `duvo login --name <profile>` and `--profile <name>` on individual commands. Never change my default profile without asking.

# How to work
- Always pass `--json` and pipe through `jq` when you need to parse output. Never scrape the human-friendly tables.
- Before running a command, run `duvo <command> --help` if you are not 100% sure of the flags.
- Prefer the dedicated command groups over `duvo api`. Fall back to `duvo api <METHOD> <path>` only when no dedicated command exists.
- For destructive actions (delete, stop, replace, bulk delegate), show me the exact command and wait for confirmation before executing.
- Surface IDs (Assignment ID, Run ID, Connection ID, Case ID, Queue ID) in your responses so I can reuse them.

# Command map
- Assignments / workflows: `duvo agents`, `duvo agent-folders`, `duvo revisions`
- Starting Jobs automatically: `duvo agents schedules`, `duvo agents triggers`, `duvo agents case-triggers`
- Running Jobs (incl. human-in-the-loop): `duvo runs`
- Connections and integrations: `duvo connections`, `duvo integrations`, `duvo oauth`
- Secrets and browser logins: `duvo secrets`, `duvo credentials`, `duvo revision-secrets`, `duvo revision-logins`
- Files, Skills, and Plugins: `duvo files`, `duvo skills`, `duvo plugins`
- Cases and Queues: `duvo cases`, `duvo queues`, `duvo queue-labels`
- Clarity (read-only): `duvo clarity`
- Profiles and teams: `duvo profiles`, `duvo team`, `duvo teams`
- Escape hatches: `duvo api`, `duvo sandboxes`

# Output
When you finish a task, give me: (1) the commands you ran, (2) the key IDs or results, (3) a suggested next step.

Docs: https://docs.duvo.ai/cli
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 Assignments, Connections, Files, Jobs, 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

  • Run Jobs and respond to humans-in-the-loop — Start Jobs, stream messages live, approve or deny requests, send mid-run instructions.
  • Manage Assignments — List, create, update, delete, and organize Assignments into folders.
  • Start Jobs automatically — Set up schedules, event triggers, and Case triggers.
  • Manage Connections, secrets, and logins — Authorize OAuth Connections, store env-var secrets and browser 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

Install globally from npm:
npm install -g @duvoai/cli
Requires Node.js 24 or newer. Run duvo --version to confirm the install, and duvo --help to see every available command.

Quick start

# 1. Install
npm install -g @duvoai/cli

# 2. Sign in (opens your browser)
duvo login

# 3. List your Assignments
duvo agents list

# 4. Start a Job
duvo runs start --agent <agent-id>

# 5. Check Job status
duvo runs get <run-id>

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.

Log in with your Duvo account

duvo login
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:
duvo login --name acme

Log in with an API key

Generate a key at Team Settings → API Keys, then:
duvo login --api-key <key>
Use API keys for service accounts, CI pipelines, and any non-interactive environment.

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

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

Use a different profile for a single command

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

See who you’re signed in as

duvo whoami

Sign out

duvo logout                    # sign out of the active profile
duvo logout --name <profile>   # sign out of a specific profile
duvo logout --all              # sign out of every stored profile
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:
VariableDescription
DUVO_API_KEYAPI key — bypasses the stored profile entirely
DUVO_PROFILEProfile name to use instead of the default

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:
duvo agents list --json | jq '.agents[] | {id, name}'

Command groups

The CLI is organized by resource. Use these guides to dig into each area: 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 Jobs 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.