You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Document a safe recovery path for inherited or migrated macOS accounts with stale shell state, Rosetta/native Homebrew mismatches, Xcode prerequisites, and Homebrew prefix ownership problems. Keep the recovery steps read-only until the user explicitly selects the compatible install path, and direct users to the source-checkout path when the Homebrew prefix cannot be repaired safely.
Scope
This PR documents the first-mile recovery path. It does not change bootstrap behavior or automatically repair Homebrew ownership; any future read-only bootstrap preflight should remain a separately reviewed change.
Violates this same file's own documented convention: the new "Inherited Or Migrated macOS Accounts" section repeats the exact canonical install command sequence (brew trust, brew install, basectl setup, basectl update-profile, exec "$SHELL" -l) instead of linking to it. docs/bootstrap.md itself states elsewhere: "These are the canonical direct-install command sequences. Other Base documentation should link here rather than repeat them." The new copy has already drifted from the canonical version too (adds a PATH export and an extra basectl setup --dry-run step) - exactly the kind of divergence the "link, don't repeat" rule exists to prevent, since a future edit to the canonical recipe can silently miss this copy.
Ordering issue in the diagnostic steps: a manual diagnostic block calls bare brew --prefix (ambient PATH) before the doc has told the reader to fix their PATH. On the exact scenario this section addresses (a stale /usr/local/bin/brew shadowing /opt/homebrew/bin/brew on PATH), this resolves to the wrong (Intel) prefix, not the native one the user believes they "selected" from the earlier candidate loop - the PATH export that would fix this doesn't appear until later in the same section. If brew isn't resolvable at all yet, brew_prefix is empty and the constructed path becomes a literal system path, so the ownership check silently reports on the wrong directory instead of failing cleanly.
Posted via Claude Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Document a safe recovery path for inherited or migrated macOS accounts with stale shell state, Rosetta/native Homebrew mismatches, Xcode prerequisites, and Homebrew prefix ownership problems. Keep the recovery steps read-only until the user explicitly selects the compatible install path, and direct users to the source-checkout path when the Homebrew prefix cannot be repaired safely.
Scope
This PR documents the first-mile recovery path. It does not change bootstrap behavior or automatically repair Homebrew ownership; any future read-only bootstrap preflight should remain a separately reviewed change.
Validation
git diff --checkFixes #2389