Deux défauts vécus sur le poste, tous deux « invisibles » jusqu'à ce qu'on regarde.
1. Une console Claude ouverte depuis l'app affichait « Transcript saving is off,
inherited CLAUDE_CODE_CHILD_SESSION marker ». Le daemon avait été lancé depuis
une session Claude Code, il héritait donc de ses marqueurs d'exécution et les
repassait à CHAQUE session qu'il lance. Le CLI se croyait sous-session et
coupait la sauvegarde de son transcript : plus d'historique, plus de --resume,
claudeSessionId restant null (et avec lui l'état fin busy/waiting/idle, ce qui
explique les sessions sans activité détectée). L'environnement des PTY est
desormais assaini de ces marqueurs, pour `claude` comme pour les shells (un
`claude` tapé à la main en héritait aussi). La configuration légitime de
l'utilisateur (CLAUDE_CONFIG_DIR, ANTHROPIC_*, proxies) passe intacte.
Vérifié par acceptance-p17 : le daemon de test est lancé avec un environnement
volontairement pollué, et le PTY n'en voit plus rien.
2. Une mise à jour installée à chaud demandait encore une manipulation. La 0.2.4
détectait le remplacement du binaire et proposait un dialogue « Restart now » :
le travail restait à la charge de l'utilisateur. L'app redémarre maintenant
d'elle-même quand cela ne coûte rien, c'est-à-dire le cas courant, et ne
demande que s'il y a quelque chose à perdre : des sessions vivantes à
interrompre (le dialogue dit combien) ou un daemon injoignable. Un « Later »
reste définitif pour cette version : rien ne redémarre dans le dos de
personne. La détection ne dépend plus d'un retour par le tray ou le Dock : un
`stat` toutes les 30 s la couvre même fenêtre ouverte, par poll et non par
`fs.watch`, qui ne voit souvent rien quand un paquet remplace un binaire ou
tout un répertoire.