Two fixes for externally reported issues:
- #5 — The credentials write-back now stages its temp file beside
~/.claude/.credentials.json(same filesystem, so the replace is an atomic rename) instead of in/tmp. The temp is created before the refresh POST — a 200 may rotate the refresh token, so a refresh whose result cannot be persisted no longer runs at all — and the file is re-read and compared just before the replace, so a concurrent write by the claude CLI survives. - #6 — The panel now runs the CLI through
/bin/sh -c 'exec "$0" "$@"'instead of handing the binary to Quickshell directly. A missing binary can abort Quickshell 0.3.1 inside the failed process start, taking the whole shell down in a loop; through sh the start always succeeds and a failed exec becomes a normal exit 127/126, which the panel maps to the existing not-installed error card.
Thanks to @salazar0carlos for both reports.