On Shopify, the bulk content jobs are the ones you keep putting off. Rewrite 200 product descriptions in one tone. Refresh the SEO title and meta description on the whole catalog. Push a new product name across every page. The problem is never the writing, it's the platform. Many fields can only be edited one product at a time, so the work stays manual. One store owner described the state of the art: "you're literally holding down your mouse and dragging for half an hour." And the AI built into Shopify stops reading after a few hundred products, so it never sees the rest of the catalog.
Scratch pulls your whole Shopify catalog down to files on your computer, one JSON file per product. Your AI rewrites every product, not the first few hundred, and about 10x faster than it works over an API because it reads the files directly instead of making a call per record. Every change comes back as a word-level diff next to the original, and nothing reaches your live store until you approve it. The same loop cleans up content here and CRM records in Scratch's sibling use case.
Scratch is the companion app to Whalesync: Whalesync keeps your store in sync with the rest of your tools, and Scratch is where you wrangle the catalog into shape first.
What Scratch edits in Shopify
- Product titles, descriptions (HTML), and handles
- Product vendor, type, and tags
- Product SEO title and meta description
- Articles, blogs, and pages (title, body, handle, tags, and SEO)
Need a field or entity not in this list? Tell Curtis. Connector tweaks are cheap; we just need to know what people want.
How it works
- Scratch pulls your catalog into files. Every product comes down to a local folder, one
.jsonper product in Shopify GraphQL Admin shape. Articles, blogs, and pages come too. Nothing touches your live store. - Your AI rewrites the fields you point it at. Open the folder in the agent you already use. Try a prompt on one product, then let it run across the whole catalog. Rewrite every description in this tone and fix the title case. It edits titles, descriptions, handles, vendor, type, tags, and SEO fields in the files, never the live store.
- You review every diff and publish. In the Scratch desktop app, each changed field shows next to the original, word by word. Approve what ships, and Scratch publishes only the products you approved back through the Shopify Admin API. Prices, variants, inventory, and product metafields are locked at the connector level and never written back.
What teams use it for
- Rewrite 200 product descriptions in one consistent tone in a single pass.
- Bulk-edit a 2,500-product catalog from one prompt, with a preview of every change.
- Refresh SEO titles and meta descriptions across the whole catalog.
- Push a product rename or rebrand across every product and page at once.
- Normalize vendor, type, and tags so faceted search and collections stay clean.
- Rewrite blog articles and store pages for tone and SEO alongside the products.
Why not let AI write straight to Shopify?
A direct API write or an MCP server hands the AI the publish button straight to your live store. There is no diff, no review queue, no rollback. One confident pass rewrites every product and ships it, and on Shopify the damage is exposed: many fields can only be changed one product at a time, so a blind bulk write is the only fast path, and by the time you spot the wrong tone or the wrong fact it is already live on every product page. It is also the slow path, because every product is a separate API call.
Scratch gives the AI the same full read and write access, but against a local copy of the catalog. Scratch pulls the publish step out and hands it to you. The AI can change anything, only you can ship it, and every published product is reversible per record.
What's safe, and what's locked
Prices, variants, inventory, and product metafields are locked at the connector level. They cannot be written back even if the agent edits them by mistake. You bring your own AI: Scratch holds no AI credentials and runs no model, so you sign into Claude, Claude Code, Codex, Cursor, Copilot, Cline, or Windsurf the way you already do. Nothing leaves your computer until you publish, and every published change is reversible per record. Optional Python validators check length rules, taxonomy, and field guards before anything reaches you for review, so a bad edit is easy to catch in the diff.
See Shopify connected to your AI agent
Questions Shopify users ask
Will anything change on my live store before I approve it?
No. Your AI only edits local files. Nothing reaches Shopify until you have seen the change as a word-level diff in the Scratch desktop app and approved it. Scratch then publishes only the products you approved back through the Shopify Admin API.
Can it touch prices, variants, or inventory?
No. Prices, variants, inventory, and product metafields are locked at the connector level and cannot be written back even by mistake. Scratch edits titles, descriptions, handles, vendor, type, tags, SEO fields, and your articles, blogs, and pages.
How is this faster than editing products one at a time in Shopify?
On Shopify many fields can only be edited one product at a time, so bulk content work is slow by hand. Scratch downloads the whole catalog as files, the AI rewrites every product in one pass about 10x faster than it would over an API, and you approve the diffs instead of dragging through the admin.
If a published change is wrong, can I undo it?
Yes. Every published change is reversible per record. The original stays next to the rewrite until you decide which one stays, so a bad edit is never a one-way door.
See it on your own Shopify store
The fastest way to trust it is to watch it run on your catalog. Book a 30-minute demo on your store, or try Scratch free and run the first pass yourself.