---
id: "tools/cli/commands"
title: "RevenueCat CLI command reference"
description: "{/ Hand-written, verified against the shipped CLI v0.1.0 via rc commands --json and per-command --help. Group headings match the CLI's real --help groups, so this file can become the generation target if --help generation lands. A CI drift check comparing rc commands --json against this page would catch rot. /}"
permalink: "/docs/tools/cli/commands"
slug: "commands"
version: "current"
original_source: "docs/tools/cli/commands.mdx"
---

> **AI agents:** This is the Markdown version of a RevenueCat documentation page. For the complete documentation index, see [llms.txt](https://www.revenuecat.com/docs/llms.txt).

This page lists every RevenueCat CLI command and what it does. To install the CLI, see [Setup](https://www.revenuecat.com/docs/tools/cli/setup). For what the CLI is and when to use it instead of the dashboard, see [RevenueCat CLI](https://www.revenuecat.com/docs/tools/cli).

Groups and their order match `rc --help`. Within a group, commands are ordered by the sequence you'd run them in. The CLI itself is the source of truth for flags and arguments: `rc commands` prints the full command tree, and `rc schema <cmd>` prints any command's flags, arguments, and examples.

Some commands are experimental: hidden from `rc --help` until their feature ships, but runnable, revealed with `rc --all`, and marked `"experimental": true` in `rc commands` output.

## Global flags

These flags work on every command:

| Flag                | What it does                                                                                                                     |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `--json`            | Machine-readable output with a stable shape                                                                                      |
| `--no-input`        | Fail rather than prompt, for scripts and CI                                                                                      |
| `--project-id <id>` | Act on a specific project (precedence: flag → `$RC_PROJECT_ID` → `.revenuecat.json` in the directory tree → the profile default) |
| `--profile <name>`  | Config profile (precedence: flag → `$RC_PROFILE` → `rc profiles use` → `default`)                                                |
| `--api-key <key>`   | Override the profile's API key (`$RC_API_KEY`)                                                                                   |
| `--yes`, `-y`       | Skip confirmation prompts                                                                                                        |
| `--quiet`, `-q`     | Suppress non-essential output                                                                                                    |
| `--all`             | Also show experimental (unreleased) commands in help                                                                             |
| `--no-color`        | Disable ANSI color (also respects `$NO_COLOR`)                                                                                   |
| `--format <expr>`   | jq expression applied to `--json` output                                                                                         |

## Exit codes

| Code | Meaning                        |
| ---- | ------------------------------ |
| 0    | Success                        |
| 1    | Error                          |
| 2    | Bad usage                      |
| 4    | Authentication / authorization |
| 5    | Not found                      |
| 6    | Rate limited                   |

## Get started

### Authentication and profiles

| Command                     | What it does                                                                                                                |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `rc auth login`             | Log in with browser OAuth or an API key                                                                                     |
| `rc auth signup`            | Create a RevenueCat account without a browser; see [For coding agents](https://www.revenuecat.com/docs/tools/cli/agents#creating-an-account-from-an-agent) |
| `rc auth status`            | Show auth state and cached account identity                                                                                 |
| `rc auth logout`            | Clear credentials from the active profile                                                                                   |
| `rc profiles list`          | List configured profiles                                                                                                    |
| `rc profiles show [name]`   | Show the resolved active or named profile                                                                                   |
| `rc profiles use <name>`    | Switch the active profile                                                                                                   |
| `rc profiles delete <name>` | Remove a profile                                                                                                            |

`rc login` and `rc whoami` are shortcuts for `rc auth login` and `rc auth status`.

### Projects

| Command                        | What it does                                                             |
| ------------------------------ | ------------------------------------------------------------------------ |
| `rc projects list`             | List the projects your account can reach                                 |
| `rc projects show [id]`        | Show one project                                                         |
| `rc projects create`           | Create a project; `--use` saves it as the active project                 |
| `rc projects use [project-id]` | Switch the profile's default project (interactive picker if no argument) |

### Setup

Guided setup and store credential flows. The store flows run locally: your Apple or Google sign-in stays between you and the store, and the CLI uploads only the resulting credentials to RevenueCat. `<app-id>` is the RevenueCat app ID (like `app_abc`), not a bundle ID or a store app ID.

| Command                    | What it does                                                                                                         |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `rc setup`                 | Agent-guided setup of your whole RevenueCat project; run it with `--json` to get the setup prompt for your own agent |
| `rc setup apple [app-id]`  | Sign in to App Store Connect, create the missing In-App Purchase and App Store Connect API keys, and upload them     |
| `rc setup google [app-id]` | Sign in to Google, bootstrap the Play service-account credential, grant package-scoped access, and upload it         |

The store flows are marked `requires_human` in `rc commands`: Apple and Google sign-in need a person in a local interactive terminal, because they involve two-factor authentication. The manual equivalents are documented in [App Store Connect API keys](https://www.revenuecat.com/docs/service-credentials/itunesconnect-app-specific-shared-secret/app-store-connect-api-key-configuration), [In-App Purchase keys](https://www.revenuecat.com/docs/service-credentials/itunesconnect-app-specific-shared-secret/in-app-purchase-key-configuration), and [Google Play service credentials](https://www.revenuecat.com/docs/service-credentials/creating-play-service-credentials).

### Dashboard access

| Command                  | What it does                                         |
| ------------------------ | ---------------------------------------------------- |
| `rc open [section] [id]` | Open the dashboard deep-linked to the active project |
| `rc browse`              | Open an interactive project hub in the terminal      |

## Design paywalls

### Paywalls

Create and edit [Paywalls](https://www.revenuecat.com/docs/tools/paywalls), including generating and editing them from a prompt.

| Command                                         | What it does                                                              |
| ----------------------------------------------- | ------------------------------------------------------------------------- |
| `rc paywalls list`                              | List Paywalls                                                             |
| `rc paywalls show <id>`                         | Show one Paywall                                                          |
| `rc paywalls generate --prompt "..."`           | Generate a Paywall with AI; `--offering-id` attaches it to an Offering    |
| `rc paywalls edit <paywall-id> --prompt "..."`  | Edit a Paywall with AI, or continue a session with `--session <file>`     |
| `rc paywalls rewind --session <file>`           | Undo the last editor action                                               |
| `rc paywalls publish [id]`                      | Publish the current draft (requires confirmation or `--yes`)              |
| `rc paywalls unpublish [id]`                    | Remove the published Paywall (requires confirmation or `--yes`)           |
| `rc paywalls attach <paywall-id> <offering-id>` | Attach or move a Paywall to an Offering (one Paywall per Offering)        |
| `rc paywalls detach <paywall-id>`               | Make a Paywall standalone; unpublish a published Paywall first            |
| `rc paywalls delete <id>`                       | Delete a Paywall; attached or published Paywalls refuse without `--force` |

### Media assets and fonts

Assets for use in Paywalls.

| Command                         | What it does                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------- |
| `rc media-assets list`          | List images in the project's Media Gallery                                      |
| `rc media-assets upload <file>` | Upload an image (jpg/png/webp/avif/heic/heif, up to 2 MiB) to the Media Gallery |
| `rc fonts list`                 | List fonts uploaded to the project                                              |
| `rc fonts upload <file>`        | Upload a font (ttf/otf, up to 5 MiB) for use in Paywalls                        |

## Manage your catalog

### Products

Products are the purchasable items in your catalog; see [Products overview](https://www.revenuecat.com/docs/offerings/products-overview). The `store` subcommands manage your store catalog as a reviewable plan: describe the desired state, review the computed diff, then apply it. The server decides which stores and fields it supports — App Store Connect and Google Play are the most complete. Store-state plans may not be available on every account yet.

| Command                                     | What it does                                                                  |
| ------------------------------------------- | ----------------------------------------------------------------------------- |
| `rc products list`                          | List Products                                                                 |
| `rc products show <id>`                     | Show one Product                                                              |
| `rc products create`                        | Create a Product                                                              |
| `rc products update <id>`                   | Update a Product                                                              |
| `rc products archive <id>`                  | Archive a Product (kept on file, hidden from new Offerings)                   |
| `rc products restore <id>`                  | Restore an archived Product                                                   |
| `rc products delete <id>`                   | Delete a Product                                                              |
| `rc products push <id>`                     | Push a Product to the store                                                   |
| `rc products prices [product-id]`           | List [Test Store](https://www.revenuecat.com/docs/test-and-launch/sandbox/test-store) and Web Billing prices |
| `rc products prices set [product-id]`       | Create or update Test Store prices idempotently (`--price USD=9.99`)          |
| `rc products store sync [app-id]`           | Interactive store sync: gather desired state, review the diff, confirm, apply |
| `rc products store plan [app-id]`           | Persist a desired-state plan and its diff on the backend (`--file <path\|->`) |
| `rc products store list`                    | List persisted store plans                                                    |
| `rc products store show <plan-id>`          | Inspect a persisted plan from any process                                     |
| `rc products store apply <plan-id>`         | Apply a reviewed plan (requires confirmation or `--yes`)                      |
| `rc products store discard <plan-id>`       | Discard a plan without applying                                               |
| `rc products store screenshot <product-id>` | Upload an App Review screenshot to App Store Connect for a Product            |

### Entitlements

Entitlements gate what a Customer has access to; see [Entitlements](https://www.revenuecat.com/docs/getting-started/entitlements).

| Command                                          | What it does                             |
| ------------------------------------------------ | ---------------------------------------- |
| `rc entitlements list`                           | List Entitlements                        |
| `rc entitlements show <id>`                      | Show one Entitlement                     |
| `rc entitlements create`                         | Create an Entitlement                    |
| `rc entitlements update <id>`                    | Update an Entitlement                    |
| `rc entitlements attach <id> <product-id> [...]` | Attach one or more Products              |
| `rc entitlements detach <id> <product-id> [...]` | Detach one or more Products              |
| `rc entitlements products <id>`                  | List the Entitlement's attached Products |
| `rc entitlements archive <id>`                   | Archive an Entitlement                   |
| `rc entitlements restore <id>`                   | Restore an archived Entitlement          |
| `rc entitlements delete <id>`                    | Delete an Entitlement                    |

### Offerings and packages

Offerings are the sets of Packages your app presents; see [Offerings overview](https://www.revenuecat.com/docs/offerings/overview).

| Command                                              | What it does                                                                                                    |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `rc offerings list`                                  | List Offerings                                                                                                  |
| `rc offerings show <id>`                             | Show one Offering                                                                                               |
| `rc offerings verify [id]`                           | Inspect the full Offering graph: Packages, Products, prices, Entitlements, Paywall state, and an `issues` array |
| `rc offerings preview [app-id]`                      | Show the v1 SDK response an app receives, using the app's public SDK key                                        |
| `rc offerings create`                                | Create an Offering                                                                                              |
| `rc offerings update <id>`                           | Update an Offering                                                                                              |
| `rc offerings set-current <id>`                      | Make an Offering the SDK's current Offering (requires confirmation or `--yes`)                                  |
| `rc offerings archive <id>`                          | Archive an Offering                                                                                             |
| `rc offerings restore <id>`                          | Restore an archived Offering                                                                                    |
| `rc offerings delete <id>`                           | Delete an Offering                                                                                              |
| `rc offerings packages <offering-id>`                | List an Offering's Packages                                                                                     |
| `rc packages list`                                   | List Packages across all Offerings                                                                              |
| `rc packages show <package-id>`                      | Show one Package                                                                                                |
| `rc packages create <offering-id>`                   | Create a Package in an Offering                                                                                 |
| `rc packages update <package-id>`                    | Update a Package                                                                                                |
| `rc packages attach <package-id> <product-id> [...]` | Attach one or more Products                                                                                     |
| `rc packages detach <package-id> <product-id> [...]` | Detach one or more Products                                                                                     |
| `rc packages products <package-id>`                  | List a Package's attached Products and eligibility criteria                                                     |
| `rc packages delete <package-id>`                    | Delete a Package                                                                                                |

## Manage customers & revenue

### Customers

Look up and act on [Customers](https://www.revenuecat.com/docs/customers/user-ids). `rc customers show` embeds active Entitlements in one response.

| Command                                               | What it does                                                                                                                    |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `rc customers list`                                   | List Customers                                                                                                                  |
| `rc customers show [id]`                              | Show one Customer, including active Entitlements                                                                                |
| `rc customers aliases <id>`                           | List a Customer's aliases                                                                                                       |
| `rc customers attributes <id>`                        | List a Customer's attributes                                                                                                    |
| `rc customers set-attribute <id> <key> <value>`       | Set a single Customer attribute                                                                                                 |
| `rc customers grant <customer-id> [entitlement-id]`   | Grant a promotional Entitlement (`--duration daily\|weekly\|monthly\|yearly\|lifetime\|...`)                                    |
| `rc customers revoke <id> <entitlement>`              | Revoke a granted Entitlement                                                                                                    |
| `rc customers transfer <from> --to <id>`              | Transfer purchases between Customers                                                                                            |
| `rc customers override-offering <id> --offering <id>` | Override the Offering a Customer sees                                                                                           |
| `rc customers clear-override <id>`                    | Clear a Customer's Offering override                                                                                            |
| `rc customers restore-google <id> --token <t>`        | Restore a Google purchase by token                                                                                              |
| `rc customers simulate-purchase`                      | Create a real headless [Test Store](https://www.revenuecat.com/docs/test-and-launch/sandbox/test-store) transaction (`--app-id`, `--product`, `--app-user-id`) |
| `rc customers balances <id>`                          | Show a Customer's [In-App Currency](https://www.revenuecat.com/docs/offerings/virtual-currency) balances                                                       |

### Subscriptions, purchases, and invoices

| Command                                        | What it does                                              |
| ---------------------------------------------- | --------------------------------------------------------- |
| `rc subscriptions show <id>`                   | Show one subscription                                     |
| `rc subscriptions transactions <id>`           | List a subscription's transactions                        |
| `rc subscriptions entitlements <id>`           | List the Entitlements a subscription unlocks              |
| `rc subscriptions management-url <id>`         | Show the subscription's management URL                    |
| `rc subscriptions extend <id> --by <duration>` | Extend a subscription's billing period                    |
| `rc subscriptions cancel <id>`                 | Cancel a subscription ([Web Billing](https://www.revenuecat.com/docs/web/overview) only) |
| `rc subscriptions refund <id>`                 | Refund a subscription (Web Billing only)                  |
| `rc purchases show <id>`                       | Show one purchase                                         |
| `rc purchases entitlements <id>`               | List the Entitlements a purchase unlocks                  |
| `rc purchases refund <id>`                     | Refund a purchase (Web Billing only)                      |
| `rc invoices show <id>`                        | Show one invoice                                          |
| `rc invoices for <customer-id>`                | List a Customer's invoices                                |

### Charts and metrics

Project analytics in the terminal; the same data as [Charts](https://www.revenuecat.com/docs/dashboard-and-metrics/charts) in the dashboard.

| Command                    | What it does                                                                           |
| -------------------------- | -------------------------------------------------------------------------------------- |
| `rc metrics`               | Show project-wide overview KPIs                                                        |
| `rc charts list`           | Print the available chart names                                                        |
| `rc charts show <name>`    | Show a chart: interactive in a terminal, raw data with `--json` (`--filter key=value`) |
| `rc charts options <name>` | Show the filters a chart accepts                                                       |

## Connect apps & integrations

### Apps

| Command                            | What it does                                                                                |
| ---------------------------------- | ------------------------------------------------------------------------------------------- |
| `rc apps list`                     | List the project's apps                                                                     |
| `rc apps show <id>`                | Show one app                                                                                |
| `rc apps create`                   | Create an app                                                                               |
| `rc apps update <id>`              | Update an app                                                                               |
| `rc apps delete <id>`              | Delete an app                                                                               |
| `rc apps keys <app-id>`            | Show the app's public SDK keys                                                              |
| `rc apps storekit-config <app-id>` | Show the app's StoreKit configuration; optionally writes a `.storekit` file                 |
| `rc apps apple check [app-id]`     | Validate Apple login, two-factor authentication, team selection, and key access (read-only) |

### Webhooks

Manage the project's [webhooks](https://www.revenuecat.com/docs/integrations/webhooks).

| Command                   | What it does     |
| ------------------------- | ---------------- |
| `rc webhooks list`        | List webhooks    |
| `rc webhooks show <id>`   | Show one webhook |
| `rc webhooks create`      | Create a webhook |
| `rc webhooks update <id>` | Update a webhook |
| `rc webhooks delete <id>` | Delete a webhook |

## Automate with AI

### Skills

Install the [AI Toolkit skills](https://www.revenuecat.com/docs/tools/ai-toolkit/skills) for your coding agent. See [RevenueCat CLI for coding agents](https://www.revenuecat.com/docs/tools/cli/agents#installing-skills-for-your-agent).

| Command             | What it does                                                                                     |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| `rc skills install` | Install the core skills globally; `--project` for repository-local, `--all` for the full catalog |
| `rc skills prompts` | Show copy-ready starter prompts                                                                  |

### Rico

Talk to [Rico](https://www.revenuecat.com/docs/tools/rico), RevenueCat's AI assistant, from the terminal.

| Command                                 | What it does                                                         |
| --------------------------------------- | -------------------------------------------------------------------- |
| `rc rico [message]`                     | Open a streaming chat with tool approvals; `--plain` for a line loop |
| `rc rico --continue`                    | Continue the most recent conversation                                |
| `rc rico -r`                            | Pick a past conversation to resume                                   |
| `rc rico --print "..." --json`          | Headless: one answer and exit, for scripts and agents                |
| `rc rico conversations list`            | List past conversations (`show <id>`, `delete <id>`)                 |
| `rc rico feedback <run-id> <good\|bad>` | Rate a Rico response                                                 |

## Advanced

The discovery commands are what agents use to learn the CLI's surface at runtime; see [RevenueCat CLI for coding agents](https://www.revenuecat.com/docs/tools/cli/agents).

| Command                  | What it does                                                                                |
| ------------------------ | ------------------------------------------------------------------------------------------- |
| `rc commands`            | Print the full command tree with capabilities (`--json` for agents)                         |
| `rc schema <cmd>`        | Print a command's flags, arguments, and examples                                            |
| `rc api <method> <path>` | Call any RevenueCat API v2 endpoint with the CLI's credentials (`--body <json\|@file\|@->`) |
| `rc audit`               | List recent [audit log](https://www.revenuecat.com/docs/dashboard-and-metrics/audit-logs) events (`--limit`, `--cursor`)   |
| `rc completion <shell>`  | Generate shell completions (bash, zsh, fish, powershell)                                    |
| `rc version`             | Print the CLI version                                                                       |

## Related articles

- [Install and authenticate the CLI](https://www.revenuecat.com/docs/tools/cli/setup)
- [RevenueCat CLI for coding agents](https://www.revenuecat.com/docs/tools/cli/agents)
- [RevenueCat MCP Server tools reference](https://www.revenuecat.com/docs/tools/mcp/tools-reference)
