Pos.order-details.action.menu-item.render stopped working in POS v10 / 2025-04

My POS extension used to render a button using:

[[extensions.targeting]]
target = "pos.order-details.action.menu-item.render"

This worked reliably before the May 2025 POS v10 update.

Now:

  • The button no longer appears at all in the Order Details view
  • Switching to pos.order-details.action.render causes POS to show a button, but tapping it gives “Error loading extension”
  • Even a minimal extension like this fails to mount:
export default reactExtension('pos.order-details.action.render', () => {
  return <Text>Hello</Text>;
});

Setup details:

  • api_version = "2025-04"
  • CLI v3.80+
  • POS app fully updated on iPad
  • Tried fresh handle (handle = "pos-print-button-v3")
  • Reinstalled app, toggled extension in POS Admin, clean --reset deploys
  • Happens in both live and dev stores

This used to work with identical code, and now neither target works reliably. I’m wondering if this is related to what was reported here, but for order-details.

Can someone confirm if this is a known issue or regression in POS v10?

Thanks in advance.

It’s a regression and no one at Shopify seems to know what’s going on. We’re in emergency mode with our app since the mid May.
For us this is vital as we’re using a button to print our fiscal receipts.

Do we have any more information about this?
i’ve also ran into this issue where the menu-item is no longer rendering

Nothing yet – I have still not received any kind of response from Shopify either.

It’s a major issue for us as well.

@Tessa @ThomasVaRo @Graffino_Team

Could you please confirm if the extension has been activated in the POS channel?

If you need help, there’s a guide under “Add POS UI Action and Block Extensions on Shopify POS.”

Hello,

The extension’s other targets work that particular target doesn’t.

Similar issue in my report: Post.purchase.post.action.menu-item.render not rendering our button

Hi folks :waving_hand: thank you all very much for your patience on this. We have a fix in the works for this issue. I can’t guarantee an exact turnaround time at the moment, but did just want to let you know that we are working on this.

In the meantime, we identified the issue as being related to cases where the extension app case would have a menu-item but not an action. As a workaround, the best way to mitigate the error is to extend both the menu-item and action targets for your targeted surface. We would reccomend applying this workaround even when the fix is pushed just in case any merchants are using an un-updated version of POS where the error still is present.

Let me know if I can clarify anything more on our end here - happy to help. I’ll loop back with you all once the fix on our end is pushed though :slight_smile:

Hi all,

Bellow you can find a workaround communicated on a support ticket.
Worked for us.


In the meantime, the engineering team has shared a recommended workaround that may help restore functionality across devices running POS v10:

In your extension config, define both the menu-item.render and the corresponding action target, even if the action is unused:

[[extensions.targeting]] target = "pos.purchase.post.action.menu-item.render"[[extensions.targeting]] target = "pos.purchase.post.action.render" 

And in your React extension, provide a no-op component for the action:

const Action = () => {  return null;};export default reactExtension('pos.purchase.post.action.render', () => <Action />);

This workaround is safe to use and will help mitigate the issue while the fix is rolled out. It also ensures compatibility for stores that may not yet have the updated POS client once the change is deployed.

1 Like

I have a similar issue but I don’t need any UI updates “post purchase” but I do want to trigger “pos.purchase.post.action.render” to perform an action (specifically to update the order’s metafields). This is an app with a few extensions and the “pos.purchase.post.action.render” is the only one not triggering.
Is that extension implemented yet in “unstable” (which I am using) ?

Hi @ambstrat :waving_hand: thanks for jumping in with your details, sorry to hear you’re hitting this snag as well.

This sounds like it could be a variant of the known issue in POS v10 that we had been tracking internally.

As a quick workaround, could you try extending both the menu-item and action targets even if you don’t need UI, something like adding a component for the action like this:

const Action = () => null; export default reactExtension('pos.purchase.post.action.render', () => <Action />);)

Then, can you try redeploying the extensionwith a fresh handle. If you’re on unstable, just double-check that the extension is activated in the POS channel via Admin (under “Add POS UI Action and Block Extensions”), and test on a fresh dev store to rule out any potential caching issues as well.

For your metafield-specific case, I’d just confirm your app has the right OAuth scopes like write_orders as well. Downgrading to a stable version like 2025-07 might help as a test too.

Let me know if that works or if you can share a bit more on your code/setup, I’m happy to dig deeper or clarify anything :slight_smile:.

Thanks, Alan.
I tried dummy functions for both the UI and action - still no trigger. I am using a brand new dev store with Checkout extensions turned on (I did so at store create time).

I don’t know exactly how to ‘just double-check that the extension is activated in the POS channel via Admin (under “Add POS UI Action and Block Extensions”)’…can you be more specific?

Hey @ambstrat - no worries, thanks for trying that, sorry for the unclear info there in my earlier reply as well. Here’s a link to the Help Docs I was referring to in case that helps:

https://help.shopify.com/en/manual/sell-in-person/getting-started/shopify-pos-from-admin/pos-ui-extensions#action-extensions

Just wanted to see if directly enabling the extension that way could help resolve things. If the triggers still don’t work, just let me know here and I can keep digging into this for sure.

Hi - I started fresh with a new minimal project and - with both extension types defined - I can trigger either one at checkout. Nice!

However, I can’t seem to update order metafields in the extension. That is a different issue so I’ll do a new post for that thread.

Thanks!

1 Like

Thanks @ambstrat - glad things are working on the extension front there at least! I’ll clsoe out this thread for now, but I’ll take a look at your other thread and see if I can assist there as well :slight_smile: