Upgrading Dependencies
The build system pins every external tool to a specific version for reproducibility. There are two kinds of dependencies, each with a different upgrade procedure.
Pinned Versions (build.zig)
These tools are defined as SemanticVersion structs in
build.zig:
| Tool | Variable | Current |
|---|---|---|
| uv | uv_version |
0.8.22 |
| Go | golang_version |
1.24.5 |
| Zig | zig_version |
0.15.2 |
Upgrade Procedure
Use the /upgrade-dep Claude Code command:
claude
# Inside Claude Code
/upgrade-dep uv 0.8.22The command edits the version in build.zig directly.
Verify
./zig/zig build install
./bin/uv --versionCommit and PR
git add build.zig
git commit -m "chore: upgrade uv to v0.8.22"
git push origin your-branchOpen a PR to plan.
Source
Dependencies (build.zig.zon)
These tools are built from source using Git refs:
| Tool | Current Version |
|---|---|
| Terraform | 1.14.0 |
| gh (GitHub CLI) | v2.82.1 |
| jq | v1.8.1 |
The /upgrade-dep command does not
handle these. They require manual edits to build.zig.zon —
both the ref tag in the URL and the content hash must be updated.
Upgrade Procedure
- Find the new version’s Git tag from the tool’s release page
- In
build.zig.zon, update the.urlfield to point to the new tag - Set the
.hashfield to a placeholder (e.g., all zeros) - Run
./zig/zig build install— the build system will report the expected hash in the error output - Replace the placeholder with the correct hash
- Run
./zig/zig build installagain to confirm it succeeds
Verify
./bin/terraform --version
./bin/gh --version
./bin/jq --versionCommit and PR
git add build.zig.zon
git commit -m "chore: upgrade terraform to v1.14.0"
git push origin your-branchOpen a PR to plan.