Skip to content

fix(docker): refresh installer SHAs + pin Claude Code to @latest channel#48

Merged
mswdev merged 1 commit into
developfrom
fix/docker-installer-shas-and-latest-channel
May 28, 2026
Merged

fix(docker): refresh installer SHAs + pin Claude Code to @latest channel#48
mswdev merged 1 commit into
developfrom
fix/docker-installer-shas-and-latest-channel

Conversation

@mswdev
Copy link
Copy Markdown
Owner

@mswdev mswdev commented May 28, 2026

Summary

Your ck worktree rebuild-image was failing at step 3/11 with sha256sum: WARNING: 1 computed checksum did NOT match on the uv installer. Both pinned installer SHAs in the Dockerfile had drifted upstream since 2026-04-30, and while we're in here, swap the Claude Code install to the @latest channel so containers track the same release stream as the Homebrew claude-code@latest cask.

Three changes

  1. UV_INSTALLER_SHA256 refreshed facbed3...d79d834.... astral.sh/uv/install.sh drifted; this is what made the build fail.
  2. CLAUDE_INSTALLER_SHA256 refreshed b315b46...005ec1a.... The Anthropic bootstrap also drifted in the same window.
  3. bash /tmp/install.shbash /tmp/install.sh latest. The bootstrap script accepts a positional channel argument (stable | latest | a specific semver) that gets forwarded to claude install <target>. Passing latest mirrors the host install when CLI users have done brew install --cask claude-code@latest (stable cask lags @latest by ~a week).

Validated

From-scratch build with --build-arg CACHEBUST=$(date +%s):

  • All 11/11 steps succeeded
  • docker run --rm --entrypoint /usr/local/bin/claude ckipper-dev-test:latest --version reports 2.1.154 (Claude Code), matching the host's @latest cask

Test plan

  • Local from-scratch rebuild succeeds
  • In-container claude --version matches host's @latest
  • User reproduces locally: git pull && ./install.sh && ck worktree rebuild-image

…annel

Three coupled changes triggered by an attempted ckipper worktree
rebuild-image that failed in the uv step with sha256sum FAILED.

1. UV_INSTALLER_SHA256 refreshed (facbed3... -> d79d834...). The
   astral.sh/uv/install.sh script drifted upstream since 2026-04-30.
   This is what made the rebuild fail; ARG/SHA256 lockstep means the
   build halts as soon as the pin diverges from the file on the wire.

2. CLAUDE_INSTALLER_SHA256 refreshed (b315b46... -> 005ec1a...).
   Anthropic's bootstrap installer at claude.ai/install.sh also drifted
   in the same window. Would have failed in the next step regardless.

3. The bootstrap installer accepts a positional arg
   ('stable' | 'latest' | a specific semver) that gets forwarded to
   'claude install <target>'. Pass 'latest' so containers track the
   same release channel as Homebrew's claude-code@latest cask. This
   mirrors the host install when CLI users have done

       brew install --cask claude-code@latest

   The stable channel lags @latest by ~a week; pinning to @latest
   removes that gap between host and container.

Validated by a from-scratch test build with --build-arg CACHEBUST=...
(all 11/11 steps succeeded; docker run --entrypoint claude
ckipper-dev-test --version reports 2.1.154, matching the host's
@latest cask).

Refreshing the SHAs in the same commit because they're co-located,
co-broken, and would have to be re-pinned together anyway.
@mswdev mswdev marked this pull request as ready for review May 28, 2026 22:01
@mswdev mswdev merged commit 6cd6c57 into develop May 28, 2026
1 check passed
@mswdev mswdev deleted the fix/docker-installer-shas-and-latest-channel branch May 28, 2026 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant