適用機型:2012 年(含)以前出廠的 Intel Mac(Ivy Bridge 架構,i7-3xxx / i5-3xxx 系列)。這些 CPU 不支援 AVX2 指令集,而 Claude Desktop 內建的 Claude Code binary 要求 AVX2,執行後立即 SIGILL(exit code 132)。
如果你在 Ivy Bridge Mac 上用 Claude Desktop 啟動 Claude Code,卻看到這個訊息:
Claude Code process exited with code 132
你不孤單。這不是你的環境壞了,是 Claude Desktop 的內建 binary 不支援你的 CPU。
關鍵誤解:降版 npm 沒有用
很多人(包括我)第一直覺是去降版 npm 的 @anthropic-ai/claude-code 套件。這對修好 終端機 CLI是有效的,但對 Claude Desktop 完全沒用。
原因在於:Claude Desktop 有自己的 claude-code binary,跟你用 npm 安裝的那份完全獨立,路徑在:
~/Library/Application Support/Claude/claude-code/<版本>/claude.app/Contents/MacOS/claude
Claude Desktop 啟動時會在 log 留下:
Using Claude Code binary: ~/Library/Application Support/Claude/claude-code/2.1.111/...
這個 binary 是 Claude Desktop 自己在背景下載的。你 npm 降到什麼版本,它都不管,還是會呼叫自己那份——然後一樣 SIGILL。
解法:用 Node.js Wrapper 替換內建 binary
思路很直接:把那個會 crash 的 native binary 換成一個 bash script,讓 script 去呼叫 npm 安裝的 Node.js 版 CLI(沒有 AVX2 問題)。
步驟一:確認 binary 路徑
grep "Using Claude Code binary" ~/Library/Logs/Claude/main.log | tail -3
記下版本號,例如 2.1.111。
步驟二:解鎖目錄
chflags -R nouchg ~/Library/Application\ Support/Claude/claude-code/
步驟三:備份並替換 binary
BINARY=~/Library/Application\ Support/Claude/claude-code/2.1.111/claude.app/Contents/MacOS/claude
mv "$BINARY" "${BINARY}.orig"
cat > "$BINARY" << 'WRAPPER'
#!/bin/bash
exec /Users/your-name/.local/share/fnm/node-versions/v22.16.0/installation/bin/node \
/Users/your-name/.local/share/fnm/node-versions/v22.16.0/installation/lib/node_modules/@anthropic-ai/claude-code/cli.js "$@"
WRAPPER
chmod +x "$BINARY"
/Users/your-name 和 Node 版本號換成你自己的。用 which node 找到 node 的真實路徑(不是 symlink)。
步驟四:鎖定,防止被覆蓋
chflags -R uchg ~/Library/Application\ Support/Claude/claude-code/
重新開 Claude Desktop,就能正常使用了。
為什麼 wrapper 必須用絕對路徑?
Claude Desktop 啟動時沒有 PATH 環境變數。如果 wrapper 寫 exec node ...,Claude Desktop 執行時根本找不到 node,得到 exit code 127(command not found),還是壞的。
必須把 node binary 和 cli.js 的路徑全部寫死。
常見的 Node 路徑:
fnm 管理的 Node:
~/.local/share/fnm/node-versions/v22.16.0/installation/bin/node
nvm 管理的 Node:
~/.nvm/versions/node/v22.16.0/bin/node
防止 Claude Desktop 更新後 wrapper 失效
Claude Desktop 更新時可能下載新版 claude-code binary 到新目錄,舊目錄的 wrapper 就沒用了。用 chflags -R uchg 鎖定整個 app bundle 可以阻止 Squirrel updater 自動更新:
chflags -R uchg /Applications/Claude.app
chflags -R uchg ~/Library/Application\ Support/Claude/claude-code/
需要手動更新時,先解鎖,更新完再重新跑一遍 wrapper 流程:
chflags -R nouchg /Applications/Claude.app
chflags -R nouchg ~/Library/Application\ Support/Claude/claude-code/
附錄:如何取得舊版 Claude Desktop
如果需要安裝特定舊版本,可以從 Homebrew Cask 的歷史 commit 找到下載連結:
# 查歷史版本清單
curl -s "https://api.github.com/repos/Homebrew/homebrew-cask/commits?path=Casks/c/claude.rb&per_page=50" | \
python3 -c "import sys,json; [print(c['commit']['committer']['date'][:10], c['commit']['message'].split('\n')[0]) for c in json.load(sys.stdin)]"
下載 URL 格式:
https://downloads.claude.ai/releases/darwin/universal/<版本>/Claude-<sha>.zip
後記
這個問題的根源是 Claude Desktop v1.3xxx 前後(2026-04-01 附近)改版,內建的 claude-code binary 從 JavaScript bundle 改成了 native binary,而 native binary 要求 AVX2——Ivy Bridge CPU 只有 AVX1.0,所以 crash。
Anthropic 目前沒有公告放棄 Intel Mac 支援,但實際行為已經讓舊機器無法使用。透過 Node.js wrapper 是目前唯一有效的繞過方式。
完整技術分析與 npm CLI 的降版解法,見部落格原文:
https://blog.stanwu.org/posts/claude-desktop-ivy-bridge-wrapper-fix/























