Shopify Hydrogen Blog

Deploy Hydrogen to Oxygen From a Development Store

By Emre Mutlu, creator of the world's first English Shopify Hydrogen course on Udemy.

Published August 4, 2026Last updated August 4, 20267 min read

TL;DR

Oxygen now works on Shopify development stores. Use it for a login-protected Hydrogen prototype and technical validation—not a public production demo.

Development store

Install the Hydrogen channel and create or select the storefront.

Hydrogen build

Connect the supported Hydrogen project and its environment variables.

Oxygen deploy

Use GitHub deployment or the Hydrogen CLI to create an immutable preview.

Authenticated QA

Sign in to validate data, cart, checkout handoff, runtime behavior, and logs.

A development store now covers the Oxygen deployment loop, but the resulting environment remains login-protected.

Shopify removed a real source of friction from early Hydrogen work: as of August 3, 2026, a development store can deploy a Hydrogen storefront to Oxygen without moving to a paid plan first.

The important limit is just as clear. Development stores do not include public environments. Every Oxygen deployment URL created from one requires a store login.

That makes the new workflow useful for an authenticated proof of concept, architecture validation, and runtime QA. It does not create a public demo, a production environment, or proof that the storefront is ready for customers.

What changed

Before this update, using Oxygen required the store to be on a paid Shopify plan. A team that wanted to prove the Shopify-native hosting path early had to activate billing or use another host for the prototype.

Now the supported stack can be tested earlier:

  • A Hydrogen project can connect to a development store.
  • The storefront can deploy to Oxygen.
  • The deployment can use Oxygen environment variables and runtime behavior.
  • Developers and authorized store users can inspect the result after signing in.

The hosting cost barrier moved. The public-access boundary did not.

What this deployment can and cannot prove

QuestionDevelopment-store Oxygen result
Does the Hydrogen app build for Oxygen?Yes
Are required Shopify environment variables connected?Yes
Can product, collection, cart, and checkout flows be tested?Yes, by authorized users
Can Oxygen runtime behavior and logs be inspected?Yes
Can an anonymous stakeholder open the URL?No
Can search engines crawl it as a public storefront?No
Does it prove the production domain and launch configuration?No

This distinction keeps the prototype honest. The development-store deployment is an engineering environment, not a customer-facing launch.

How to deploy Hydrogen to Oxygen from a development store

1. Start with a real development store

Create or select the Shopify development store that will own the test storefront. Use representative products, collections, markets, and customer-account settings when those areas affect the architecture decision.

Do not fill the store with invented performance proof or fake merchant data. The prototype needs enough realistic structure to expose integration risk, not enough decoration to look like a finished brand launch.

2. Install the Hydrogen channel

Install the Hydrogen sales channel in that development store, then create or select the Hydrogen storefront. The channel is the Shopify-side control surface for Oxygen, storefront credentials, deployments, environments, and logs.

For a feasibility prototype, use current Hydrogen unless the explicit purpose is to test the separate Hydrogen developer preview. Shopify still describes current Hydrogen with React Router as the fully supported path.

3. Create the project and prove it locally

The current Hydrogen quickstart remains the shortest supported starting point:

npm create @shopify/hydrogen@latest oxygen-dev-store-lab
cd oxygen-dev-store-lab
npm install
npm run dev

Before deploying, prove the smallest commerce loop locally:

  1. A collection loads products from the intended store.
  2. A product page resolves a real variant.
  3. Adding and updating a cart works.
  4. Checkout handoff reaches the correct Shopify checkout.
  5. Missing routes return the expected response.

A local success is not an Oxygen success, but it removes basic application errors before the runtime check.

4. Connect GitHub or use the Hydrogen CLI

Shopify recommends GitHub-based continuous deployment for Hydrogen projects. Connecting the repository creates a repeatable deployment path for branches and commits.

For a manual validation, the Hydrogen CLI can build, upload, deploy, and return the unique deployment URL:

npx shopify hydrogen deploy

Follow the CLI prompts to authenticate, select the development store, and select the Hydrogen storefront. Do not put Storefront API tokens or other secrets in the repository.

5. Verify the environment variables

Oxygen automatically provides the required Shopify variables when the storefront is created. The important group includes the store domain, public and private Storefront API tokens, Customer Account API values, storefront ID, and SESSION_SECRET.

Add only the extra variables the prototype needs, such as a CMS or search endpoint. Keep server-only tokens secret and scoped to the correct environment.

Oxygen deployments are immutable snapshots. If an environment variable changes, create a new deployment or redeploy the relevant environment before expecting the change to appear.

6. Open the deployment as an authorized store user

The development-store URL will require a Shopify store login. That is expected behavior, not a deployment failure.

Private deployment authentication also adds request overhead, so do not use this URL as a clean public performance benchmark. Use it to compare application behavior, request shape, caching decisions, and Oxygen compatibility under the environment Shopify provides.

The prototype QA checklist

Run the same small checklist after every meaningful deployment:

  • Confirm the deployed commit and environment.
  • Load homepage, collection, product, search, cart, and a deliberate 404.
  • Check variant selection and cart persistence after refresh.
  • Confirm checkout handoff uses the intended store and market.
  • Test logged-in customer behavior if the scope includes customer accounts.
  • Confirm server-only credentials never appear in the browser.
  • Inspect Oxygen logs for runtime errors and failed upstream requests.
  • Verify cache behavior on catalog queries that are meant to be cached.
  • Record the deployment URL, result, and unresolved risks.

The useful deliverable is not just a URL. It is a short evidence set showing which parts of the proposed architecture work and which decisions remain open.

What not to promise from this environment

A development-store Oxygen deployment does not prove:

  • Anonymous stakeholder access or a public sales demo.
  • Production domain, DNS, redirect, canonical, robots, or sitemap behavior.
  • Real traffic performance without the login boundary.
  • Production analytics, consent, app callbacks, or customer communication.
  • A safe Liquid-to-Hydrogen migration plan.
  • That Hydrogen is the right commercial decision for the store.

Those are later gates. They need a production-like environment, a real migration inventory, or both.

How to move from prototype to a production decision

End the prototype with three possible outcomes.

Proceed with Hydrogen when the custom storefront solves a defined business problem, the important integrations work, and the operating cost is understood.

Narrow the scope when the runtime is viable but customer accounts, search, CMS, analytics, or app replacements still need separate proof.

Stay on Liquid for now when the main problem can be solved safely in the theme, the prototype exposes too much operational overhead, or the business case is still weak.

That is why the new development-store access matters. It lets the hosting and integration questions be answered before billing pressure turns an experiment into an assumed migration.

The practical takeaway

Use Oxygen on a development store as an authenticated technical checkpoint.

Prove the build, Shopify connection, cart, checkout handoff, environment variables, logs, and the riskiest integration. Then carry only the verified parts into production planning.

That evidence can also prevent an unnecessary rebuild when the prototype shows that the existing theme remains the safer business and operating choice.

If someone needs a public demo, production-domain QA, or an anonymous performance test, move to an environment designed for that purpose instead of treating the login-protected development deployment as something it is not.

FAQ

Short answers AI engines and merchants can lift quickly.

Can a Shopify development store deploy Hydrogen to Oxygen?

Yes. As of August 3, 2026, Shopify development stores can deploy Hydrogen storefronts to Oxygen without first moving to a paid plan.

Can an Oxygen deployment from a development store be a public demo?

No. Development stores do not include public environments, so every deployment URL requires a store login. Use it for development and technical validation, not an anonymous customer demo.

Does a development-store deployment prove production readiness?

No. It can prove the Oxygen build, environment, data, cart, and checkout path. Production still needs its own domain, public-environment behavior, analytics, crawler checks, redirects, and launch QA.

Internal links

Where this topic connects across the site.

External references

Official sources behind the technical framing.

A useful feasibility prototype should end with evidence and a decision: continue with Hydrogen, narrow the scope, or keep the store on Liquid until the business case is stronger.

Related guides

Related issues, templates, and next steps.

Next Step

Let’s scope the lean Hydrogen storefront you actually need.

If this production note sounds like your store's situation, I can help you turn the insight into a clear Hydrogen scope and launch plan.

Send an email brief

Direct senior access. No fake agency layer.

Owned lead capture

Request a Hydrogen Scope Review

Send the required fields first. Add design status, product count, integrations, SEO risk, budget, and timeline only if they are already clear.

I do not sell Hydrogen if Liquid is the better move.

Short brief path

Required: name, email, store URL or brand, and main problem. Start with:

  • Store URL or brand
  • What feels blocked
  • Current stack and product count
  • Design status and must-have integrations
  • Budget and timeline, if you know them
Which features are needed?

Your details are used only to reply to this project inquiry. No newsletters, no list sharing. If this is a small theme tweak, I will usually point you to a lighter option.