October 17, 2026 · Muhammad Umar · More by Muhammad Umar
Hydrogen's GA Release and the Standard Actions Cart Contract
Hydrogen went GA on October 14, 2026, as a framework-agnostic library — and the Standard Actions API is what makes sharing one cart possible across stacks.
A Library Now, Not a Framework
Hydrogen 2026-10 went generally available on October 14, 2026, after a developer preview that started in June 2026 and shipped seven releases based on developer feedback. The change is architectural, not incremental: Hydrogen now works with any JavaScript framework. It used to be a framework built on React Router — to get its cart or analytics, you built your entire storefront on it. Now it's a library you add to whatever stack you already run, instead of replatforming to use it.
Hydrogen still does the commerce work that's genuinely hard to get right: the cart, variant selection, localized pricing, consent-aware analytics, Shop Pay, and customer login. Your own framework keeps routing, data loading, and rendering — the parts that differ store to store. Existing Hydrogen storefronts keep working unchanged after this release, and adopting the library model is optional; Shopify provides a coding-agent migration skill for teams who want to move.
The Standard Actions Contract: One Cart, Many Callers
What makes the library model workable, rather than just a packaging change, is that Hydrogen now shares the same cart contract Liquid themes already expose: window.Shopify.actions, specifically getCart, updateCart, and openCart. An app, a piece of custom storefront UI, or a shopping agent can all mutate the same cart through this one documented interface, without needing to know whether that storefront renders the cart as a drawer or a full page.
A few mechanics matter if you're integrating against it. Standard Actions calls only work after DOMContentLoaded fires — Shopify loads the runtime as a module script, and browsers only run those once the HTML finishes parsing, so a call made earlier finds Shopify.actions undefined and throws a TypeError. updateCart also distinguishes two different kinds of problems: a userError means the change was rejected outright and the cart didn't change, while a warning means the change applied but with an adjustment, such as a line quantity capped at available stock. isDefault() lets code check, before calling an action, whether a storefront has already overridden that action's default behavior.
What It Unlocks for Agents — and for You
In browsers that support WebMCP, this same contract lets a shopping agent search the catalog and update the cart, with Shopify Checkout completing the order via complete_checkout once the buyer confirms — described by Shopify as requiring no extra integration work from the storefront.
None of this forces a migration. The real decision for a non-React storefront isn't whether to adopt Hydrogen wholesale — it's whether the Standard Actions contract is worth building against directly, since that's the interface apps and agents will increasingly expect any storefront to speak.