Troubleshooting guide for Catalyst session sync

The Catalyst Session Sync page now includes a troubleshooting section covering the most common causes of Invalid JWT token errors and 404 responses during checkout.

  • Seven failure modes — each with its symptom, cause, and fix: edge runtime in the checkout and login-token routes, an OAuth token set as BIGCOMMERCE_STOREFRONT_TOKEN, a channel ID that doesn’t match the channel owning the custom domain, a custom domain not set as the channel’s primary storefront URL, incomplete DNS propagation, pending domain verification, and 30-second JWT expiry under slow redirects.
  • Decoding the session-sync JWT — how to inspect the channel_id, redirect_to, and eat claims to pinpoint a misconfiguration.

For details, see Session Sync.


Deprecated is_visible field on category content custom fields

The is_visible field on custom field overrides in the Stencil category_content resource is deprecated and will be removed in a future release because it’s redundant.

  • What’s changing — Custom fields with overrides currently include an is_visible boolean. That field will no longer be returned.
  • Action required — If your theme templates reference is_visible on category content custom fields, remove it from your Stencil theme. No replacement field is needed.

For more on the category object’s properties, see the Stencil object reference.


Customer group markup rules

Customer Groups now support a markup rule that increases prices store-wide for members of the group, alongside the existing discount rule types.

  • New markup rule type — add a markup entry to a customer group’s discount_rules with method set to percent or price to raise prices for group members.
  • Store-wide and exclusive — a markup rule applies across the entire catalog and can’t be combined with other discount rule types.

For details, see Update a Customer Group.

This feature is in early access. Contact support to enable customer group markup on your store.


GraphQL Schema Updates

The Storefront GraphQL API adds address and currency details and promotes three previously alpha fields to stable.

Storefront GraphQL

  • State requirement on countries: a new stateRequired field on the Country type indicates whether a state or province is required when entering an address for that country.
  • New currency codes: the currencyCode enum adds MRU (Mauritanian ouguiya) and STN (São Tomé and Príncipe dobra).
  • Stable locale and promotion fields: Locale.fullPath, Locale.path, and Product.featuredPromotions are no longer deprecated and are now safe to use in production.

For schema details, browse the Storefront GraphQL API reference.


Project limit errors return 422 instead of 502

Creating a project on a store that has reached its project limit now returns 422 Unprocessable Entity instead of 502 Bad Gateway.

  • Actionable status code: a 502 looked like a platform fault, so there was nothing to act on. A 422 tells you the request failed for a reason you can fix.
  • The limit in the message: the response title states it, for example, This store has reached its project limit of 5.

To free capacity, delete a project you no longer use. For details, see Create a Project.