From f1e5667d2ff4bb40415690712bbeeb98c7df0e18 Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Mon, 12 Jan 2026 17:35:15 -0600 Subject: [PATCH] Add a Claude Code hook to install the `gh` CLI in web sessions (#17429) --- .claude/hooks/session-start-web.sh | 12 ++++++++++++ .claude/hooks/session-start.sh | 7 +++++++ .claude/settings.json | 11 +++++++++++ 3 files changed, 30 insertions(+) create mode 100755 .claude/hooks/session-start-web.sh create mode 100755 .claude/hooks/session-start.sh diff --git a/.claude/hooks/session-start-web.sh b/.claude/hooks/session-start-web.sh new file mode 100755 index 000000000..af540195b --- /dev/null +++ b/.claude/hooks/session-start-web.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -euo pipefail + +# Install `gh` +if ! command -v gh &> /dev/null; then + GH_VERSION="2.83.2" + mkdir -p ~/.local/bin + curl -sL "https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_amd64.tar.gz" -o /tmp/gh.tar.gz + tar -xzf /tmp/gh.tar.gz -C /tmp + mv /tmp/gh_${GH_VERSION}_linux_amd64/bin/gh ~/.local/bin/ + rm -rf /tmp/gh.tar.gz /tmp/gh_${GH_VERSION}_linux_amd64 +fi diff --git a/.claude/hooks/session-start.sh b/.claude/hooks/session-start.sh new file mode 100755 index 000000000..009af0ddb --- /dev/null +++ b/.claude/hooks/session-start.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -euo pipefail + +# Dispatch to web hook if running remotely +if [ "${CLAUDE_CODE_REMOTE:-}" = "true" ]; then + exec "$(dirname "$0")/session-start-web.sh" +fi diff --git a/.claude/settings.json b/.claude/settings.json index b86631b90..80a815ca5 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1,5 +1,16 @@ { "hooks": { + "SessionStart": [ + { + "matcher": "", + "hooks": [ + { + "type": "command", + "command": ".claude/hooks/session-start.sh" + } + ] + } + ], "PostToolUse": [ { "matcher": "Edit|Write|MultiEdit",