@@ -15,7 +15,7 @@ COPY --from=mise /usr/local/bin/mise /usr/local/bin/mise
1515COPY --from=gh-builder /out/gh /usr/local/bin/gh
1616
1717# Install system dependencies in multiple layers:
18- # - Node.js 20 (required by Claude Code CLI)
18+ # - Node.js 24 LTS (required by Claude Code CLI)
1919# - git (repo operations)
2020# - build-essential (native compilation for some repos)
2121# - curl (downloads)
@@ -32,8 +32,8 @@ RUN apt-get update && \
3232 apt-get clean && \
3333 rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
3434
35- # Node.js 20
36- RUN curl -fsSL https://deb.nodesource.com/setup_20 .x | bash - && \
35+ # Node.js 24 LTS (https://nodejs.org/en/about/previous-releases)
36+ RUN curl -fsSL https://deb.nodesource.com/setup_24 .x | bash - && \
3737 apt-get update && \
3838 apt-get install -y --no-install-recommends nodejs && \
3939 apt-get clean && \
@@ -42,12 +42,12 @@ RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
4242# Install Claude Code CLI (the Python SDK requires this binary)
4343# Then update known vulnerable transitive packages where fixed versions exist.
4444RUN npm install -g npm@latest && \
45- npm install -g @anthropic-ai/claude-code@2.1.139 && \
45+ npm install -g @anthropic-ai/claude-code@2.1.142 && \
4646 CLAUDE_NPM_ROOT="$(npm root -g)/@anthropic-ai/claude-code" && \
4747 npm --prefix "${CLAUDE_NPM_ROOT}" update tar minimatch glob cross-spawn picomatch
4848
49- # Install uv (fast Python package manager)
50- COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
49+ # Install uv (fast Python package manager) — pinned for reproducibility
50+ COPY --from=ghcr.io/astral-sh/uv:0.11.14 /uv /usr/local/bin/uv
5151
5252# Install Python dependencies via uv
5353COPY pyproject.toml uv.lock /app/
0 commit comments