{"version":"2.1.232","anchor":"per-host-state-replaces-process-wide-registries","canonical_anchor":"per-host-state-replaces-process-wide-registries","heading":"Per-host state replaces process-wide registries","tier":"internal","area":"Session State","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.232\/e\/per-host-state-replaces-process-wide-registries","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.232","markdown":"### Per-host state replaces process-wide registries\n\nTwo hosts in one process no longer share caches, credentials or MCP wiring.\n\n**What**\n\nState that used to be shared across the whole process is now attached to the individual host, so two hosts in one process no longer share caches, latches and registries. Practically this means one host's launch options, settings source, model string cache, diagnostics, credentials, MCP process wiring and startup-profiling latch cannot bleed into another's.\n\n**Details**\n\n- A small helper keeps a per-host table of lazily created values and hands them out on request.\n- The memory extractor and runner hooks are now looked up against the current session's host rather than a module-level singleton.\n\n**Evidence**\n\n`hni.of(e.toolUseContext.session.host).extractor?.(e, t)`\n\n- Area: Session State\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}