Trending:

CodeQL changes for macOS 27, Xcode 27, and Swift 6.4: what verified evidence says for developers

Prepared with AI assistance from source material. Automated editorial review recorded . Automated checks can miss errors and do not represent human approval. Editorial policy and corrections.

Illustration of CodeQL workflow constraints on macOS 27 and Xcode 27
TechStaged-owned

Summary

  • CodeQL changes for macOS 27, Xcode 27, and Swift 6.4.
  • Starting with macOS 27 and Xcode 27, Apple no longer includes Intel (x86_64) code in some of the system binaries and libraries CodeQL relies on to trace builds.
  • CodeQL can’t support traced scans on these versions or analyze Swift 6.4.
  • Xcode 27: When Xcode 27 is installed, traced extraction isn’t available for C/C++, C#, Go, Java, Kotlin, or Swift.

GitHub's changelog notes that starting with macOS 27 and Xcode 27, Apple no longer includes Intel x86_64 code in some system binaries and libraries used by CodeQL to trace builds, which helps explain why traced scans aren’t supported on these versions.

The same changelog notes that CodeQL doesn’t support Swift 6.4 on any platform.

CONCRETE IMPLICATIONS FOR LANGUAGES AND RUNTIMES

Xcode 27 blocks traced extraction for C/C++, C#, Go, Java, Kotlin, and Swift.

macOS 27 may also block traced extraction for these languages.

Swift 6.4 is not supported by CodeQL on any platform.

RECOMMENDED WORKFLOW CHANGES AND MITIGATIONS

Intel-based Mac support is scheduled to be deprecated in mid-December 2026, guiding teams to consider alternatives or updated hardware/CI strategies.

If scanning Swift or using traced builds for other languages, pin your workflows to macOS 26 or earlier and Xcode 26 or earlier.

In GitHub Actions, pin the runner image and toolchain in your workflow rather than relying on the latest versions.

For C/C++, C#, and Java, you can switch to build mode none, which doesn’t require tracing a build.

  • Pin to macOS 26 or earlier and Xcode 26 or earlier when feasible.
  • Pin runner images and toolchains in GitHub Actions workflows to avoid relying on the latest builds.