fix: auto-create .claude/current-mode if missing for coordination hooks
The UserPromptSubmit hook requires .claude/current-mode to determine work mode and gate coordination lock checks. This file is machine-local (gitignored) but had no initialization logic for fresh clones, causing hooks to fail. Changes: - check-messages.sh: Added auto-creation logic with "general" as default - CLAUDE.md: Documented auto-initialization behavior - ONBOARDING.md: Added machine-local configuration section - session-logs/2026-05-19-session.md: Documented investigation and fix Impact: - Fixes coordination hooks on all machines - Prevents first-clone hook failures - No manual setup required - Backwards compatible Resolves: "cood hook seems to be broken on all my machines" Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,14 @@ API="http://172.16.3.30:8001"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
MODE_FILE="${SCRIPT_DIR}/current-mode"
|
||||
|
||||
# --- Initialize mode file if missing -----------------------------------------
|
||||
# The mode file is machine-local (gitignored) and required by this hook.
|
||||
# If missing, create it with "general" as the default mode.
|
||||
if [ ! -f "$MODE_FILE" ]; then
|
||||
echo "general" > "$MODE_FILE"
|
||||
echo "[INFO] Created .claude/current-mode with default mode: general" >&2
|
||||
fi
|
||||
|
||||
# Read short username alias from identity.json (if present)
|
||||
IDENTITY_FILE="${SCRIPT_DIR}/identity.json"
|
||||
USER_ALIAS=""
|
||||
|
||||
Reference in New Issue
Block a user