# XState 5.32.3 - Product: XState (https://whatsnew.fyi/product/xstate) - Vendor: Stately - Date: 2026-07-01 - Version: 5.32.3 - Original notes: https://github.com/statelyai/xstate/releases/tag/xstate%405.32.3 - Permalink: https://whatsnew.fyi/product/xstate/releases/5.32.3 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Fixed initialTransition and transition throwing "Actor with system ID '...' already exists" error when the machine contains an invoke with a systemId by replacing the actor's system reference with a freshly-created system in createInertActorScope - **fixed** — Add missing https:// protocol to the Stately Studio link in the README ###### Patch Changes - [#5575](https://github.com/statelyai/xstate/pull/5575) [`830db8b`](https://github.com/statelyai/xstate/commit/830db8b6b4ac81331bdcae44aa7ec522fa959960) Thanks [@JSap0914](https://github.com/JSap0914)! - Fixed `initialTransition` (and `transition`) throwing `"Actor with system ID '...' already exists"` when the machine contains an `invoke` with a `systemId`. **Root cause:** `createInertActorScope` used `createActor(logic)` internally, which eagerly ran `getInitialSnapshot` during construction and registered any `systemId`-carrying child actors in the system. When the caller then ran `getInitialSnapshot` (or `transition`) via the returned scope, the same system was reused, causing the duplicate-registration error. **Fix:** After creating the internal actor, `createInertActorScope` now replaces the actor's system reference with a freshly-created system. Child actors spawned by the subsequent caller-driven `getInitialSnapshot` / `transition` invocation therefore register into a clean system with no pre-existing entries. ```ts const machine = createMachine({ initial: 'idle', states: { idle: { invoke: { src: fromPromise(async () => 42), systemId: 'myActor' // previously caused: "Actor with system ID 'myActor' already exists" } } } }); // Now works correctly — returns [snapshot, actions] without throwing const [snapshot, actions] = initialTransition(machine); ``` - [#5585](https://github.com/statelyai/xstate/pull/5585) [`a551a2b`](https://github.com/statelyai/xstate/commit/a551a2b81fbbe05f8ffc5b3cdaea503d01ce477e) Thanks [@RubenFricke](https://github.com/RubenFricke)! - Add missing https:// protocol to the Stately Studio link in the README