The Compound CLI is a small program that lets another AI agent, such as Claude Code, OpenClaw, Codex, or one your team built, hand finance work to Compound. Your agent sends the request, Compound does the research and builds the Excel workbook, Word document, or PowerPoint deck, and the finished files come back to your agent with every figure cited to its source.
Everything your agent sends shows up in Compound too. Unless you choose another agent, the work goes to your default agent, Frankie: open getcompound.ai and you’ll find the conversation, its tasks, and the files they produced.
The Compound CLI runs on macOS and Linux. On Windows, set up WSL (Windows Subsystem for Linux) first, then run every step below inside your WSL shell.
Set it up
Setup happens once. Your agent does the install. You sign in yourself.
Install the CLI
Claude Code: type these two commands inside Claude Code, then restart it. On startup, the plugin installs the compound program, and on later startups it updates it.
/plugin marketplace add getcompoundai/compound-skill/plugin install compound@getcompoundai-compound-skillOpenClaw: ask OpenClaw to install Compound, or run its skill installer yourself:
openclaw skills install git:getcompoundai/compound-skillAny other agent, or your own scripts: point your agent at the compound-skill repository and ask it to install Compound, or run the install script in a terminal:
curl -fsSL https://raw.githubusercontent.com/getcompoundai/compound-skill/main/install.sh | bashThe script installs compound to /usr/local/bin, or to ~/.local/bin if it can’t write there. It adds that folder to your PATH and asks you to restart your shell.
Sign in
Run this in a terminal you are sitting at. An agent can’t do it for you.
compound loginA browser opens to the Compound sign-in page. Sign in, copy the code it shows, and paste it back into the terminal. If the browser doesn’t open, for example on a server you reached over SSH, the terminal prints the sign-in address. Open it in a browser on any machine and paste the code back the same way.
You only sign in once. The CLI saves your credentials in ~/.compound/config.json and renews them on its own, so your agent and your scripts stay signed in across sessions. To check which account is signed in, run compound whoami.
Ask your agent
You don’t need to learn any commands. Ask your agent in plain English and mention Compound. For example:
- “Use Compound to summarize NVDA’s latest earnings call.”
- “Use Compound to build a comps sheet for the five largest US semiconductor companies.”
- “Upload the data room in ./project-falcon to Compound and ask it for a diligence list.”
There’s nothing to upload for public companies. Compound already has SEC filings, financials, earnings call transcripts, and market data.
Where the work shows up
Each request your agent sends goes to the agent’s conversation in Compound, the same conversation you see in the chat. You don’t create tasks: Compound answers a quick question in the chat, and for larger work it opens a task and runs it in the background. Your agent tells you in a line or two which task Compound opened, with a link to it in the app, and can check back later instead of waiting. If Compound needs a decision, the task moves to Needs input, and both your agent and you can answer it: the agent from the terminal, you in the app.
The files Compound creates are saved to that agent’s files. When your agent downloads them, Excel workbooks come with a note on each cited cell, and Word documents and decks keep their citations linked to Compound. Open the agent at getcompound.ai to see how the analysis was done, keep refining it, or share it with your team.
Projects and other agents
By default, every command goes to your default agent, Frankie. To keep a deal or client separate, ask for a project in Frankie. Your agent uses a different agent only when you name one:
| What you want | What your agent runs |
|---|---|
| List Frankie’s projects | compound agent projects |
| Create a project | compound agent project new "Project Falcon" |
| Send work into a project | compound agent say "..." --project <project-id> |
| List the agents you can open | compound agent list |
| Create a new agent | compound agent new "Project Falcon" |
| Work with one agent | compound agent <agent-id> say "..." |
| Send commands to another agent unless told otherwise | compound config set default-agent <agent-id> |
| Name Frankie explicitly | compound agent frankie say "..." |
compound agent projects prints each project’s ID, and compound agent list prints each agent’s ID. Projects and agents created from the CLI appear in the app like any other.
Commands your agent uses
Your agent picks these up from the skill, so you rarely need them. They’re also handy for scripts:
| Command | What it does |
|---|---|
compound agent say "..." | Send a request. Add --attach <paths> to hand over files, --project <project-id> to file the work in a project, or --effort fast, auto (the default), or deep. |
compound agent status | What needs you (questions, proposed tasks, proposals) and what is running or paused |
compound agent task <n> | One task: its state, steps, and the files it made, each with its link |
compound agent task <n> reply "..." | Answer the task’s question or follow up on it |
compound agent messages | Read the conversation |
compound agent tasks | List the agent’s tasks, in the same order as the board in the app |
compound agent finished | Finished tasks, most recent first |
compound agent activity --follow | Follow what the agent is doing, live |
compound agent files upload <paths> | Upload files or folders |
compound agent files download --all -o ./out | Download every file the agent has |
Task states use the app’s words: Needs input, Running, Paused, Proposed, Done, and Archived. Run compound --help or compound agent --help for the full list. Most commands accept --json for machine-readable output. Every result ends with a link that opens it in Compound (Open: https://getcompound.ai/...; in --json it is the url field), so you can review the work in the app.
Keep it up to date
The CLI checks for a new release at most every 30 minutes. In a terminal, it asks before it updates. When an agent or a script runs it, it updates itself. To change this, run compound config set auto-update on (always update), ask, or off. Claude Code also updates the CLI each time it starts. To update now:
compound updateTroubleshooting
compound: command not found: restart your shell, or runsource ~/.zshrc(or~/.bashrc) so the install folder is on your PATH. In Claude Code, restart Claude Code after installing the plugin.- “
compound loginrequires an interactive terminal”: your agent tried to sign in for you. Runcompound loginyourself in a terminal. - “has moved” or “unknown command” errors, for example for
compound askorcompound drives: the CLI now works throughcompound agent, and there is no command that creates a task: Compound opens tasks itself when you ask withcompound agent say. Runcompound update, then ask your agent to use the current commands. It reads them from the skill. - Your agent can’t see a file you uploaded in the app: check that both are using the same agent. Files you upload in the app go to the agent you had open. The CLI uses Frankie unless your agent names another agent.
What to read next
- Tasks and the chat: how tasks run and how to answer the agent’s questions.
- Agents and projects: create agents and choose what each one can do.
- Introducing the Compound CLI: why we built it and what a handoff looks like.