More process-wide caches are scoped per host, which matters only for embedded multi-session hosts.
What's wrong with this entry?
A batch of module-level singletons became per-host state looked up through a WeakMap on the current host object, which matters only for embedded hosts running several sessions in one process.
- Moved: the temp-directory cache (Claude temp dir, child-process temp dir, bundled skills root, per-session scratchpad dirs, trusted symlink equivalences, with a reset), concurrent-session registration state, and the cached CHANGELOG contents.
- The MCP client's memoized tool, resource, resource-template and command list caches moved off a fixed max-size argument into the shared MCP state object.
- The background Bash task-output registry moved from static class fields to a module-level registry with register, unregister, startPolling and reset.
scratchpadDirBySessionId
Strings lifted out of the shipped bundle, so the claim above can be checked against them.