Discrepancy between CLI, Admin, and Asset API file size limits

Short description of issue

Large Liquid files (>256 KB) can be updated through Admin and Shopify CLI, but not the Asset API

Reproduction steps

The file can be edited and saved normally through Shopify’s Admin theme code editor.
The file can also be modified locally and successfully pushed using Shopify CLI.
Updating the file through the Asset API fails due to the 256 KB limit.

Additional info

In a couple of themes now, I’ve encountered files that are over Shopify’s 256 KB limit, due to extensive {% schema %} configuration.

When Locksmith (our app) tries to modify one of these files through the Asset API, the update fails because the file exceeds the 256 KB limit.

My theory/conclusion is that Shopify recognizes schema content differently from ordinary Liquid. Theme Check’s MaxFileSize behavior excludes content inside {% schema %} when calculating the size of non-asset files.

The theme developer’s position is that the large schema is intentional (and perfectly normal) because it exposes a substantial number of configuration options through the Theme Editor.

One such file contains over 20,000 lines of schema. Example: sections/main-product.liquid in the theme Playtime.

Can you update the Asset API file size checker so that it ignores schema?
This hurts both us and merchants who need to use our app, or apps like ours.

What type of topic is this

Bug report

The 256KB limit in the docs is stated as a flat per file limit with no schema exemption mentioned, so this looks like inconsistent enforcement between the REST Asset API and whatever CLI or the theme editor use under the hood rather than intended behavior. I’d file it with Shopify support with the exact byte count and theme id since it is not documented as schema aware.