From 751402be448fc3a3f5e095909c936b04b4ec0ea1 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Fri, 20 Feb 2026 10:18:12 -0500 Subject: [PATCH] fix: remove stale happy daemon lock file before starting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit daemon.state.json.lock is left behind when the daemon crashes or is killed (e.g. pod restart). On next startup happy daemon start sees the lock and exits with "Failed to start daemon" without further detail. Remove the lock file unconditionally at startup — if no daemon is running, the lock is stale by definition. Co-Authored-By: Claude Sonnet 4.6 --- scripts/init-repo.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/init-repo.sh b/scripts/init-repo.sh index a3deeb9..7b32f0f 100644 --- a/scripts/init-repo.sh +++ b/scripts/init-repo.sh @@ -63,6 +63,10 @@ chown "$RUN_UID:$RUN_GID" "$HOME" # so no sudo needed — Happy/Claude Code will find credentials in the correct home dir. echo "Starting Happy Coder..." +# Remove stale lock file left by a previously crashed daemon — without this, +# happy daemon start refuses to start and exits with "Failed to start daemon". +rm -f "${HAPPY_HOME_DIR:-$HOME/.happy}/daemon.state.json.lock" + cd "$WORKSPACE_DIR" happy daemon start || echo "Happy Coder daemon failed to start, continuing anyway..."