Skip to content

No More Mystery Crashes — and CLI→GUI Takeover

· claude-view team

You ran npx claude-view, it worked for a few minutes, and then the page went dead. You restarted it — fine again for a while — then dead again. Reinstalling didn’t help. If that was you, v0.43.0 is the release you’ve been waiting for.

The problem: it worked on our machine

Here’s the uncomfortable truth: claude-view ran for days without a hiccup on our development machines, so the crash was nearly invisible to us. It only bit people on normal laptops — and it bit them within minutes.

Two things conspired:

  • A quadratic memory spike, every two minutes. The background indexer re-scans your sessions on a timer. It was cloning its entire lookup tables once per file — O(N²) work that re-fired on every cycle. With thousands of sessions, each scan briefly allocated hundreds of megabytes. A 64GB dev box shrugs it off; a 16GB laptop climbs into swap and the operating system eventually kills the server. About ten minutes in.
  • One bad record could kill everything. The shipped binary was built so that a panic in any background task aborted the whole process. Our dev builds isolate those panics — which is exactly why we never saw it. So a single unusual entry in your history could take the entire dashboard down.

And when the server died, the launcher just… exited. You got a dead page and a manual restart.

The fix: light, isolated, self-healing

v0.43.0 attacks all three:

  • The indexer is now O(N), not O(N²). It shares its lookup tables across the scan instead of copying them per file. Big histories stay light on memory — no more sawtooth climb into a crash.
  • A background hiccup stays contained. Panics are isolated per task and logged, so one odd record can’t abort the server.
  • The dashboard self-heals. If the server ever exits unexpectedly, the launcher restarts it automatically — bounded, so a genuine crash-loop gives up with an actionable message instead of thrashing. No more staring at a dead tab.

Live chat got the same treatment: long conversations no longer re-serialize the whole transcript on every event, and a slow or backgrounded browser tab can’t balloon the sidecar’s memory.

Bonus: take over a CLI session from the GUI

While you’re updating — v0.43.0 also lets you take over a running terminal Claude session from the dashboard. Fork it into an interactive session and drive it from the GUI: answer permission prompts, steer the plan, switch models, all without losing history.

Interaction prompts are trustworthy now, too. A permission request never silently auto-denies — the countdown becomes a calm “waiting for you” indicator that pauses while the tab is hidden. And if a response fails to send, you’ll see “couldn’t deliver — tap to retry” instead of the card optimistically clearing. It only resolves once the agent has actually consumed your decision. 寧願唔顯示,都唔顯示錯嘅嘢 — better to show nothing than something wrong.

What’s next

  • Deeper take-over: richer mid-session control surfaces.
  • Surfacing more of Claude Code’s newer metadata (prompt origin, MCP tool envelopes) in the timeline.
  • Continued work on the live-monitor experience for large workspaces.

Update now

Terminal window
npx claude-view@latest

If claude-view ever quit on you mid-session, update and leave it running — it should now stay up as long as Claude Code does.