---
title: "What's New in the RevenueCat AI Toolkit: The CLI, Reviewable Store Changes, and Paywalls with Codebase Context"
description: "In this article, you'll explore what's new in the AI Toolkit since launch: the RevenueCat CLI, reviewable plans for store products, and paywalls designed."
language: "en"
publishedAt: "2026-10-16T01:57:42.507Z"
updatedAt: "2026-10-16T01:57:42.507Z"
authors:
  - name: "Jaewoong Eum"
    url: "https://www.revenuecat.com/blog/author/jaewoong-eum"
category: "Engineering"
categoryUrl: "https://www.revenuecat.com/blog/engineering"
canonical: "https://www.revenuecat.com/blog/engineering/ai-toolkit-new"
---

# What's New in the RevenueCat AI Toolkit: The CLI, Reviewable Store Changes, and Paywalls with Codebase Context

In this article, you'll explore what's new in the AI Toolkit since launch: the RevenueCat CLI, reviewable plans for store products, and paywalls designed.

## Table of contents

- [The RevenueCat CLI: Beyond the MCP server](#the-revenuecat-cli-beyond-the-mcp-server)
- [Paywalls: Designing with your codebase as context](#paywalls-designing-with-your-codebase-as-context)
- [Experiments: From setup to results](#experiments-from-setup-to-results)
- [SDK compatibility: Checking before you ship](#sdk-compatibility-checking-before-you-ship)
- [Analytics: Answers without leaving your agent](#analytics-answers-without-leaving-your-agent)
- [Google Play Billing: A second plugin](#google-play-billing-a-second-plugin)
- [Installation: Updating and installing the toolkit](#installation-updating-and-installing-the-toolkit)
- [Conclusion](#conclusion)

In May, RevenueCat released the [AI Toolkit](https://www.revenuecat.com/blog/company/ai-toolkit), a plugin that connects coding agents such as Claude Code, Codex, and Gemini CLI to your RevenueCat projects through the MCP server, along with 13 skills that teach the agent how to create a project, integrate the SDK, show a paywall, and debug purchases.

The main plugin now ships 24 skills, a second plugin adds 20 skills for Google Play Billing, and the new RevenueCat CLI gives agents another way to reach your account. Most of the new skills take your agent past the integration step, into work you used to leave your editor for. The difference from [Rico](https://www.revenuecat.com/docs/tools/rico), RevenueCat's own agent, is whose agent does that work: the toolkit equips the coding agent you already use, with your codebase as context.

In this article, you'll explore what's new in the AI Toolkit since launch: the RevenueCat CLI, reviewable plans for store products, paywalls designed with your codebase as context, experiments, SDK compatibility checks, the new analytics skills, the Play Billing plugin, and how to install or update the toolkit.

## **The RevenueCat CLI: Beyond the MCP server**

Until late August, every skill assumed that the MCP server was the agent's only connection to RevenueCat. The [RevenueCat CLI](https://www.revenuecat.com/docs/tools/cli) (`rc`), in public beta since August 25, adds another one. It manages projects, apps, store credentials, the product catalog, customers, and paywalls from the terminal, and it behaves the same way whether a person, a script, or an agent runs it.

```
brew install RevenueCat/tap/rc
rc auth login
rc projects use
```

For CI and agent sandboxes, the `@revenuecat/cli` npm package ships the same native binary, and `npx @revenuecat/cli <command>` runs any command without installing anything. Scripts can skip the browser login by passing a RevenueCat API v2 secret key through the `RC_API_KEY` environment variable.

Three details make the CLI practical for an agent. Every command describes itself at runtime through `rc commands --json` and `rc schema`, so the agent discovers flags from the binary instead of guessing them from its training data. Every command also supports `--json`, and in that mode errors come back as JSON too, with stable error types and exit codes. And `--no-input` makes a command fail instead of waiting on a prompt, which keeps an agent or a CI job from hanging.

![](https://cdn.sanity.io/images/c3qnx9b0/production/17a461a79a24aee5730dca8aeef5c54c52c8a724-2232x1170.png)

For CI and agent sandboxes, the `@revenuecat/cli` npm package ships the same native binary, and `npx @revenuecat/cli <command>` runs any command without installing anything. Scripts can skip the browser login by passing a RevenueCat API v2 secret key through the `RC_API_KEY` environment variable.

Three details make the CLI practical for an agent. Every command describes itself at runtime through `rc commands --json` and `rc schema`, so the agent discovers flags from the binary instead of guessing them from its training data. Every command also supports `--json`, and in that mode errors come back as JSON too, with stable error types and exit codes. And `--no-input` makes a command fail instead of waiting on a prompt, which keeps an agent or a CI job from hanging.

```
rc products store plan <app-id> --file prices.csv
rc products store show <plan-id>
rc products store apply <plan-id>
```

You can ask for the change and the file in one request:

"Raise the monthly Pro subscription to $12.99 in the US on both stores. Write the desired prices to `store/prices.csv` so I can commit them, then walk me through the plan's diff."

![](https://cdn.sanity.io/images/c3qnx9b0/production/128d6f4a4aef82fed43c51f3f8dbdf7e118b7d6e-1430x256.png)

![](https://cdn.sanity.io/images/c3qnx9b0/production/ca1a7763a483bcdffb8b0349df9e29dfedece1f5-1702x537.png)

![](https://cdn.sanity.io/images/c3qnx9b0/production/388ebe4627b2d0601bbe5bfdb3475429fc4b3e93-1495x508.png)

## **Paywalls: Designing with your codebase as context**

The `revenuecat-paywall` skill from launch covers presenting a paywall in your app with RevenueCatUI. The new `revenuecat-paywall-design` skill works on the paywall that RevenueCat serves to that code: creating, duplicating, editing, evaluating, and auditing it.

This is where a coding agent has an advantage: it can read your app. When you ask for a new paywall, the skill has the agent gather context from two places. From your RevenueCat project, it reads offerings, prices, and existing paywalls. From your codebase, it picks up premium features, brand colors, visual direction, and tone. The agent passes what it found to the `create-paywall-ai` MCP tool as `codebase_context`, the part of the request that needs an agent inside your repository, and RevenueCat's Paywalls AI Editor generates the draft from it. The result is always an unpublished draft, and generation can take several minutes when it creates images.

Other requests use a different tool on purpose. When you ask for a copy of an existing paywall, the agent uses `duplicate-paywall`, which copies the original instead of regenerating it from a description and losing its images and structure. Changes to an existing paywall go through `edit-paywall-ai`.

To evaluate a paywall, the agent renders it with `render-paywall-screenshot` and reads its exact configuration with `get-paywall`. The audit follows an order of impact: it starts with the call to action, moves through how clearly the recommended package stands out, price anchoring, content above the fold, and trust signals, and leaves copy for last.

"Create a paywall for my new `premium` offering that matches the app's colors and highlights the features behind the Pro entitlement, then audit the draft."

![](https://cdn.sanity.io/images/c3qnx9b0/production/0f1119435aa17f317514a8767d4017ce18f98369-1432x430.png)

![](https://cdn.sanity.io/images/c3qnx9b0/production/ed2af0f217eed697437a1986ed989aa51dafe11b-854x1020.png)

## **Experiments: From setup to results**

The new `revenuecat-experiments` skill teaches your agent to prepare an experiment with the MCP server's experiment management tools. A RevenueCat experiment compares two to four offerings, and the skill keeps the variants identical except for the one thing under test:

- **Control**: when the control is what production serves today, the agent uses the current offering directly instead of copying it.
- **Price and trial tests**: prices live on store products, so the treatment needs its own products. The agent reuses products that already exist, creates the missing ones through the store state flow above, and swaps them into a copy of the control offering.
- **Paywall tests**: the agent duplicates the offering together with its paywall and edits only the part under test, using the paywall tools above. This needs a RevenueCat paywall on the offering. If your app draws its own paywall, there's nothing on the offering for the skill to edit, so the variants have to come from your app's code instead, for example a paywall that reads each offering's metadata, and that's code your coding agent can write.
The experiment is created as a draft, and the agent starts it only after you confirm, because starting it enrolls real customers. Pausing stops enrollment but keeps serving enrolled customers their variant. Stopping is final: enrolled customers fall back to the default offering, and the experiment can't be restarted.

Experiments also depend on your app. They only split customers evenly if the app displays the current offering it gets from the SDK rather than a hardcoded one. Checking that means reading your code, which your coding agent already has open, and the experiments skill doesn't check it on its own, so ask for it:

"Set up a price test on the annual subscription: keep the current offering as the control and try $49.99 instead of $59.99 in the treatment. Before you create it, check that the app displays the current offering instead of a hardcoded one."

![](https://cdn.sanity.io/images/c3qnx9b0/production/314e41b200d881ed2f95df78ce6cfe2927adecc4-1389x314.png)

![](https://cdn.sanity.io/images/c3qnx9b0/production/ac39c4042761266e93494c6cfcc3e106f480c459-1488x975.png)

Once an experiment is running, the experiment analysis skill reads it in a fixed order:

1. The experiment's setup.
1. A screenshot of each variant's RevenueCat paywall.
1. Chart data from the same period, such as revenue, trial volume, and conversion.
1. The results, which the agent can break down by platform or country.
The chart step gives the agent context that the results alone don't have, such as whether trial volume or revenue shifted across the whole app while the test ran.

## **SDK compatibility: Checking before you ship**

Some RevenueCat features need a minimum SDK version, and your subscribers don't all update the app at the same pace, so before you rely on a feature you need to know how many of them can use it. The `revenuecat-sdk-compatibility` skill answers that with your own data by combining two MCP tools. `list-sdk-feature-gates` returns the minimum version of each SDK for every gated feature, and `list-sdk-versions` returns the SDK versions observed among your subscribers in the last 30 days, including wrapper SDKs such as React Native, Flutter, and Kotlin Multiplatform. The agent compares the two and tells you what share of your recent subscribers is below the requirement.

"Can I enroll existing customers in an experiment? What share of my subscribers are on an SDK version that doesn't support it?"

## **Analytics: Answers without leaving your agent**

Several new skills answer questions about your customers and metrics while you work on the app. `revenuecat-audiences` filters your customers by product, spend, country, attribution, or the app and SDK version they run, and links to the filtered list. `revenuecat-charts` now tells Initial Conversion (a trial or subscription started) apart from Conversion to Paying (a payment made), and it looks up your experiments, offerings, and store state before it names a cause for a change. `revenuecat-dashboard-links` teaches the agent to link you to the exact dashboard page it's talking about. Three skills step outside the app itself: `revenuecat-forecasting` projects MRR or ARR month by month from the MRR that comes up for renewal, its renewal rate, and recent new subscriptions, `revenuecat-billing` covers what you pay RevenueCat, and `revenuecat-app-valuation` estimates what the app might be worth.

## **Google Play Billing: A second plugin**

If you ship on Android, the `revenuecat-play-billing` plugin adds 20 skills for the Google Play subscription lifecycle with the RevenueCat Android SDK, covering the purchase flow, plan and price changes, payment recovery, subscription states, webhooks, and security. Each skill is derived from a chapter or appendix of the RevenueCat Android SDK Handbook, and the plugin is synced from the [Play Billing Skills](https://github.com/RevenueCat/play-billing-skills) repository. [The handbooks article](TODO: link to the handbooks post) covers that handbook, its companion Google Play Billing Handbook, and the skills in more detail.

In Claude Code, install it next to the main plugin from the RevenueCat marketplace:

`claude plugin marketplace add RevenueCat/ai-toolkit
claude plugin install revenuecat@RevenueCat
claude plugin install revenuecat-play-billing@RevenueCat
`

The plugin is also available in Cursor, Codex, and VS Code. Gemini CLI installs one extension per GitHub repository, so from `RevenueCat/ai-toolkit` it gets the main plugin only, and the Play Billing Skills README shows how to add those skills to Gemini directly.

## **Installation: Updating and installing the toolkit**

If you already use the toolkit in Claude Code, update it first. Claude Code doesn't refresh plugins from third party marketplaces on its own by default, and installs from before August 19 still use the plugin's old name, `RevenueCat`, so run both of these commands:

`claude plugin install revenuecat@RevenueCat
claude plugin update revenuecat@RevenueCat
`

The first command replaces an install made under the old name, and the second updates one made after the rename. In Codex, which has no rename mechanism, uninstall the old `RevenueCat` plugin and install `revenuecat` to keep receiving updates. In Gemini CLI, run `gemini extensions update revenuecat`.

For new installs, here is where each client stands now:

- **Claude Code**: installing from Anthropic's official plugin marketplace now delivers the full plugin. Claude Code adds that marketplace the first time you start an interactive terminal session, so `/plugin install revenuecat@claude-plugins-official` works without adding one. The RevenueCat marketplace, `RevenueCat/ai-toolkit`, also carries the Play Billing plugin.
- **Cursor**: the plugin is listed in the [Cursor Marketplace](https://cursor.com/marketplace/revenuecat/revenuecat), and `/add-plugin revenuecat` installs it.
- **Codex**: add the marketplace with `codex plugin marketplace add RevenueCat/ai-toolkit`, install the plugin with `codex plugin add revenuecat@RevenueCat`, then sign in with `codex mcp login RevenueCat`, because installing doesn't start authentication.
- **Agent Plugins clients**: both plugins ship a manifest that follows the [Agent Plugins 1.0.0](https://agent-plugins.org/) specification, so any client that implements it can load them.
- **Skills only**: `npx skills add RevenueCat/ai-toolkit` or `rc skills install --all` installs the skills without the MCP server, for environments that don't support plugins.
## **Conclusion**

The common thread in these additions is that your agent now reaches past your code into the systems your code depends on, and it brings the code along as context. A good first task is one where that context changes the result, such as a paywall generated from your app's own colors and the features behind your entitlement, followed by a careful read of the draft and the agent's audit before you publish.

A skill is a written answer to the question of what should happen first. With that order written down, you can let an agent with access to your store catalog prepare changes to it.
