Shopify Admin API 2025-10 retires on Oct 16, 2026. Is your app ready? Check in 30 seconds →

For Shopify agencies and app developers

Shopify API upgrades, done before the deadline.

Shopify tells you what is deprecated. driftfix finds it in your code, fixes it, verifies it, and opens the PR, across every client app, every quarter.

npx driftfix scan . --to next

Free CLI · runs locally · your code never leaves your machine · full setup

$ npx driftfix scan . --to next

driftfix · shopify-admin 2026-10 → 2027-01

app/graphql/product-fields.graphql
  4:3   BREAKING    Product.bodyHtml is removed in 2027-01
                    → Product.descriptionHtml [auto-fix]

app/routes/app.products.$id.tsx
  12:9  SEMANTIC    Product.publishedAt changes from Date
                    to DateTime in 2027-01
  13:9  BREAKING    Product.featuredImage is removed
                    → Product.featuredMedia
  35:21 BREAKING    Argument productUpdate.input is removed
                    → productUpdate.product

app/lib/dynamic.server.ts
  2:18  INFO        Can't be analyzed statically:
                    template interpolation inside the query

6 breaking · 2 semantic · 2 unanalyzable · 2 auto-fixable
(8 operations in 14 files, 31ms)

The problem

Awareness is solved. Execution isn't.

Shopify ships a new Admin API version every quarter and retires each one after about 12 months. The API Health report tells you something is deprecated. It doesn't find the code, change it, or prove the change is safe.

  1. 01Find every query that touches the change
  2. 02Understand Shopify's replacement
  3. 03Rewrite the GraphQL and the code that reads it
  4. 04Regenerate types, run the tests
  5. 05Review the diff, open the PR
  6. ×Repeat across 10–50 client apps, every quarter, usually unbilled

How it works

From deprecation notice to reviewed PR

1

Scan

Every GraphQL document in your repo (.graphql files, #graphql literals, client calls) is validated against the exact schema of the version you're moving to. Deterministic: no guessing.

2

Explain

Each finding shows the file and line, what changed, Shopify's replacement, the deadline, and the evidence: the schema diff and Shopify's changelog.

3

Fix & verify

Simple renames are fixed by rules. Harder migrations use Claude. Every fix is re-validated, checked for response-shape changes, and given a confidence level.

4

Open the PR

High-confidence fixes go in a branch with a ready-made PR description. Anything that changes behaviour arrives as a draft with a review checklist.

BreakingFields, arguments, enum values and inputs removed in the target version
DeprecatedStill works, scheduled for removal, with Shopify's replacement
SemanticValid queries whose results change: nullability, formats, removed enum values your code compares against
UnanalyzableDynamic queries are reported with their location, never silently skipped
DeadlinesYour app's current version and the day it retires
Not AdminStorefront, Customer Account, Partner API and Functions are recognised and left alone

Trust is the product

The AI is never the source of truth

Detection is deterministic. Fixes may be AI-assisted. Verification is deterministic again. Every fix says how sure it is, and why.

HIGH Ready to merge

Passes every check and changes nothing your code reads. Applied by --apply.

MEDIUM Draft + checklist

Valid, but changes what your code receives or sends. Comes with concrete review items, e.g. "list.jsx:113 still reads email".

LOW Never applied

Failed verification. Reported so you know, never written to your code.

100%
of call sites developers changed in 26 real Shopify migrations were flagged (50/50)
381/381
seeded breaking changes detected at the exact location
278/278
deliberately wrong patches kept out of high confidence
<1s
typical scan of a real app (198 files in 0.4s)

Measured October 2026 on public Shopify apps from GitHub; re-run on every change in CI. We publish rates separately rather than one score, and we don't count a fix as a success until a human accepts it.

Runs where your code lives

The CLI scans locally. Nothing is uploaded. Shopify's schemas are fetched from Shopify and cached on your machine.

AI only when you ask

--llm is opt-in and uses your own Anthropic key from the environment. Only the affected file and schema excerpts are sent.

Fits your CI

SARIF for GitHub code scanning, Markdown for PR comments, JSON for everything else. Exit code 1 when something breaks.

Coming next · for agencies

Every client app, one portfolio, one click to PR

  • GitHub App: install once, driftfix watches every client repo
  • Portfolio view: apps by client, API version, findings, next deadline
  • "Generate migration PRs" across all high-confidence fixes
  • Automatic rescan when Shopify ships a new version
  • Client-ready reports, so upgrade work becomes billable work

Join the pilot

We're working with a small number of agencies on real client repos. Pilots get the GitHub App free during the pilot and shape what we build.

Request a pilot spot
Or email monksdowork@outlook.com Mail app

Or start now: run the free CLI on one of your client repos.

Pricing

The CLI is free. The agency control plane pays for itself.

Planned pricing for the GitHub App, AI fixes included. One upgrade cycle saves hours per app.

Free

$0

1 app

  • Scan, explain, deadlines
  • Rule-based fixes
  • A few AI fixes a month

Developer

$49/mo

3 apps

  • Everything in Free
  • AI fixes & verified PRs
  • Automatic rescans

Agency Pro

$799/mo

100 apps

  • Everything in Agency
  • Bring your own Anthropic key
  • Priority support

Annual plans: two months free. Pilot agencies: free during the pilot.

FAQ

Questions

Is my code sent anywhere?

Not by the scanner. driftfix scan runs entirely on your machine. Only driftfix fix --llm sends the affected file and schema excerpts to Anthropic, using your own API key.

Which APIs and languages are supported?

The Shopify Admin GraphQL API in JavaScript and TypeScript apps (Remix, React Router, Node, admin UI extensions). Storefront, Customer Account and Partner API queries are recognised and skipped. Ruby and PHP apps are on the roadmap.

How is this different from Shopify's API Health report?

API Health shows deprecated calls your app made in production. driftfix works on your source code, before deploy: it points to the exact line, explains the replacement, and writes a verified fix, including for versions that aren't released yet.

Will it break my app?

driftfix never applies a fix that fails verification, and fixes that change what your code reads are drafts with a checklist, not silent edits. Every change comes as a diff or a PR for your review, and your own CI runs on it.

Can I run it in CI?

Yes: npx driftfix scan . --to latest --format sarif -o driftfix.sarif uploads findings to GitHub code scanning, and the exit code fails the build on breaking changes. A weekly run catches new Shopify releases even without code changes.

Is driftfix affiliated with Shopify?

No. driftfix is an independent tool and is not affiliated with or endorsed by Shopify.

Find what breaks before your customers do.

Free for everyone. Two minutes from zero to your first scan.

  1. 1

    Download Shopify's schemas

    Once. Fetched straight from Shopify and cached on your machine.

    npx driftfix schemas pull
  2. 2

    Scan your app

    From the repo root, against the next API version.

    npx driftfix scan . --to next
  3. 3

    Explain or fix

    Details for any finding, then a verified diff you can apply on a branch.

    npx driftfix fix . --to next
View driftfix on npm v0.1.0

Prefer a global install? npm install -g driftfix · Needs Node.js 20.19+