When using shopify.resourcePicker() to select a product with more than 50 variants, clicking the “Select All” checkbox only selects the currently visible variants (~50), not all variants of the product.
The user must manually click “Load all variants” at the bottom of the list before selecting - but there’s no indication this is required, and most users don’t notice the button.
Steps to Reproduce
- Call shopify.resourcePicker({ type: “product”, filter: { variants: true } })
- Select a product with 100+ variants
- Click the “Select All” checkbox (top-left)
- Click “Add”
- Check the returned variants array
Expected: All 100+ variant IDs returned
Actual: Only ~50 variant IDs returned (the visible/rendered ones)
Code Example
const result = await shopify.resourcePicker({
type: “product”,
action: “select”,
multiple: false,
filter: { variants: true }
});
console.log(result[0].variants.length);
// Expected: 100+ (all variants)
// Actual: ~50 (only visible variants)
Business Impact
We’re a Shopify discount app. This bug causes:
- Silent data loss - Merchants believe they selected all variants, but only ~50 are saved
- Broken discounts - Customers adding variant #60, #70, etc. don’t receive discounts
- Support burden - Merchants report “discount doesn’t work” when it’s actually this App Bridge bug
- Workarounds required - We had to implement detection logic to auto-expand selections, adding fragile complexity
This has been affecting our merchants for over a year. We’ve seen the related thread where @Liam-Shopify confirmed it’s a known bug under investigation, but wanted to create a dedicated post to ensure
visibility given the severity.
Environment
- App Bridge (latest via shopify global)
- Affects both @shopify/app-bridge-react and direct App Bridge usage
- Reproducible across all browsers
“Select All” checkbox should select ALL variants, not just rendered ones
Is there an ETA on a fix? This is a P1 for apps dealing with variant-level selections.
