set() doesn't await its file write, so a write in flight when the store is disposed (app shutdown, or a closing test) would assert on a disposed ChangeNotifier. Skip the post-write notify once disposed via a _disposed guard + _safeNotify. Surfaced by the T-293 theme-persistence test flaking under the loaded parallel run; also the correct behaviour for graceful shutdown. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>