Why am I getting an app extension error on my ecommerce platform?

Topic summary

Main issue: A Shopify app extension (blocks/swiperJS.liquid) throws schema validation errors: unknown keys (‘presets’, ‘max_blocks’, ‘blocks’), missing required key (‘target’), and limits on settings (max 6 non‑interactive, 25 interactive).

Requests: Another participant asked how to resolve the same error.

Latest update/likely cause: One user fixed it by removing multiple settings that lacked IDs. Settings without unique IDs were apparently treated as interactive settings, contributing to the validation limits and errors. Suggested alternative: assign a unique id to every setting to prevent misclassification and conflicts. A provided snippet showed a setting object missing an id.

Outcome: This resolved the issue for at least one participant. There is no confirmation from the original poster, and the errors about unknown schema keys and missing ‘target’ were not specifically addressed beyond the ID fix.

Status: Partially resolved; the ID-related fix is actionable, but whether additional schema key adjustments are required remains open.

Summarized with AI on January 5. AI used: gpt-5.

The error is:

┏━━ Error ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ X [blocks/swiperJS.liquid] Invalid tag ‘schema’: unknown key ‘presets’, [blocks/swiperJS.liquid] Invalid tag ‘schema’: unknown key ‘max_blocks’, [blocks/swiperJS.liquid] Invalid tag ‘schema’: unknown key ‘blocks’, [blocks/swiperJS.liquid] Invalid tag ‘schema’: missing required key ‘target’, [blocks/swiperJS.liquid] Invalid tag ‘schema’: settings: must have a maximum of 6 for non-interactive settings, [blocks/swiperJS.liquid] Invalid tag ‘schema’: settings: must have a maximum of 25 for interactive settings

What the hell, why can’t I do this?

2 Likes

How you solve this Error?
because i also face this error.
Thank you.

1 Like

I encountered the same error, which appeared to be caused by having multiple settings without IDs, as shown below. After removing them, the issue was resolved. Another potential solution is to assign a unique ID to each setting, to avoid them being categorized as ‘interactive settings’.

{
"type": "paragraph",
"content": "xxxxxxxxxxxxxxxxxxx"
},
1 Like