diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 01aea56..ce729a0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,9 +6,9 @@ "service": "app", "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", // Features to add to the dev container. More info: https://containers.dev/features. - "features": { - "ghcr.io/anthropics/devcontainer-features/claude-code:1": {} - }, + // "features": { + // "ghcr.io/anthropics/devcontainer-features/claude-code:1": {} + // }, "customizations": { "vscode": { "extensions": [ diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh index 837c39c..693d310 100755 --- a/.devcontainer/post-create.sh +++ b/.devcontainer/post-create.sh @@ -3,6 +3,15 @@ # Keep steps idempotent so re-running on an existing container is safe. set -euo pipefail +# Install the Claude Code CLI via the official installer. Faster than the +# devcontainer feature, which pulls in Node.js first and tends to lag behind +# on the Claude Code version it installs. +curl -fsSL https://claude.ai/install.sh | bash +# The installer places the binary in ~/.local/bin and wires PATH into shell +# rc files, but this script runs non-interactively so those rc files are +# never sourced here. Add it to PATH now so `claude` below resolves. +export PATH="$HOME/.local/bin:$PATH" + # Install Claude Code plugins that project settings enable but a fresh container cannot fetch. # `.claude/settings.json` only *enables* plugins; the actual bits are cloned per machine, and a # fresh container starts with an empty ~/.claude plugin state.