Confusion around migrating Product Subscription extensions to Purchase Options extensions (missing add/create/remove targets)

I’m currently working on migrating our legacy product_subscription extension to the new Purchase Options UI extension.

With the legacy product_subscription extension, apps were able to hook into four extension modes, which allowed full control over the purchase option lifecycle:

Extension modes

  • Add – Add an existing purchase option to a product or variant

  • Create – Create a new purchase option

  • Edit – Edit an existing purchase option

  • Remove – Remove an existing purchase option from a product or variant

This made it possible for apps to fully customize the add, create, edit, and remove experiences within the Shopify admin.

While migrating to the new Purchase Options extension, I only see a single available target:

admin.product-purchase-option.action.render

From what I can tell, this target is only rendered when clicking the edit icon on an existing purchase option. This effectively means the extension can only customize the edit experience.

I’m not seeing any equivalent extension targets for:

  • adding an existing purchase option

  • creating a new purchase option

  • removing a purchase option

My question:
Is this limitation intentional?

Specifically:

  • Are Purchase Options extensions expected to be edit-only by design?

  • Is there another extension target intended for controlling the add/create/remove experiences?

  • If not, what is the recommended migration path for apps that previously relied on the full set of extension modes provided by product_subscription?

I want to make sure I’m not missing something, as this appears to be a significant functional difference compared to the legacy extension.

Any clarification would be greatly appreciated.

1 Like