Your theme is throwing a Liquid error
undefined method, an Unknown tag syntax error, a section that won’t save its schema JSON, or a Could not find asset, we read the stack, find the failing line, and fix it on a duplicate theme so your live store is never at risk.
- Emergency triage starts in under 4 hours
- We never edit your published theme
- Fixed price from $99: no hourly surprises
How fast can you fix a Shopify Liquid error?
A single, well-defined Liquid bug, a Liquid error: undefined method, an Unknown tag syntax error, or a broken {% for %} loop, is typically reproduced, fixed and verified within 24-48 hours for a flat $99. If your theme is white-screening or a section has vanished from the live store, emergency triage starts in under 4 hours and we can roll the theme back immediately. Every fix is built on a duplicate theme and published only after you approve a preview link, so your live store is never at risk.
- < 4h
- Emergency triage
- Theme white-screening or a section gone from the live store? We start triage within four hours and roll the theme back fast.
- 24-48h
- Standard fix window
- One well-defined Liquid error reproduced, root-caused, fixed and verified on a duplicate theme inside one to two business days.
- 100%
- No-edit-live policy
- We never touch your published theme. Every Liquid edit lands on a duplicate, then publishes only after you approve a preview.
- JSON
- Schema validated
- We validate every {% schema %} and JSON template before publish, so the theme editor never breaks on a trailing comma again.
The Liquid errors we see most
Real symptoms with the error strings you are probably staring at right now. If yours is not here, report it anyway: these are just the usual suspects.
Liquid error: undefined method
A template calls a property on nil, e.g. undefined method ‘price’ for nil after a removed object or metafield. We trace the failing {{ product.price }} and guard it with a default filter or an if check.
Unknown tag syntax error
Liquid syntax error: Unknown tag ‘endif’ or a mismatched {% if %} / {% endif %}, a stray {% else %}, or {% endfor %} on the wrong loop. We fix the block nesting so the parser is happy.
Invalid {% schema %} JSON
The theme editor throws Invalid JSON in tag ‘schema’, usually a trailing comma, a duplicate id, or smart quotes pasted in. Settings stop saving. We repair and validate the section {% schema %} block.
JSON template parse error
An Online Store 2.0 JSON template (templates/product.json) fails to render after a hand edit, a bad section key, an orphaned block reference, or invalid JSON. We rebuild the template tree so sections load in order again.
Broken {% for %} loop / pagination
A collection loop renders nothing, duplicates items, or ignores {% paginate %}. Caused by looping the wrong object, a missing {% endpaginate %}, or a limit clash. We fix the loop and the paginate by count.
Could not find asset
Liquid error (sections/main-product line 42): Could not find asset snippets/price.liquid, a {% render %} points at a snippet that was renamed or never uploaded. We restore the snippet or repoint the include.
Report to fixed in five steps
Everything happens on a duplicate of your theme. You approve a preview before anything goes live.
01Report
Within 1hSend the symptom, the exact error string (e.g. Liquid error: undefined method), the affected template and a collaborator invite. We confirm scope and an ETA.
02Reproduce
Same dayWe duplicate your live theme and reproduce the error on the copy, never on the published theme. The theme editor preview and browser console pin down the failing tag or filter.
03Root-cause
Same dayWe isolate the real cause, a nil object, a malformed {% schema %}, a renamed snippet, a broken {% for %} loop, not just the symptom, so the fix actually holds.
04Fix + test
24-48hWe patch the Liquid on the duplicate theme, validate every JSON block, then regression-test PDP, collection, cart and search and send a preview link to approve before anything goes live.
05Publish + verify
On approvalYou approve, we publish the duplicate as the live theme and verify on production. The old theme stays in your library for one-click rollback, and you get a short write-up of the fix.
Fixed prices. No hourly surprises.
Pick the tier that matches your situation. Anything out of scope is quoted upfront before work starts: never billed silently.
Prices in USD at our canonical $25/hr rate. Quotes available in GBP / EUR / AUD / INR, just ask in the bug report.
Quick Fix
$99
~4h @ $25/hr · one bug, 24-48h
Best for: One well-defined Liquid bug, an undefined method, an Unknown tag syntax error, or a single broken {% for %} loop.
- One clearly-defined Liquid / template bug
- Reproduced & fixed on a duplicate theme
- Schema / JSON template validated before publish
- Regression test on PDP, collection & cart
- Preview link for your sign-off before publish
- Short written summary of the root cause
Bug-Fix Sprint
$499
~20h @ $25/hr · most popular
Best for: A batch of Liquid bugs, or one gnarly root-cause (a section that keeps breaking the editor, a tangled JSON template) plus regression tests.
- Batch of related Liquid / template bugs
- One deep root-cause + regression tests
- Section {% schema %} + JSON template repair
- Snippet / {% render %} dependency audit
- Metafield & dynamic-source binding fixes
- Duplicate-theme workflow + handover doc
Emergency / Retainer
Custom
24/7 SLA · on-call cover
Best for: Theme white-screening, a section missing on the live store, or you want standing on-call cover during a launch or peak season.
- Emergency triage starts in under 4 hours
- Immediate theme rollback to stop the bleeding
- 24/7 on-call across your store timezone
- Monthly retainer hours for ongoing Liquid work
- Priority queue ahead of standard tickets
- $2,499 stabilization sprint (~100h @ $25/hr) for themes in a bad state
Paste the error string and the template it breaks on
Two minutes to file. We reply with scope, an ETA and a fixed price, fast.
- "After trying and failing with multiple development companies Kishan came to the rescue in our hour of need."MLMichael Lin, Natonic
- "Where others quoted 10 hours minimum, he did it within 3."PVPieter Van Hees, Business Branding
- "Sorted out my issue within an hour!"SZSteve Zed
Fixing Shopify themes in
Honest answers to the Liquid bug questions everyone asks
How fast can you fix a Shopify Liquid error?
A single, well-defined Liquid bug, a Liquid error: undefined method, an Unknown tag syntax error, or a broken {% for %} loop, is typically reproduced, fixed and verified within 24-48 hours. If your theme is white-screening or a section has vanished from the live store, emergency triage starts in under 4 hours and we can roll the theme back immediately. Every fix is built on a duplicate theme and goes live only after you approve a preview.
How much does it cost to fix a Shopify Liquid bug?
Fixed prices at our canonical $25/hr rate, no hourly surprises:
- Quick Fix, $99 (~4h): one well-defined Liquid bug, 24-48h.
- Bug-Fix Sprint, $499 (~20h): a batch of bugs or one deep root-cause plus regression tests.
- Emergency / Retainer, custom: 24/7 on-call, immediate rollback, plus an optional $2,499 stabilization sprint (~100h) for themes in a bad state.
You get the scope and the price before any work starts.
What does “Liquid error: undefined method” mean?
It means a template is calling a property or filter on an object that is nil, for example undefined method ‘price’ for nil when a product, variant, or metafield no longer exists. The usual causes are a removed object, a renamed metafield, or a {{ ... }} that runs before the data is loaded. We trace the exact line, then guard the value with a default filter or an {% if %} check so the page renders cleanly instead of throwing.
Why am I getting “Liquid syntax error: Unknown tag”?
That error, e.g. Liquid syntax error: Unknown tag ‘endif’, almost always means the block tags do not match up. A common cause is a stray {% endif %} with no opening {% if %}, an {% endfor %} closing the wrong loop, or a typo in the tag name. We walk the template, fix the nesting so every open tag has a matching close, and re-validate the whole file so the parser stops complaining.
My section won’t save, “Invalid JSON in tag schema”. Can you fix it?
Yes. The {% schema %} block at the bottom of a section must be strict JSON. A trailing comma, a duplicate setting id, a smart quote pasted from a doc, or a missing bracket all trigger Invalid JSON in tag ‘schema’ and the theme editor refuses to save. We repair the JSON, de-duplicate setting IDs, and validate the whole block so the section saves and the editor controls work again.
A JSON template (product.json) broke after I edited it. Can you rebuild it?
Yes. Online Store 2.0 templates such as templates/product.json are JSON files that list which sections and blocks render. A hand edit can leave a bad section key, an orphaned block reference, or invalid JSON, and the page then fails to render. We rebuild the template tree, valid JSON, every section key matching a real section file, blocks in the right order, so the page loads as expected again.
My collection loop renders nothing or duplicates products. What’s wrong?
Usually the {% for %} loop is iterating the wrong object, the {% paginate %} block is missing its {% endpaginate %}, or a limit conflicts with the paginate count so items are dropped or repeated. We fix the loop target, the paginate by value, and the pagination markup so the grid shows the right products with working next/previous links.
I see “Could not find asset snippets/...liquid”. How do you fix it?
That error, e.g. Liquid error (sections/main-product line 42): Could not find asset snippets/price.liquid, means a {% render %} or {% include %} points at a snippet file that was renamed, deleted, or never uploaded. We either restore the missing snippet or repoint the include to the correct file name, then check the rest of the theme for other references to the same asset.
My metafield / dynamic source shows blank or throws an error. Can you fix that?
Yes. A connected metafield can render blank, throw Liquid error: undefined, or refuse to bind as a dynamic source in the editor when the namespace.key is wrong, the metafield type does not match how it is used, or the reference {{ product.metafields.namespace.key %}} is malformed. We fix the namespace/key, correct the type handling, and repair the dynamic-source binding so the value shows on the storefront.
Can you fix it without breaking my live store?
Yes, this is the core of how we work. We never edit your published theme. We duplicate it, reproduce and fix the Liquid bug on the copy, regression-test it, and send you a preview link. The duplicate is only published as the live theme after you approve it. Because the old theme stays in your Online Store theme library, rollback is a single click if you ever need it.
What access do you need to fix my theme?
The cleanest option is a Collaborator request (or a staff account) with Themes permission, so we can duplicate your theme and work on the copy. If you would rather not grant access, you can duplicate the theme yourself and share it, or download the theme files and send them over. We confirm exactly what we need when we reply to your bug report, we ask for the minimum scope required.
Is there a guarantee on the fix?
Yes. If the same Liquid bug comes back within 14 days of going live, we fix it again at no charge. Because we root-cause the real issue, the nil object, the malformed {% schema %}, the renamed snippet, rather than patching the symptom, recurrences are rare. For deeper themes, the part of our Shopify bug-fixing service that covers ongoing work is the retainer tier. This page is a spoke of our emergency e-commerce bug fixing service.
Got a Liquid error right now?
Send the error string and your store URL. We’ll triage fast and fix it on a duplicate theme, your live store stays safe.