fix(server): one-click provider updates no longer wedge brew-installed Codex on macOS - #8247
fix(server): one-click provider updates no longer wedge brew-installed Codex on macOS#8247t3dotgg wants to merge 1 commit into
Conversation
… macOS Homebrew cask upgrades quarantine the new binary. macOS then blocks the next exec behind a Gatekeeper approval prompt the T3 server cannot answer, so the provider probe hangs until it times out and the model picker shows no models. Pass --no-quarantine to brew upgrade so managed updates never quarantine the binary. The flag is a no-op for formulae. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3c736e4. Configure here.
| // the next exec behind a Gatekeeper approval prompt, which the T3 server | ||
| // cannot answer, so the provider probe hangs until a human approves the | ||
| // binary. --no-quarantine skips that and is a no-op for formulae. | ||
| updateArgs: ["upgrade", "--no-quarantine", definition.homebrewFormula], |
There was a problem hiding this comment.
Removed brew flag breaks updates
High Severity
--no-quarantine was disabled in Homebrew 5.1.0 and fully removed in July 2026, so current brew upgrade rejects it with an invalid/unknown-option error. providerMaintenanceRunner treats any non-zero exit as a failed update, so one-click Homebrew updates for Codex (and other brew-routed providers) fail instead of fixing the Gatekeeper wedge.
Reviewed by Cursor Bugbot for commit 3c736e4. Configure here.
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR changes production Homebrew update commands and intentionally bypasses binary quarantine for affected providers. An unresolved concrete review finding reports that the added flag is rejected by newer Homebrew versions, potentially causing one-click updates to fail. You can add or adjust custom eligibility rules. Learn more. |


Codex broke on a machine right before the stable cut: the provider status check timed out and the model picker showed no models. The cause was not a recent merge. A fresh `brew` cask install of codex left the binary quarantined, and macOS blocked every exec behind a Gatekeeper approval prompt that a background server can never answer. The T3 probe then timed out forever.
Our one-click provider update runs the same command (`brew upgrade codex`), so any stable user with a brew-installed Codex who clicks Update reproduces this exact wedge. This PR passes `--no-quarantine` to `brew upgrade` for Homebrew-managed providers, so the updated binary is never quarantined. The flag is a no-op for formulae and only changes cask behavior. Verified the flag parses with `brew upgrade --dry-run --no-quarantine codex` (exit 0).
Changes by Claude Fable 5 via Claude Code.
Note
Low Risk
Narrow change to Homebrew upgrade flags for provider maintenance; slightly relaxes quarantine on cask upgrades but targets a known headless-server failure mode.
Overview
Fixes one-click Homebrew provider updates wedging provider health checks on macOS when the installed tool is a cask whose binary gets quarantined after
brew upgrade.Homebrew-managed provider maintenance now runs
brew upgrade --no-quarantine <formula>instead of plainbrew upgrade. The flag avoids Gatekeeper quarantine on cask binaries so the T3 server can execute the provider probe without a manual approval dialog; it is documented as a no-op for formulae. Expectations inproviderMaintenance.test.tsfor Homebrew-resolved binaries are updated to match the new command and args.Reviewed by Cursor Bugbot for commit 3c736e4. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add
--no-quarantineflag to Homebrew update args inmakeHomebrewProviderMaintenanceCapabilitiesOne-click provider updates invoke
brew upgradewith a new--no-quarantineargument inserted before the formula identifier. This prevents macOS Gatekeeper quarantine from wedging brew-installed Codex after an update. Tests in providerMaintenance.test.ts are updated to expect the new argument shape.Macroscope summarized 3c736e4.