<aside> 📢
Content management update (April 2026): The Shopify CLI now has built-in store execution capabilities that handle content management natively. Shopify's AI Toolkit builds on top of this, giving AI tools like Claude Code direct Admin API access. It does the same thing - creates an app, installs it on your store, and gives you API access - but setup is much quicker. The content management workflow in this template is no longer needed. The template remains useful for custom migration scripts and bulk operations.
</aside>
In January 2026, Shopify removed the ability to create custom apps directly from the Shopify admin, which was the simplest way to get an Admin API access token. Getting a token now requires setting up an app and going through one of three OAuth flows. (Update: The Shopify CLI can now handle this as well - see the notice at the top of this page.) For the full breakdown of each and why Authorization Code Grant is the right fit for this use case, see Token Strategy & Design Decisions.
But beyond just getting a token, there were two specific things I needed a better solution for.
The first was managing store content without constantly jumping into the Shopify admin. When you need to create or update many resources of the same type, doing it by hand through the UI doesn't scale. Having direct API access from the terminal, and being able to layer AI on top of it through Claude Code, makes this a much faster and more automatable workflow.
The second was running custom data migrations. Dedicated migration apps like Matrixify cover common scenarios, but they are limited in what operations they expose and come with a recurring cost. For anything outside their scope, you need direct API access and custom scripts anyway.
This template handles the boilerplate that makes all of this possible: one-time OAuth setup, then direct unrestricted Admin API access through CLI scripts.
A headless, non-embedded Shopify app built in TypeScript that runs a minimal Express server solely to complete the OAuth Authorization Code Grant. Once the app is installed, the server captures a non-expiring offline access token and stores it in a local SQLite database via Prisma. After that, the server is never needed again - all subsequent Admin API access happens through CLI scripts that read the token from the database. GraphQL codegen provides full type safety across all queries and mutations.
No frontend. No App Bridge. No Remix. Just a one-time OAuth flow, then direct Admin API access from your terminal.
<aside>
⚠️ Important: This app should be treated with extreme caution. You have access to powerful and irreversible Admin API operations - including the ability to delete products, orders, and other critical store data.
</aside>
<aside> ⚠️
Deprecated. The Shopify CLI now handles this natively, and the AI Toolkit builds on top of it for AI-assisted workflows. Setup is much quicker. See the notice at the top of this page.
</aside>
Run ad-hoc GraphQL queries and mutations with npm run gql. Create metafield definitions, set metafield values, manage metaobjects, update menus and pages - anything the Admin API exposes, without leaving your editor. No scripts needed.
The included /store-content slash command takes this further by letting Claude Code read your store's data, compose validated queries against Shopify's live schema, and execute them directly. Instead of hand-writing GraphQL, describe what you want in plain language and Claude handles the query construction, validation, and execution. This turns store content management into a conversation.
<aside>
</aside>