Discussion about using Hydrogen-sanity-demo with Shopify, creating a settings document, deploying on Vercel, and potential use of TypeScript.
The "Error: No settings context found" happens because you haven't created a settings document in your Sanity dataset yet. This is actually a common issue when first setting up the hydrogen-sanity-demo!
The hydrogen-sanity-demo wraps the app in a <SettingsProvider> component that expects to fetch a settings document from your Sanity dataset. This document contains shared values like site title, navigation, and other global settings. When SettingsContext.server.jsx queries for *[_type == 'settings'] and finds nothing, it throws this error.
To fix this:
- Make sure you've set up the pre-configured Sanity Studio that comes with the demo
- Open your Sanity Studio (usually at
http://localhost:3333or similar) - Create a new
settingsdocument - there should be a "Settings" document type in your schema - Fill in the required fields (site title, etc.)
- Publish the document
Once the settings document exists in your dataset, the error should disappear and your Hydrogen storefront will load properly.
The hydrogen-sanity-demo discussion on Sanity's community confirms this is the solution, and the maintainers noted they should make this error message more descriptive to help future users!
As a side note: if you're deploying this to production, the easiest path is via Docker (the demo team deploys to fly.io). Vercel requires some tweaking since Hydrogen uses Express, which is a bit of an anti-pattern for Vercel's serverless architecture.
Sanity – Build the way you think, not the way your CMS thinks
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.