# X_CLIENT_SCOPE_CHANGED

## Means

the page changed principal while this request was in flight

## Typical cause

`rescope()` moved the page to another principal while a read was in flight. The read's answer belongs to the previous principal, so it is aborted and nothing from it is adopted. A write in flight is never refused with this: it finishes, and its records are dropped. Classified `terminal`. `isSuperseded(error)` answers `true`

## Fix

discard the answer and render nothing for it: `if (isSuperseded(error)) return;` with `isSuperseded` from `@ultimat3/core`, then read again under the new principal

[Core and runtime](/error-codes#core-and-runtime)
