Lost handle for Customer Account Page?

We had a custom Customer Account page connected through a Gadget app. We had to upgrade to web-components and API 2026-04 to make some changes, and in the process of doing that, lost our “handle” on that page?

The Extension has always had the handle in the [[extensions]] part of the shopify.extension.toml - but the page in the menu now renders: account.[domain].ca/pages/4da16f31-a86b-4bd7-a09a-228b237e8396 instead of account.sigmacanada.ca/pages/camera-bag - where it previously worked before the migration. It seems this handle cannot be changed via the Shopify API and I’m not seeing anywhere to update it in the Shopify Admin?

The snippet from our TOML file:
[[extensions]]
name = “camera-bag”
handle = “camera-bag”
uid = “97c02e2a-xxxx-xxxx-xxxx-edbb1e4791adf3a219fe”
type = “ui_extension”

[[extensions.targeting]]
module = “./src/CameraBag.jsx”
target = “customer-account.page.render”

Do I need to create a whole new extension in Shopify CLI and re-deploy it to get that handle back?

Hey @MikeLast :waving_hand: thanks for reaching out.

I see what you mean and I’m digging into this deeper. I’ll follow up here once I have more to share.

Hi Wes, were you able to find anything on this?

Hey @MikeLast, thanks for following up here.

I did some digging alongside the team that works on customer account extensions, and went through the history together with them. The short version is that we couldn’t find any evidence that these full-page customer account extensions were ever served at a handle-based URL like /pages/camera-bag. The public/direct URL for an app extension page has always resolved to /pages/<app_extension_uuid> — the UUID you’re seeing now. So while I completely understand why you would want the functionality of using URLs like this, the UUID URL is actually the expected behaviour, not something that changed during your move to web components and 2026-04.

With that said, the idea of human-readable / vanity URLs for these pages has come up internally before. So, I’ve submitted a feature request on your behalf to capture exactly this use case: a stable, readable page URL that uses the handle field in your extension TOML file. I can’t guarantee anything, but your example is now on record with the team that owns this area.

I hope this helps!