CLI reference
Every command supports --help for inline usage. Global flags (--config, --json, --quiet) work on all commands.
Global flags
| Flag | Default | Description |
|---|---|---|
| --config <path> | ./adduck.json | Path to config file. Overrides active project. |
| --json | false | Output as JSON instead of formatted table. Useful for piping to jq or other tools. |
| --quiet | false | Suppress progress spinners and status lines. Only output data. |
| --no-color | false | Disable ANSI color output. Also respected via NO_COLOR env var. |
Setup
adduck init
Creates a new adduck.json in the current directory and registers the project.
| Flag | Default | Description |
|---|---|---|
| --name <name> | prompted | Project name. |
| --dir <path> | cwd | Directory to create the config file in. |
adduck projects
Manage the list of known projects.
adduck projects use <name>
adduck projects remove <name>
list: shows all projects and which is activeuse <name>: sets the active projectremove <name>: removes from registry (doesn't delete the file)
adduck auth
Connect and manage platform credentials.
adduck auth list
adduck auth remove <platform>
login <platform>: interactive wizard to add credentials for a platformlist: shows all connected platforms and their account IDsremove <platform>: removes credentials from adduck.json
Valid platform values: apple, reddit, meta, applovin, unity, ironsource
Reporting
adduck spend
Pull spend, impressions, taps, installs, and CPI from all connected platforms for a date range.
| Flag | Default | Description |
|---|---|---|
| --days <n> | 7 | Number of trailing days. Mutually exclusive with --start/--end. |
| --platform <name> | all | Limit to a single platform. |
| --sort <field> | cpi | Sort column. Options: spend, installs, cpi, taps, impressions. |
| --start <date> | Start date in YYYY-MM-DD format. | |
| --end <date> | today | End date in YYYY-MM-DD format. |
| --json | false | Output as JSON array with micros values. |
adduck campaigns
List all campaigns across connected platforms with their current status and daily budgets.
| Flag | Default | Description |
|---|---|---|
| --platform <name> | all | Limit to one platform. |
| --status <value> | all | Filter by campaign status. |
adduck funnel
Shows a conversion funnel: impressions, taps, installs, and tap-through rate for each campaign.
adduck inspect
Detailed view of a single campaign including daily spend breakdown and metadata.
Example:
Campaign control
adduck pause
Pause one or more campaigns. Checked against guardrails before executing.
adduck pause <platform> --all
| Flag | Default | Description |
|---|---|---|
| --all | false | Pause all active campaigns on the platform. Requires confirmation. |
| --dry-run | false | Show what would happen without making any API calls. |
adduck resume
Resume one or more paused campaigns.
adduck budget
Set the daily budget for a campaign. The new value is checked against maxBudgetChangePct and maxDailyBudgetMicros guardrails.
amount is in whole dollars: adduck budget apple 1234567890 150 sets the daily budget to $150.
| Flag | Default | Description |
|---|---|---|
| --dry-run | false | Show the new value and guardrail check without setting it. |
adduck create campaign
Interactive wizard to create a new campaign on a connected platform.
The wizard asks for campaign name, daily budget, targeting, and creative assets depending on the platform. Some platforms require assets to already exist in their dashboard before a campaign can be created via API.
Interactive dashboard
adduck tui
Opens a full-screen terminal UI. Keyboard shortcuts:
| Key | Action |
|---|---|
| j / k | Move up/down through campaigns |
| Enter | Expand campaign detail with spend chart |
| p | Pause selected campaign |
| r | Resume selected campaign |
| b | Set daily budget for selected campaign |
| Tab | Switch between platforms |
| 1-7 | Switch date range (1=today, 7=7 days, 14=14 days...) |
| s | Change sort column |
| q / Esc | Quit |
Safety and audit
adduck guardrails
Show current guardrail settings for the active project.
See the Guardrails docs for how to configure them.
adduck audit
Check all campaigns against guardrail limits and print a pass/fail report.
Schedules
adduck schedule
Manage scheduled actions. See the Schedules docs for full details.
adduck schedule add [flags]
adduck schedule remove <id>
adduck schedule run
adduck schedule rotate <id>
MCP and agents
adduck mcp
Start the MCP server. Use this in your Claude Desktop config or another MCP client.
The server runs on stdio (standard input/output) as the MCP protocol requires. Don't run it directly in a terminal -- let your MCP client start it.
adduck agents
adduck agents install [--client <name>]
list: shows supported MCP clients and whether adduck is installed in eachinstall: writes the adduck MCP server entry into the client's config file. Supportsclaude(Claude Desktop),cursor, and any client with a JSON config file via--config-path.