← All articles

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.

Sources

Storefront Engineering

ASSOSIATIX works on this every day. See our Custom Shopify Storefront Development service

$./start-project.sh

READY TO BUILD
WHAT'S NEXT?

Tell us where you are and where you want to go. We'll help you choose the right path—storefront, system, product, or a focused growth sprint.