From 3d55b715a67a8c7e02a0a108e324e75c234f6c03 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 10 Feb 2026 12:14:04 +0000 Subject: [PATCH] Add Claude Code web session startup hook Set up .claude/hooks/session-start.sh to install npm dependencies when running in Claude Code on the web. Register the hook in .claude/settings.json and update .gitignore to track the .claude config files. https://claude.ai/code/session_01JgNTrM3pwNC2NDT97TBJj5 --- .claude/hooks/session-start.sh | 11 +++++++++++ .claude/settings.json | 14 ++++++++++++++ .gitignore | 6 +++++- 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100755 .claude/hooks/session-start.sh create mode 100644 .claude/settings.json diff --git a/.claude/hooks/session-start.sh b/.claude/hooks/session-start.sh new file mode 100755 index 0000000..a07dd5c --- /dev/null +++ b/.claude/hooks/session-start.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -euo pipefail + +# Only run in remote (web) environments +if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then + exit 0 +fi + +# Install dependencies +cd "$CLAUDE_PROJECT_DIR" +npm install diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..e06b033 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,14 @@ +{ + "hooks": { + "SessionStart": [ + { + "hooks": [ + { + "type": "command", + "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/session-start.sh" + } + ] + } + ] + } +} diff --git a/.gitignore b/.gitignore index 61820dd..b513c11 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,8 @@ dist/ .dev.vars *.log *.mcpb -.claude \ No newline at end of file +# Allow .claude/settings.json and hooks to be committed +!.claude/ +.claude/* +!.claude/settings.json +!.claude/hooks/ \ No newline at end of file