Skip to content

Fix CLT version check on Intel Tahoe - #24043

Merged
MikeMcQuaid merged 1 commit into
Homebrew:mainfrom
thiagogenez:clt-tahoe-intel-version
Sep 20, 2026
Merged

MikeMcQuaid merged 1 commit into
Homebrew:mainfrom
thiagogenez:clt-tahoe-intel-version

Conversation

@thiagogenez

@thiagogenez thiagogenez commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

On Intel macOS 26, brew doctor reports CLT 26.6 as outdated even though it is the latest compatible release. The check requires clang 2100.3.34.2, but CLT 26.6 provides 2100.1.1.101.

Use the CLT 26.6 threshold on Intel macOS 26. The existing physical_cpu_arm64? helper keeps the newer threshold on Apple Silicon, including under Rosetta. macOS 27 keeps its current threshold, and older Intel CLTs still trigger the warning.

Fixes #24041.

To reproduce on an Intel Mac running macOS 26 with CLT 26.6 installed:

  1. Run brew doctor check_clt_up_to_date before applying the patch.
  2. Apply the patch and run the same command. The warning A newer Command Line Tools release is available. disappears.

Validation:

  • Verified the threshold directly from Apple's standalone CLT 26.6 Universal executables package, identified by Apple's distribution metadata. pkgutil --check-signature reported signed Apple Software; the extracted PackageInfo identifies com.apple.pkg.CLTools_Executables version 26.6.0.0.1781586589. Running the extracted clang --version on arm64 and via arch -x86_64 returned clang-2100.1.1.101 in both cases. The package was extracted to a temporary directory, not installed.
  • Regression tests cover Intel CLT 26.6, older Intel CLTs and Apple Silicon both natively and under Rosetta. The Intel and Rosetta regression examples failed before their fixes and passed afterwards using the same targets. All six focused examples passed: ./bin/brew tests --only=os/mac/xcode:54,os/mac/xcode:62,os/mac/xcode:76,os/mac/xcode:82,os/mac/xcode:88.
  • ./bin/brew lgtm --online passed: type checking, style and all 12 examples in the affected spec on the development machine.

I also checked the threshold before and after the patch on an Intel MacBook running Ventura 13.6, in a separate clone. This command simulates macOS 26.7 inside the Ruby process and uses the Mac's real CPU:

HOMEBREW_NO_AUTO_UPDATE=1 ./bin/brew ruby -- -e 'require "os/mac/xcode"; MacOS.full_version = "26.7"; puts MacOS::CLT.latest_clang_version'
Revision Reported Clang threshold
Before: 14c54f7c76 2100.3.34.2
After: patched branch 2100.1.1.101

Note

My Intel Mac runs Ventura 13.6, and I need to keep its macOS and Homebrew installation unchanged. I tested in a separate clone, simulating macOS 26.7 within the Ruby process. RSpec was blocked by native gem compilation failures. I have not tested the full setup on Intel with macOS 26 and CLT 26.6 installed.


  • Have you followed our Contributing guidelines?
  • Have you checked for other open Pull Requests for the same change?
  • Have you explained what your changes do? Performance claims (e.g. "this is faster") must include brew benchmark results.
  • Have you explained why you'd like these changes included, not just what they do?
  • For bug fixes, have you given step-by-step brew commands to reproduce the bug?
  • Have you written new tests (excluding integration tests)? Here's an example.
  • Have you successfully run brew lgtm (style, typechecking and tests) locally?

  • I did not use AI/LLM to create this PR, or I disclosed the tool/model below and reviewed its output; I did not attribute commits to AI and will answer maintainer questions and review comments myself without AI/LLM.

I used OpenAI Codex (GPT-6) to investigate the issue, draft the patch, tests and this description, verify the Apple package and run the automated checks. I ran the Intel before/after check and reviewed the code and this description.


@MikeMcQuaid MikeMcQuaid left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@MikeMcQuaid
MikeMcQuaid added this pull request to the merge queue Sep 20, 2026
Merged via the queue into Homebrew:main with commit cafd5c7 Sep 20, 2026
57 checks passed
@thiagogenez
thiagogenez deleted the clt-tahoe-intel-version branch September 21, 2026 08:11
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.

brew doctor falsely reports CLT 26.6 outdated in Intel macOS 26 because it uses arm64-only CLT 27 clang threshold

2 participants