From c6543e13a52d0ac11cdd6b04b843b308dc4d4db0 Mon Sep 17 00:00:00 2001 From: tobi Date: Wed, 15 Jul 2026 17:32:59 +0200 Subject: [PATCH 1/7] fix(core): allows postinstall script to run in npm v12 --- src/claude-code/install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/claude-code/install.sh b/src/claude-code/install.sh index b115c9e..8334f70 100755 --- a/src/claude-code/install.sh +++ b/src/claude-code/install.sh @@ -90,7 +90,7 @@ install_nodejs() { # Function to install Claude Code CLI install_claude_code() { echo "Installing Claude Code CLI..." - npm install -g @anthropic-ai/claude-code + npm install -g @anthropic-ai/claude-code --allow-scripts=@anthropic-ai/claude-code if command -v claude >/dev/null; then echo "Claude Code CLI installed successfully!" @@ -137,4 +137,4 @@ main() { } # Execute main function -main \ No newline at end of file +main From 8e80bac4e4c2308cc40e4366af73143ac9da3be3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 16:08:42 +0000 Subject: [PATCH 2/7] fix: apply npm allow-scripts only on npm v12+ --- src/claude-code/install.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/claude-code/install.sh b/src/claude-code/install.sh index 8334f70..12495b6 100755 --- a/src/claude-code/install.sh +++ b/src/claude-code/install.sh @@ -90,7 +90,14 @@ install_nodejs() { # Function to install Claude Code CLI install_claude_code() { echo "Installing Claude Code CLI..." - npm install -g @anthropic-ai/claude-code --allow-scripts=@anthropic-ai/claude-code + npm_version=$(npm --version) + npm_major_version=${npm_version%%.*} + + if [ "$npm_major_version" -ge 12 ] 2>/dev/null; then + npm install -g @anthropic-ai/claude-code --allow-scripts=@anthropic-ai/claude-code + else + npm install -g @anthropic-ai/claude-code + fi if command -v claude >/dev/null; then echo "Claude Code CLI installed successfully!" From 7a479d0a97cc74d648d30e6beb12fe1ef87dce7a Mon Sep 17 00:00:00 2001 From: tobi Date: Wed, 15 Jul 2026 18:17:52 +0200 Subject: [PATCH 3/7] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- src/claude-code/install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/claude-code/install.sh b/src/claude-code/install.sh index 12495b6..7f14164 100755 --- a/src/claude-code/install.sh +++ b/src/claude-code/install.sh @@ -90,9 +90,9 @@ install_nodejs() { # Function to install Claude Code CLI install_claude_code() { echo "Installing Claude Code CLI..." - npm_version=$(npm --version) - npm_major_version=${npm_version%%.*} - + local npm_version npm_major_version + npm_version="$(npm --version)" + npm_major_version="${npm_version%%.*}" if [ "$npm_major_version" -ge 12 ] 2>/dev/null; then npm install -g @anthropic-ai/claude-code --allow-scripts=@anthropic-ai/claude-code else From 75f23e7d4edf342e1b2201389c3c4a3027a384d4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 16:23:17 +0000 Subject: [PATCH 4/7] Initial plan From c41e366ad7cf6487b9e378c6c56f3e63b1d5d757 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 16:24:34 +0000 Subject: [PATCH 5/7] test: add scenario covering Node auto-install path --- test/claude-code/scenarios.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/claude-code/scenarios.json b/test/claude-code/scenarios.json index 0c894f0..0dcd99e 100644 --- a/test/claude-code/scenarios.json +++ b/test/claude-code/scenarios.json @@ -5,5 +5,11 @@ "ghcr.io/devcontainers/features/node:1": {}, "claude-code": {} } + }, + "auto-install-node": { + "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + "features": { + "claude-code": {} + } } } \ No newline at end of file From 2b507ac267b13129a74fc54efd35f7b9dbfb2e77 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 16:30:10 +0000 Subject: [PATCH 6/7] Initial plan From ce0adabbcb145277069677b4b57bce59b059e019 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 16:33:06 +0000 Subject: [PATCH 7/7] test: add auto-install-node scenario assertions --- test/claude-code/auto-install-node.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 test/claude-code/auto-install-node.sh diff --git a/test/claude-code/auto-install-node.sh b/test/claude-code/auto-install-node.sh new file mode 100755 index 0000000..8f3aeed --- /dev/null +++ b/test/claude-code/auto-install-node.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +set -e + +# Validate the auto-install path installed Node.js 18 from NodeSource. +if ! node --version | grep -q "^v18\."; then + echo "expected Node.js 18.x from auto-install path" + exit 1 +fi + +if [ ! -f /etc/apt/sources.list.d/nodesource.list ]; then + echo "expected NodeSource apt source list to exist" + exit 1 +fi + +echo "Auto-install Node.js scenario checks passed!" +exit 0