Update: Root cause identified — Xcode 26.5 downloads darwin-arm64 binary
on Intel Macs (verified workaround)
Following up on this thread and FB22141224 / FB22317519 (both closed
citing a Neural Engine requirement). After further investigation on
Xcode 26.5 on the same Intel hardware, I've identified the actual root
cause and verified a working local fix. The previously reported 401
and "code signing identity" errors are downstream symptoms of an
architecture-mismatch exec failure.
The Neural Engine premise does not fit the evidence: Claude Agent
calls a remote API and performs no on-device inference; Claude Code
in Terminal works on this Intel Mac with the same credentials; the
basic Claude Sonnet 4.5 assistant in Xcode also works on this Intel
Mac. Only the agent fails — because Xcode downloads the wrong-arch
binary for it.
SUMMARY
On Intel Macs, Xcode 26.5 (build 17F42) downloads the darwin-arm64
build of the Claude Agent rather than the darwin-x64 build the vendor
publishes at the same version. The arm64 binary fails to exec on
Intel with NSPOSIXErrorDomain Code=86 ("Bad CPU type in executable").
Xcode then misreports this in the UI as "the code signing identity
for the agent did not match expectations".
EVIDENCE
Xcode's own Info.plist on Intel contains a darwin-arm64 URL.
File: ~/Library/Developer/Xcode/CodingAssistant/Agents/XcodeVersions/17F42/claude/Info.plist
url = .../claude-code-releases/2.1.118/darwin-arm64/claude
Xcode wrote this file. No user input affects URL construction.
The downloaded binary is arm64-only:
$ file .../17F42/claude/claude
Mach-O 64-bit executable arm64
Unified log during a cold-start agent launch:
ProcessRunWithTimeout: Process failed to launch:
error: NSPOSIXErrorDomain Code=86 "Bad CPU type in executable"
ProcessSecurity: Signing identity matches = false.
Comparing to: com.anthropic.claude-code.
The signing-identity check fails because exec failed milliseconds
earlier — there is no running process to verify. The user-facing
error message misattributes the cause.
The previous Xcode 26.3 install on the same Intel Mac downloaded
an x86_64 binary, which still works and verifies cleanly:
codesign: valid; satisfies Designated Requirement
authority: Developer ID Application: Anthropic PBC (Q6L2SF6YDW)
spctl: accepted; Notarized Developer ID
Manually swapping the parallel darwin-x64 binary into place (same
version, with Info.plist checksum and URL updated) makes the
Claude Agent work correctly in Xcode 26.5 on Intel. Verified end
to end.
WORKAROUND (VERIFIED ON INTEL)
Quit Xcode, then:
curl -fL -o /tmp/claude-x64
https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/2.1.118/darwin-x64/claude
AGENT_DIR=~/Library/Developer/Xcode/CodingAssistant/Agents/XcodeVersions/17F42/claude
chmod u+w "$AGENT_DIR/claude"
cp -p /tmp/claude-x64 "$AGENT_DIR/claude"
chmod a-w "$AGENT_DIR/claude"
NEW=$(shasum -a 512 "$AGENT_DIR/claude" | awk '{print $1}')
plutil -replace checksum -string "$NEW" "$AGENT_DIR/Info.plist"
plutil -replace url -string
"https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/2.1.118/darwin-x64/claude"
"$AGENT_DIR/Info.plist"
Adjust 17F42 and 2.1.118 to your Xcode build and agent version. May
need re-applying after future Xcode updates.
SUGGESTED FIXES
Primary: Xcode's agent downloader should select the URL matching the
host CPU architecture rather than defaulting to darwin-arm64 on
Intel. Anthropic publishes both architectures at parallel URLs
differing only in suffix.
Secondary: The user-facing error message should be revised when the
underlying cause is an exec failure. Misattributing EBADARCH as a
code-signing failure has produced significant misdirected debugging.
ENVIRONMENT
Hardware: MacBook Pro 2019, Intel Core i9 (x86_64)
macOS: 26.5
Xcode: 26.5 (17F42)
Agent: Claude Code 2.1.118
Account: Claude Pro (claude.ai OAuth)
A fresh Feedback Assistant report has been submitted with the
forensic evidence above (sysdiagnose not included; can be provided
on request). Cross-posted on GitHub as anthropics/claude-code #31231.
Requesting that FB22141224 / FB22317519 be revisited in light of
the new evidence — the architectural premise of the previous
closures does not match what the agent does at runtime.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags: