{"version":"2.1.227","anchor":"per-process-state-moved-into-explicit-singleton-objects","canonical_anchor":"per-process-state-moved-into-explicit-singleton-objects","heading":"Per-process state moved into explicit singleton objects","tier":"internal","area":"Session State","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.227\/e\/per-process-state-moved-into-explicit-singleton-objects","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.227","markdown":"### Per-process state moved into explicit singleton objects\n\nMCP state, bundled skills, keybindings and the command classifier became singletons you can reset.\n\n**What**\n\nDozens of loose module-level variables and cached closures were replaced with singleton class instances, covering MCP connection state, bundled skills and builtin plugins, browser-extension state, keybindings, the package-manager detector and the Bash command-prefix classifier. Most now expose `reset()` or `invalidate()`, which changes when caches clear rather than what you see.\n\n**Details**\n\n- MCP state now carries reconnect, toggle, disabled and policy handling plus a `skippedDynamicServers` list in one place.\n- Also folds in the remote-settings barrier, the `\/dev\/tty` stdin override and style-key recording.\n\n**Evidence**\n\n`skippedDynamicServers`\n\n- Area: Session State\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}