[BUG] Desktop app grows to 9 GB and dies; archiving 45% of the local session store fixes it

Status Closed — not planned
Maintainer reply None cached
Activity 1 comment · opened Sep 2, 2026 · closed Sep 5, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

<html>
<body>
<!--StartFragment--><p style="margin: 0px 0px 1em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">Summary:</strong><span> </span>Claude Desktop grew to 9 GB of RAM over a couple of hours and then died, repeatedly, without producing a Windows crash event.<span> </span><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">Archiving 45% of the local session store fixed it</strong>: memory after two hours went from 9,199 MB to 3,456 MB, and the growth curve flattened from +6 GB to +184 MB. Something retains memory in proportion to how many sessions exist on disk, nothing ages that store out, and there is no in-app way to trim it. Details and the full before/after in the controlled test below.</p><h3 id="environment" style="margin: 1.5em 0px 0.75em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-weight: 600; line-height: 1.25; font-size: 1.25em; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Environment</h3>
  |  
-- | --
App version | 1.40609.1.0 (MSIX, Microsoft Store install)
OS | Windows 11 Home 64-bit, 25H2, build 26200.9278
Machine | OMEN by HP Laptop 17t-ck000, product 2Y4A0AV
RAM | 32 GB
Auto-updates | on

<p style="margin: 0px 0px 1em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">After: 116 readings over 115 minutes, min 3,255 MB, median 3,371 MB, max 3,576 MB.<span> </span><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">A spread of 321 MB with no upward trend.</strong><span> </span>Before, it was adding roughly 1 GB every 20 minutes by the end of a session.</p><p style="margin: 0px 0px 1em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">Store size does not set the memory floor, but it does drive the growth.</strong></p><p style="margin: 0px 0px 1em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">The floor barely moved: 3,180 MB to 3,272 MB. Measured at 60 seconds after launch the archive looks like it achieved nothing, and that was the initial (wrong) conclusion here. The floor was never what killed the app. The<span> </span><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">climb</strong><span> </span>was, and the climb stopped.</p><blockquote style="margin: 0px 0px 1em; padding: 0px 1em; box-sizing: border-box; color: rgb(87, 96, 106); border-left: 3.63636px solid rgb(208, 215, 222); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><p style="margin: 0px; padding: 0px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">For anyone reproducing this: do not measure a fresh process.</strong><span> </span>At 60 seconds the two configurations are indistinguishable. The difference only appears after an hour or more of normal use.</p></blockquote><p style="margin: 0px 0px 1em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">The steady process count is worth noting alongside the flat memory. Before, Electron child processes crept from 13 to 15 shortly before each crash. After, it sat at 11 for the entire two hours and never moved.</p><h3 id="suggested-areas-to-look-at" style="margin: 1.5em 0px 0.75em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-weight: 600; line-height: 1.25; font-size: 1.25em; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Suggested areas to look at</h3><p style="margin: 0px 0px 1em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Ordered by what the evidence supports, most promising first.</p><ol style="margin: 0px 0px 1em; padding: 0px 0px 0px 2em; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><li style="margin: 0px 0px 0.25em; padding: 0px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">Whatever holds per-session state resident and grows with store size.</strong><span> </span>This is the headline. Cutting the store 45% turned a +6 GB climb into a +184 MB flat line, so something is retaining memory in proportion to how many sessions exist locally, and releasing it when they are fewer. The<span> </span><code style="margin: 0px; padding: 0.2em 0.4em; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 0.875em; background-color: rgb(246, 248, 250); border-radius: 6px;">LocalSessions_$_onEvent</code><span> </span>and<span> </span><code style="margin: 0px; padding: 0.2em 0.4em; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 0.875em; background-color: rgb(246, 248, 250); border-radius: 6px;">sessionsBridgeStatus_$store$_update</code><span> </span>listener registrations flagged 37 times by the runtime’s own leak warning are the obvious candidates: listeners registered per session and never released would produce exactly this shape.</li><li style="margin: 0px 0px 0.25em; padding: 0px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">No retention policy on the local session store.</strong><span> </span>It grew monotonically from February to 3,983 folders and 17.5 GB with nothing ageing out. Given finding 1, this is not just untidy, it is the mechanism by which the app degrades over months. A user who never clears it will eventually hit this, and there is no in-app way to.</li><li style="margin: 0px 0px 0.25em; padding: 0px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">Eager session restore at startup.</strong><span> </span>11,914 restore operations for 3,983 sessions, roughly three passes over the whole set. Whether this is where the retention happens or merely correlates with it is worth checking.</li><li style="margin: 0px 0px 0.25em; padding: 0px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px; box-sizing: border-box; font-weight: 600;">The 3.2 GB launch floor.</strong><span> </span>Not caused by the session store; that is now measured rather than assumed. Lower priority than the above, but a 3.2 GB idle baseline leaves little headroom when anything does start growing.</li></ol><h3 id="a-separate-note-on-the-repair-flow" style="margin: 1.5em 0px 0.75em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-weight: 600; line-height: 1.25; font-size: 1.25em; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">A separate note on the Repair flow</h3><p style="margin: 0px 0px 1em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">The Windows “Repair” option reports failure when the app is running, and the wording does not make clear that this is the reason. A user reasonably reads “repair failed” as “the install is damaged” and goes looking for a disk or corruption problem. Saying “close Claude and try again” would prevent that.</p><p style="margin: 0px 0px 1em; padding: 0px; box-sizing: border-box; color: rgb(36, 41, 47); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><em style="margin: 0px; padding: 0px; box-sizing: border-box; font-style: italic;">(On this machine that misreading cost real time: it ran alongside a genuinely failing SSD and the two looked like one problem. See [[ssd-failure-2026-08-31]].)</em></p><!--EndFragment-->
</body>
</html>

What Should Happen?

See above

Error Messages/Logs

Steps to Reproduce

See above

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

1.40609.1

Claude Code Version

1.40609.1

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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