Customer Account UI Extension: `navigation` docs vs types/runtime mismatch

Hi Shopify team,

I found what looks like two inconsistencies around navigation APIs in Customer Account UI Extensions.

Environment

  • Surface: Customer Account UI Extension
  • Target: customer-account.order-index.block.render
  • @shopify/ui-extensions: 2026.4.3
  • Extension api_version: 2026-04
  • Runtime: customer account web extension

Issue 1: shopify.navigation exists at runtime, but not in types

What I see

IDE

Log

  • Logging shopify shows a navigation property at runtime.
  • TypeScript type for shopify does not include navigation.

So navigation is globally typed, but shopify.navigation is not.

Issue 2: only navigate is available on navigation

What I see at runtime

navigation.navigate exists.

But these are undefined in runtime logs:

  • navigation.currentEntry
  • navigation.updateCurrentEntry
  • navigation.addEventListener
  • navigation.removeEventListener

I see docs/type comments suggesting these members should exist (or are documented on Navigation), but in this target only navigate is available.

Minimal repro

function Extension() {
   console.log("shopify:", shopify);
   console.log("navigation:", navigation);

  return null;
}

Expected behavior

One of the following should be true:

  1. Docs + typings clearly reflect target-specific availability (for example, only navigate in block targets).
  2. Runtime provides the full documented Navigation contract for this target.

Also, if shopify.navigation is intended to exist, typings should include it.

Actual behavior

  • Runtime includes shopify.navigation, but typings for shopify do not.
  • In this target, navigation only exposes navigate; other documented members are undefined.

Thanks.