[BUG] Desktop app's bundled Claude Code crashes on macOS 12 (dyld: _DNSServiceGetAddrInfoEx) while the standalone CLI runs fine
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Summary
The Claude Code build managed by the Claude Desktop app fails to launch on
macOS 12.7.1 with a dyld symbol error and exit code 134. On the same machine,
the standalone CLI binary at a newer version (2.1.258) launches and runs a
full interactive session without any problem.
So this is not a general "macOS too old" limitation — it is specific to the
build the desktop app ships.
Environment
- macOS 12.7.1 (Monterey)
- MacBookPro13,2 (2016 13" MacBook Pro), Intel x86_64, 8 GB RAM
- Desktop-managed build: 2.1.255
- Standalone CLI build: 2.1.258 (works)
Error
What Should Happen?
Expected behaviour
Either the desktop-managed build should have the same minimum-OS footprint as
the standalone CLI, or the app should show a clear "unsupported macOS version"
message instead of aborting with exit code 134 and a raw dyld trace.
Error Messages/Logs
Claude Code process exited with code 134. stderr: dyld[2069]: Symbol not found: (_DNSServiceGetAddrInfoEx)
Referenced from: '<home>/Library/Application Support/Claude/claude-code/2.1.255/claude.app/Contents/MacOS/claude'
Expected in: '/usr/lib/libSystem.B.dylib'
dyld[2069]: Symbol not found: (_DNSServiceGetAddrInfoEx)
Referenced from: '<home>/Library/Application Support/Claude/claude-code/2.1.255/claude.app/Contents/MacOS/claude'
Expected in: '/usr/lib/libSystem.B.dylib'
Steps to Reproduce
Steps to reproduce
- On macOS 12.x, install the Claude Desktop app.
- Open Claude Code from within the app.
- The app downloads its own build into
~/Library/Application Support/Claude/claude-code/<version>/ and the
process aborts immediately with the error above.
What works on the same machine
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
unknown for the desktop-managed build; CLI: 2.1.252 (see #91309)
Claude Code Version
2.1.255 (desktop-managed build, crashes) / 2.1.258 (Claude Code) standalone CLI, works
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Relationship to #91309
#91309 covers the same symbol (_DNSServiceGetAddrInfoEx) on macOS 12 for the standalone CLI, and pins the break exactly at 2.1.257 (2.1.252 still works).
This report is a different case, and the same fix does not cover it:
- On this machine the standalone CLI is already fine. The auto-updater installed 2.1.258 and it launches, logs in, and runs full interactive sessions on macOS 12.7.1:
$ claude --version
2.1.258 (Claude Code)
- The desktop app is still stuck on its own separate build, 2.1.255, in
~/Library/Application Support/Claude/claude-code/2.1.255/claude.app/, which carries the bad symbol and aborts with exit code 134. The app manages that download itself and has not moved off it, so unlike the CLI it does not recover on its own.
So the desktop app is pulling Claude Code builds from a track that still carries the macOS 12 regression, and there is no way for a user to pin or roll it back: DISABLE_AUTOUPDATER in ~/.claude/settings.json and curl -fsSL https://claude.ai/install.sh | bash -s <version> only affect the standalone CLI.
Environment
- macOS 12.7.1 (Monterey), MacBookPro13,2 (2016 13-inch MacBook Pro), Intel x64, 8 GB RAM
- Desktop-managed build: 2.1.255 - aborts, exit code 134
- Standalone CLI: 2.1.258 - works normally
Note on the documented floor
The setup docs state macOS 13.0+, yet the standalone CLI runs correctly on macOS 12.7.1. The documented minimum and the shipped behaviour disagree in both directions, which makes it hard to tell a genuine unsupported-OS condition from a broken build.
3 Comments
Me pasa exactamente lo mismo en un MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports) con macOS Monterey 12.7.6. La app de escritorio (Cowork) queda atascada en la compilación 2.1.255 y crashea con el mismo error de símbolo:
dyld[10230]: Symbol not found: (_DNSServiceGetAddrInfoEx)
Referenced from: '<home>/Library/Application Support/Claude/claude-code/2.1.255/claude.app/Contents/MacOS/claude'
Expected in: '/usr/lib/libSystem.B.dylib'
Reinstalar la app no soluciona nada porque vuelve a bajar la misma build. Se ve que sigue sin resolverse del lado de la app de escritorio — dejo esto para que quede visibilidad de que sigue afectando a más gente.
Confirming this happens on different hardware too — MacBook Air (Retina, 13-inch, 2020), macOS 12.7.4 (Monterey), Desktop app 1.40609.1.
Same exact error and exit code 134. I tried fully quitting the app, deleting ~/Library/Application Support/Claude/claude-code/2.1.255, and clearing ~/Library/Caches/Claude — Desktop always re-downloads exactly 2.1.255 again.
Also confirmed the standalone CLI works: installing via curl -fsSL https://claude.ai/install.sh | bash gives 2.1.258, and running it explicitly (~/.local/bin/claude -p "test") works perfectly on this same machine with no dyld error.
Same Error: Claude Desktop app permanently stuck on broken Claude Code 2.1.255
Summary
Claude Desktop's bundled Claude Code binary is pinned to v2.1.255 — a version with a known dyld crash on macOS 12 (Monterey) — and will not update past it despite full cache clears and reinstalls. The standalone terminal CLI install updates and runs fine, confirming this is isolated to the Desktop app's own bundled copy.
Environment
Error
When the Desktop app spawns a new Claude Code process (new session, or a new command in an existing Code tab session), it fails with:
This matches a regression Anthropic's own changelog documents as introduced in Claude Code 2.1.255 and fixed in a later release (fix shipped September 1, 2026, per the official changelog at code.claude.com/docs/en/changelog). The terminal CLI picked up that fix via
claude update. The Desktop app's bundled copy did not.Steps to reproduce
Troubleshooting already attempted (no effect)
rm -rf "$HOME/Library/Application Support/Claude/claude-code/2.1.255"— app re-downloaded the same 2.1.255.rm -rf "$HOME/Library/Application Support/Claude/claude-code"— app re-downloaded the same 2.1.255.ls "$HOME/Library/Application Support/Claude/claude-code/"that 2.1.255 is the only version present after every attempt above.
Why this looks server-side
The terminal CLI (separate install/update path) successfully updated past this regression via
claude update. The Desktop app's bundled Claude Code, by contrast, returns to the identical 2.1.255 build every time, even from a fully cleared local cache and a clean reinstall. This suggests the Desktop app's current release is fetching a pinned/stale bundled version from Anthropic's servers, not a local caching issue.Workaround in use
Running Claude Code via Terminal directly (
cd <project> && claude) instead of the Desktop app's Code tab. This works reliably. The/desktopcommand can attach a working terminal session to the Desktop app's Code tab for viewing prior transcript, but does not route new commands through the working terminal binary — new commands still hit the broken bundled 2.1.255 process.Impact
Desktop app's Code tab is currently unusable on macOS 12 for any session requiring a fresh process spawn.