Ultimate

X_RELEASE_TREE_DIRTY

Means

scripts/release.ts was run over a working tree with uncommitted changes

Typical cause

the release rewrites 47 files and is committed as one; over a dirty tree that commit carries whatever else was in flight, as part of a release nobody reviewed as one. Checked under --dry-run too, so a dry run predicts the real one. A git status --porcelain that could not run is the same refusal, never a pass

Fix

git stash -u && bun run scripts/release.ts --bump patch --dry-run --json — the fix line repeats your own flags; the cause lists the dirty paths

Listed under CLI and verify

This page as markdown