Every hour, my editor froze. It took us a while to find out why, and the answer was sitting in our own files.

What we measured

Opening a session pegged Cursor’s extension host (the background engine that runs its add-ons) for a minute. Dragging the new tab into its own window restarted the session, so we paid the startup cost twice. Our prompt hook also added about 3 seconds to every message.

After a reboot we ran the comparison again. Open in New Window started a session in about 17 seconds. Opening a session with the plus button and then dragging it out took about a minute and restarted it. The extension host pegged a core even on a fresh boot, so restarting it was not the fix.

What it was

The freeze traced to the Claude Code session-list build, the step where the extension assembles the list of past sessions. Two things triggered it: an hourly auto-archive sweep and the webview init, which is the extension’s panel loading up. Both ran over 4,270 transcripts, and the Claude extension was re-reading 5.8 GB each time.

So the hourly freeze was ours.

The 18:15 tick

The analysis named the hourly sweep as a trigger. We predicted the freeze would land on the 18:15 tick, and then it did. It was the tick we had named.

We also built one place that measures the PC every minute and judges whether each change helped or hurt. It already shows kernel memory (the part of memory the operating system itself uses) climbing from boot, cause still unknown. That one is open.