#!/usr/bin/env bash # session-init.sh — Claude Code SessionStart hook # 1. 清除上次会话的 changelog ack 标记 # 2. 检查 .claude/.init-done sentinel,缺失时创建 .pending-init 标记文件 # claude-init-recall 规则会检测此文件,确保首次会话确定性触发 claude-init input=$(cat) # 清除 changelog ack 标记 rm -f ".claude/changelog/.changelog-ack" # 检查 claude-init sentinel if [ -f ".claude/.init-done" ]; then # sentinel 存在,清理可能残留的 pending 标记 rm -f ".claude/.pending-init" else # sentinel 缺失,创建 pending 标记供 claude-init-recall 规则检测 touch ".claude/.pending-init" fi echo '{}' exit 0