Until this week, an AI agent buying through the Universal Commerce Protocol (UCP) could only buy a product one way: once, at its price. On November 10, 2026 the UCP spec repository merged the Purchase Options extension (dev.ucp.shopping.purchase_options, PR #890). It lets a store list “buy once” and “subscribe” side by side on a product variant, lets the agent pick one, and records the chosen terms on the order. For merchants who sell replenishment products, it is the first standard way to sell a subscription to an agent.

The extension is on the spec’s main branch. It is not yet in a dated release: the newest UCP tag is v2026-08-25.

The gap it closes

The spec states the problem plainly: “Today a variant has one price and one way to buy it. A Business that also sells the same coffee on a monthly plan has no way to say so in its catalog, a Platform has no way to choose, and a checkout has no way to know which was chosen.” The same gap shows up on Shopify today, whose /buy agent links don’t support selling plans yet.

How it works

  • purchase_options[] appears on a catalog variant and on a cart or checkout line. Each option has an id, a title and a price for the current purchase.
  • selected_purchase_option_id is what the agent sends to choose one. The store’s response is authoritative: the agent must re-render prices, totals and policies from it.
  • schedules make an option a subscription. Each schedule carries a buyer-facing description, the order’s totals, and optionally an ISO 8601 interval (P1M, P30D), a starts_at and an ends_at.
  • The safe default. The first option is the default. Where a one-time option is listed, the default must be one without schedules: “a buyer is never enrolled in recurring orders because a Platform did not choose.”
  • Subscribe and save is a price, not a discount. The saving is simply the subscription option’s lower price. A free trial is an option with a price of 0.
  • The order keeps a snapshot. The order line carries the selected option as it stood at checkout, and the store must not change it later.

The disclosure is the store’s job

When a line resolves to a subscription, the store must attach a dev.ucp.shopping.policy.subscription policy that states until when orders recur, how the buyer cancels (with any notice period or minimum commitment) and where they manage it. It must also send a disclosure message stating what each recurring order costs, whether tax and shipping are added, how often orders are placed, the first date, and how to cancel.

The agent, in turn, must show that disclosure next to the line before completing, unless the buyer authorized the terms in advance, for example with a signed AP2 mandate. If it can’t, it hands the buyer off through continue_url. Payment is strict too: a subscription checkout uses exactly one instrument the store can charge after completion, even when today’s total is 0.

What this means for your store

  • Write schedule descriptions as full sentences. The spec requires each one to be a complete statement an agent can render verbatim: price, cadence, start and end.
  • Put cancellation terms behind a URL. The policy should link to the full terms. This builds on the same policies[] primitive as the UCP return policy extension.
  • Subscription-only products vanish for older agents. An agent that has not negotiated the extension must not see a variant it can’t buy normally: the store omits it from search and returns item_unavailable. Keeping a one-time option keeps the product reachable.
  • Management is not covered yet. Pause, modify and cancel operations are explicitly out of scope and left to “a separate capability”.

FAQ

Can AI agents buy subscriptions through UCP?

Yes, once a store and an agent both support the Purchase Options extension, merged into the UCP spec on November 10, 2026. The store lists one-time and subscription options on a variant, and the agent selects one by its id. The extension is on the spec’s main branch and not yet in a dated release.

Can an AI agent sign a shopper up to a subscription by default?

No. Under the UCP Purchase Options extension, when a one-time option is listed, the default option must be one without recurring orders. The agent must also show the store’s subscription disclosure before completing, unless the buyer authorized those terms in advance, for example through an AP2 mandate.

Can a shopper cancel a UCP subscription through the agent?

Not through this extension. Status, pause, modification and cancellation are out of scope and left to a separate capability. The store’s subscription policy must state how to cancel and where the subscription is managed, and the order’s permalink leads to the store’s own order page.

Sources

Recurring revenue is a transaction too: an agent that can’t read your subscription terms can’t buy them.