Don't support blocks and presets in schema

When using “target”: “section” in a Theme App Extension schema, adding blocks or presets keys results in validation errors:

  • Invalid tag ‘schema’: unknown key ‘blocks’

  • Invalid tag ‘schema’: unknown key ‘presets’

Workaround:

We’re forced to hardcode multiple settings (e.g., column1, column2, column3) instead of using dynamic blocks, which:

  • Limits flexibility (fixed number of items)

  • Creates maintenance overhead

Example schema that fails:

{% schema %}

{

“name”: “My Section”,

“target”: “section”,

“settings”: […],

“blocks”: [

{

  "type": "column",

  "name": "Column",

  "settings": \[...\]

}

],

“presets”: […]

}

{% endschema %}

Question:

Is this a known limitation, or is there a way to enable blocks/presets in Theme App Extensions?

Hi @Tomer_Klein

Blocks are presets are not supported within the schema of theme app extensions. The available attributes for theme app extensions are listed here: Configure theme app extensions

1 Like