Skip to content

fix: the brew instructions we shipped stop on a clean machine (v1.44 W6 follow-up) - #390

Merged
JasonYeYuhe merged 1 commit into
mainfrom
fix/brew-tap-instructions
Jul 27, 2026
Merged

fix: the brew instructions we shipped stop on a clean machine (v1.44 W6 follow-up)#390
JasonYeYuhe merged 1 commit into
mainfrom
fix/brew-tap-instructions

Conversation

@JasonYeYuhe

Copy link
Copy Markdown
Collaborator

What publishing the tap turned up

The tap is live at cli-pulse/homebrew-tap. Publishing it exposed a step neither the cask nor the release notes accounted for.

Homebrew 6 refuses to load casks from any third-party tap until it is trusted:

Error: Refusing to load cask cli-pulse/tap/cli-pulse from untrusted tap cli-pulse/tap.

So the two-command instructions in the release notes — tap, then install — stop with an error on every machine that isn't mine.

Found by running the install path from a clean brew untap, not by assuming it worked because brew audit passed. Audit operates on a tap you already have locally, so it cannot see this at all.

Fixed in three places

  • release notes (github-release.sh)
  • the tap's own README
  • the post-release checklist update_cask.sh prints — which also gained the actual copy-into-tap-and-push commands it was previously hand-waving at as "Owner-gated"

Verified end to end after publishing

Step Result
brew untapbrew tapbrew trustbrew info --cask cli-pulse resolves 1.43.0 (auto_updates), correct artifact + requirements
brew fetch --cask cli-pulse downloads the real DMG, checksum verified

fetch rather than install deliberately: this machine has a working CLI Pulse.app in /Applications, and overwriting a developer's own build to prove a checksum is a bad trade.

🤖 Generated with Claude Code

…W6 follow-up)

The tap is live at cli-pulse/homebrew-tap, and publishing it turned up a step
neither the cask nor the release notes accounted for.

Homebrew 6 refuses to load casks from any third-party tap until it is trusted:

  Error: Refusing to load cask cli-pulse/tap/cli-pulse from untrusted tap.

So the two-command instructions I wrote into the release notes — tap, then
install — stop with an error on every machine that isn't mine. Found by
actually running the install path from a clean untap rather than assuming it
worked because `brew audit` passed; audit operates on a tap you already have.

Now documented in the release notes, in the tap's README, and in the
post-release checklist that `update_cask.sh` prints, which also gained the
copy-into-tap-and-push commands it was previously hand-waving at as
"Owner-gated".

Verified end to end after publishing:
  brew untap → brew tap → brew trust → brew info    resolves 1.43.0
  brew fetch --cask cli-pulse                       downloads + checksum OK

`fetch` rather than `install` on purpose — this machine has a working
CLI Pulse.app in /Applications and overwriting a developer's own build to
prove a checksum is a bad trade.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@JasonYeYuhe
JasonYeYuhe merged commit 36ec471 into main Jul 27, 2026
4 of 6 checks passed
@JasonYeYuhe
JasonYeYuhe deleted the fix/brew-tap-instructions branch July 27, 2026 16:59
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