Why can't I change the wording on Shopify's "item not available" checkout popup?
Shopify's "some items aren't available" checkout message is system-generated, not theme content — here's what's actually editable and where to fix the confusion instead.
What's going on
A customer gets to checkout, and Shopify shows a popup saying something like "Some items are not available in the requested quantity" — plain, generic, and impossible to find in your theme's code or content settings. You go looking for the file or section that controls it, the way you'd edit any other piece of storefront copy, and come up empty. It isn't in your theme's sections, it isn't in your product or cart templates, and it doesn't show up as a locale string you can override the normal way.
That's because Shopify's checkout — especially since the move to Checkout Extensibility, which phased out editable checkout.liquid for most stores — is a managed, platform-controlled experience. Merchants can restyle checkout's colors, fonts, and logo, and can edit a defined set of labels and button text through checkout branding settings, but validation and system messages like inventory-availability errors are generated by Shopify's own checkout logic rather than pulled from your theme's content files. You're not missing a setting; that specific string genuinely sits outside the editable surface for most merchants.
This shows up often enough in Shopify's own community forums that staff have had to explain the boundary directly: some checkout text is merchant-editable, and inventory/error validation text generally is not, at least not through the theme editor. It's a recurring point of confusion because nearly everything else about a Shopify storefront is themeable, so merchants reasonably expect this to be too.
Why it happens
Shopify draws a hard line between what's theme-controlled and what's checkout-controlled. Product pages, cart pages, and most of your storefront run on Liquid templates and JSON translation files you fully own. Checkout, by contrast, is a shared, PCI-compliant surface that Shopify operates directly for security and consistency reasons — merchants get a defined set of customization hooks (branding, layout, some labels via checkout branding settings, and content overrides via the Translate & Adapt app) rather than open access to every string.
Inventory-availability messaging specifically is generated by checkout's real-time stock validation logic, which needs to stay consistent and unambiguous across every store on the platform (it's tied to order accuracy and oversell prevention, not just cosmetic copy). Because of that, it isn't stored as an editable content string the way, say, a button label is — it's closer to a system message than a template output, which is why it doesn't appear where merchants expect to find and edit it.
5 ways to fix it
Fix the message where it actually lives: upstream of checkout
Since you can't reword the checkout popup itself, put the explanation where you can control it. Add a line to your cart drawer or cart page ("Quantities are checked at checkout — if an item shows unavailable, try reducing the quantity or removing it"), and show real-time stock levels or low-stock badges on product and cart pages so customers see supply issues before they reach payment, not after. This is a theme edit you can make today, in Liquid or your theme editor's cart/product sections.
Use Shopify Translate & Adapt to change the language, not the wording
Install the free Shopify Translate & Adapt app and check Settings > Checkout under your store's checkout content strings. In many cases you can override the string for a specific locale (including your store's default language treated as a "translation"), which lets you swap in different phrasing even on a single-language store. This won't work for every system-generated validation message, since some are hardcoded to checkout logic rather than pulled from translatable content, but it's worth testing on your own checkout before assuming it's impossible.
Check Checkout Branding for adjacent, editable text
In Settings > Checkout > Customize, Shopify's checkout branding editor lets you restyle colors, fonts, and edit certain labeled strings (buttons, section headers, some upsell/order-note copy). It's worth a pass to confirm the inventory error itself isn't one of the newly exposed editable strings — Shopify has been incrementally adding more editable checkout text over time, so what wasn't editable a year ago may be partially editable now.
Reduce how often the message appears at all
If the real goal is fewer confused customers rather than different wording, tightening inventory accuracy has more leverage than any copy change: enable oversell prevention settings, sync inventory faster across sales channels, and set safety stock buffers on fast-moving SKUs so the checkout rarely needs to show the message in the first place.
Ask Shopify Support to confirm current scope
Because Shopify periodically changes what's editable in checkout (especially post checkout-extensibility migration), file a quick support request describing the exact message and where it appears. Support can confirm definitively whether your plan and checkout configuration allow any override, which saves you from testing dead ends.
Bottom line
This is a platform-boundary problem, not a bug: Shopify's inventory/stock validation messages at checkout are system-generated and, in most configurations, sit outside both the theme editor and the checkout branding editor, so no app can inject custom wording into that exact popup. The realistic fix is upstream — clearer stock messaging on cart and product pages, tighter inventory sync, and periodically re-checking Translate & Adapt and Checkout Branding since Shopify keeps expanding what's editable. If you go looking for an app here, look for one that improves stock-visibility and low-stock messaging on your storefront pages rather than one that claims to edit checkout system text directly — that claim usually doesn't hold up.
Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.