Checkout Extensions | Number of Blocks Limits

I’ve got a checkout extension working as expected, but it’s only letting me add a max of 3 instances of that extension into the checkout.

I’ve not set any hard limits, so assumed it would cap out at the general limit of 25, but it’s stopping at 3.

There’s no other extensions in the checkout either. Do you have to explicitly set anything on the extension to allow multiple instances of an extension?

To allow more than 3 blocks, set "max_blocks": 25 in your extension’s shopify.extension.toml file under [extensions.ui]. By default, Shopify limits blocks to 3 unless overridden. Also ensure your extension type and block settings support multiple instances. Deploy again after updating the config.

I don’t think "max_blocks": 25 is a possible property in an apps’ toml file.

@Lewis - can you share your toml config (replacing anything sensitive with demo placeholders)?

Hey @Liam-Shopify

Sure, please see below:

shopify.extension.toml

api_version = "2024-10"

[[extensions]]
name = "XXX"
handle = "XXX"
type = "ui_extension"

[[extensions.targeting]]
module = "./src/Checkout.jsx"
target = "purchase.checkout.reductions.render-after"

[extensions.capabilities]
api_access = true

[extensions.settings]
[[extensions.settings.fields]]
key = "xx_xx"
type = "single_line_text_field"
name = "XXXXX"

[extensions.settings]
[[extensions.settings.fields]]
key = "xx_xx"
type = "single_line_text_field"
name = "XXXXX"

[extensions.settings]
[[extensions.settings.fields]]
key = "xx_xx"
type = "single_line_text_field"
name = "XXXXX"

shopify.app.prod.toml

client_id = "xxx"
application_url = "xxx"
embedded = true
name = "xxx"
handle = "xxx"

[build]
include_config_on_deploy = true

[webhooks]
api_version = "2024-10"

[access_scopes]
scopes = ""

[auth]
redirect_urls = [ "xxx" ]

[pos]
embedded = false

It runs absolutely fine, it’s purely the limit on block counts.

Hey Lewis,

After digging into this I’ve discovered that a target can have no more than 3 activated extensions. You can have more extensions for other targets but the max for each target is 3.

Hey @Liam-Shopify ah ok, good to know! Can we get that added to the docs please? Unless i’ve just missed it?

Thanks for looking into it :saluting_face:

We’ll be updating our docs to reflect this - thanks again for flagging Lewis

1 Like