September 23, 2026 · Muhammad Rehan · More by Muhammad Rehan
Shopify Deprecated useBuyerJourneyIntercept: What's Next
Shopify is deprecating client-side checkout blocking. Here's what actually breaks, and why Cart and Checkout Validation Functions are the replacement.

Two changes to Shopify checkout, six months apart, point at the same conclusion: client-side checkout blocking is on its way out.
On January 26, 2026, checkout UI extensions that support blocking switched from blocking-by-default to non-blocking-by-default. Any merchant relying on one now has to explicitly turn on "Allow app to block checkout" in the checkout and accounts editor, or the extension simply stops enforcing anything.
Then, starting with API version 2026-07 (announced July 2, 2026), Shopify deprecated the mechanism itself: the useBuyerJourneyIntercept hook and the block_progress capability it depends on. Existing extensions built on it keep running on current and prior API versions, but Shopify has flagged it for eventual removal without naming a version or date. If your team built order minimums, shipping restrictions, or B2B rules on useBuyerJourneyIntercept, you're on a deprecation clock with no expiry printed on it — the kind of change that's easy to let sit until an API bump breaks it outright.
Why Shopify is pushing validation server-side
Shopify's own guidance is direct: migrate to a Cart and Checkout Validation Function. These run server-side and, per Shopify's documentation, apply your rules consistently across all checkout surfaces, including express wallets and agentic checkout. That's the real gap a UI extension can't close — a hook running in the checkout UI never had a reliable way to intercept Shop Pay, Apple Pay, Google Pay, or an agent-driven checkout flow the same way it intercepts a shopper clicking through the standard checkout steps. A validation Function attaches to the cart and checkout at the platform level, so it fires regardless of which surface the buyer is completing the purchase on.
If your useBuyerJourneyIntercept usage was specifically about rejecting discount codes, note that Shopify has a narrower answer for that one case: the discount Function API now supports rejecting a code with a custom message, so that logic doesn't need a full validation Function migration at all.
What to check before you migrate
Validation Functions don't cover everything a checkout UI extension might have touched. Per Shopify's target support table, they're supported for B2B, Cart, Checkout, Draft Order (Admin and Checkout), Storefront, and Storefront Accelerated Checkout — but not for the Create Order API, Order Edit, POS, pre-order/Try Before You Buy, or subscription recurring-order targets. If your business rules currently run against one of those unsupported targets, there's no drop-in server-side replacement yet, and that's worth flagging to your team before you plan the migration timeline.
The practical move for any Plus merchant with checkout business rules built before mid-2026: audit which extensions still depend on useBuyerJourneyIntercept, confirm each rule's target is on the supported list, and treat "still works" as a temporary state rather than a stable one.