Long-lived sessions flush stale in-memory config, resurrecting uninstalled plugins / reverted settings

Open 💬 1 comment Opened Jul 11, 2026 by KCW89

Repro:

  1. Start session A.
  2. In session B (or the claude CLI directly), uninstall a plugin / set

enabledPlugins.X = false / edit disabledMcpServers — anything that
persists to ~/.claude/settings.json or ~/.claude.json.

  1. In session A (already running, config loaded at its own startup), perform

any action that triggers a settings write (a plugin toggle, an /mcp
toggle, etc.).

  1. Session A writes its own in-memory, startup-time snapshot back to disk —

silently reverting the change made in step 2.

Observed: a plugin uninstalled via claude plugin uninstall <name>@<marketplace>
reappeared as enabled after an older, still-running session performed an
unrelated settings write.

Expected: a settings write should read-merge-write against current disk
state per key (or at minimum diff against on-disk state before writing),
not flush a full snapshot captured at session start.

Environment: native install, macOS, several concurrent long-lived
sessions open across projects — the scenario several concurrent sessions
makes easy to hit by accident.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗