Shopify’s POS UI Extensions have received a subtle but important change in the 2026‑10 API version. The once‑static field session.currentSession.staffMemberId has been removed, and developers must now rely on the reactive session.staffMember signal. This post breaks down what the change means, who it impacts, and exactly how to update your extensions so they keep working flawlessly.
What Changed?
In API version 2026‑10, Shopify deprecated and finally removed the static session.currentSession.staffMemberId property from the POS UI Extensions Session API. The field was marked for removal back in the 2026‑07 release in favor of session.staffMember, a reactive signal that reflects the currently logged‑in staff member and updates automatically when a new staff member pins into the POS.
Who Is Affected?
Only developers building POS UI Extensions are directly impacted. Any extension that reads session.currentSession.staffMemberId will break once it targets the 2026‑10 version or newer. Merchant owners who simply install extensions won’t see a visible change, but they could experience broken functionality if the underlying extension isn’t updated. Extensions built for 2026‑07 or earlier remain functional, as the old field still exists in those versions.
How to Update Your Extension
The migration is straightforward. Replace every occurrence of session.currentSession.staffMemberId with the new reactive access pattern. For simple reads you can use the value property:
js
// Old way (pre‑2026‑10)
const staffId = session.currentSession.staffMemberId;
// New reactive signal
const staffId = session.staffMember.value?.id;
If your extension needs to react to staff changes while it’s running—say you show the staff name on a custom receipt—you should subscribe to the signal:
js
session.staffMember.subscribe((staffMember) => {
// React to staff change
console.log('Current staff:', staffMember?.id);
});
When using @shopify/ui-extensions/preact, you can also read session.staffMember.value directly inside your component’s render function. The Preact integration automatically re‑renders the component whenever the signal’s value changes, giving you a clean, declarative experience.
Testing Your Changes
What Remains Unchanged
The BaseData session.staffMemberId available to receipt targets is a separate API and continues to work exactly as before. Only the Session API used inside POS UI Extension code has changed.
Next Steps
Update your codebase today, test against the 2026‑10 version, and publish the new build to avoid runtime errors after the deprecation deadline. Need help troubleshooting or want a code review? Drop a comment below or reach out to our Shopify developer community for a quick assist.


