블로그 문제 해결

오래된 인텔 맥에서 Claude Code가 Illegal instruction: 4로 죽을 때 AVX2 확인하는 법

Claude Code 같은 최신 CLI가 설치 중 Illegal instruction: 4로 죽는다면 CPU에 AVX2가 있는지부터 봅니다. 터미널 명령 두세 줄로 확인하는 순서와, 재설치로는 안 풀리는 이유를 적었습니다.

24시간 켜둘 서버로 쓰려던 2012년식 맥(인텔 i5-3210M)에 Claude Code를 설치하다가, 설치 스크립트가 로그도 없이 아래 한 줄만 남기고 죽었습니다.

Illegal instruction: 4

원인은 CPU였습니다. 이 CPU에는 AVX2라는 명령어 세트가 없는데, Claude Code의 네이티브 바이너리는 그 명령어를 씁니다. 그래서 몇 번을 다시 깔아도 같은 자리에서 죽었고, AVX2가 있는 2018년식 Mac mini 서버로 옮기자 같은 절차로 바로 설치됐습니다. 아래는 이 에러를 만났을 때 확인하는 순서와, 재설치로는 풀리지 않는 이유입니다.

Illegal instruction: 4가 났을 때 uname -m으로 아키텍처를 보고, sysctl로 AVX2를 확인한 뒤, AVX2가 있는 맥으로 옮기는 순서와 2012년 맥과 2018년 서버 비교

Illegal instruction: 4 는 무슨 뜻인가

이름 그대로 CPU가 모르는 명령을 받았다는 뜻입니다. 프로그램이 CPU에 어떤 명령을 실행하라고 했는데 그 CPU에는 그런 명령이 없으면, macOS는 그 프로세스를 바로 끝냅니다. 코드의 버그로 생기는 크래시와 달리 스택트레이스나 에러 로그가 남지 않고, 그 명령을 처음 실행하는 지점에서 매번 똑같이 죽습니다.

같은 자리에서 같은 줄로 두 번 이상 죽었다면 권한·경로·캐시를 의심하며 재설치를 반복하기보다 CPU부터 확인하는 편이 빠릅니다.

Claude Code 공식 문서가 말하는 두 가지 원인

Claude Code 공식 문서의 설치 문제 해결 페이지에 이 에러가 따로 정리돼 있습니다(2026년 10월 확인). 원인은 두 가지입니다.

  • 아키텍처 불일치 · 설치 프로그램이 다른 CPU용 바이너리를 받아온 경우입니다. 예를 들어 ARM 기계에 x86용 바이너리가 깔린 경우입니다. uname -m 으로 확인하라고 안내합니다.
  • 명령어 세트 부족 · 아키텍처는 맞는데도 이 에러가 나면, CPU에 AVX나 바이너리가 요구하는 다른 명령어가 없는 경우입니다. 문서는 대략 2013년 이전의 인텔·AMD 프로세서와, 하이퍼바이저가 AVX를 넘겨주지 않는 가상 머신이 여기에 해당한다고 적고 있습니다.

제 2012년 맥은 두 번째 경우였습니다. AVX2는 여러 데이터를 한 번에 묶어 처리하는 확장 명령어로, 인텔 CPU에는 2013년 하스웰 세대부터 들어갔습니다. 그보다 한 세대 앞인 이 CPU(아이비브리지)는 AVX는 있고 AVX2는 없습니다. AVX가 있다고 해서 AVX2까지 있는 건 아니라서 AVX2를 따로 확인해야 합니다.

맥에서 AVX2 지원 여부 확인하는 명령어

먼저 아키텍처를 봅니다. 인텔 맥이면 x86_64, 애플 실리콘 맥이면 arm64 가 나옵니다.

uname -m

다음은 CPU 모델명입니다. 문제를 제보할 때도 이 값을 같이 적으라고 공식 문서가 안내합니다.

sysctl -n machdep.cpu.brand_string

그리고 AVX2입니다.

sysctl -a | grep avx2

hw.optional.avx2_0: 1 이 나오면 AVX2가 있는 CPU입니다. 이 경우라면 크래시 원인은 다른 데 있습니다. 아무 줄도 나오지 않거나 값이 0이면 AVX2가 없는 CPU입니다. 제 2012년 맥에서는 1 이 나오지 않았고, 그걸 보고 재설치를 멈췄습니다.

CPU 기능 목록에서 AVX2 글자를 직접 찾는 방법도 있습니다.

sysctl -n machdep.cpu.leaf7_features | grep -o AVX2 || echo "AVX2 없음"

재설치나 다른 설치 방법으로는 안 되는 이유

하드웨어에 없는 명령어는 설정이나 재설치로 생기지 않습니다. 공식 문서도 네이티브 바이너리 쪽에서 쓸 수 있는 우회 방법은 없다고 적고 있고, npm 같은 다른 설치 방법도 같은 네이티브 바이너리를 내려받기 때문에 이 문제를 풀지 못한다고 적고 있습니다. npm으로 설치해도 Node.js로 도는 게 아니라 플랫폼별 네이티브 바이너리가 깔립니다.

Rosetta는 애플 실리콘 맥에서 인텔용 프로그램을 돌리는 도구라 인텔 맥에는 해당이 없습니다. AVX2를 쓰지 않던 옛 버전을 설치하는 방법은 이론상 후보이지만 저는 직접 시도하지 않았기 때문에 된다고 적지 않겠습니다.

OS 버전도 같이 봐야 합니다. 2026년 10월 기준 Claude Code 공식 시스템 요구 사항은 macOS 13.0 이상, x64 또는 ARM64 프로세서, 램 4GB 이상입니다. 제 2012년 맥은 macOS 12.7.6 Monterey라서 지금 기준으로는 OS 버전에서도 조건 밖입니다. macOS가 너무 오래된 경우에는 Illegal instruction 이 아니라 dyld: Symbol not found 나 Abort trap: 6 같은 다른 에러가 난다고 공식 문서에 나와 있습니다.

해결: AVX2가 있는 맥으로 옮기기

남는 방법은 AVX2가 있는 CPU에서 실행하는 것이었습니다.

기계CPUAVX2결과
2012년 맥i5-3210M없음Illegal instruction: 4
2018년 Mac minii5-8500B있음같은 절차로 설치 성공

바이너리도 설치 절차도 그대로 두고 실행하는 CPU만 바꿨는데 결과가 갈렸습니다. 처음 2012년 맥에 올리려던 도구도 그 뒤로 2018년 Mac mini 서버에서 돌렸습니다. 서버로 쓰는 Mac mini 구성은 중고 Mac mini 2018을 회사 서버로 쓰는 구성과 비용에, 이 맥에 처음 올리려던 도구는 Claude 한도 리셋 알림기에 적었습니다.

Claude Code 말고 다른 CLI에서도 같은 에러가 날 때

Claude Code만의 문제는 아닙니다. 성능을 위해 AVX2 같은 명령어 세트를 켜고 빌드한 네이티브 바이너리라면, 어떤 도구든 그 명령을 처음 실행하는 순간 같은 방식으로 죽습니다. 도구마다 요구하는 명령어가 달라서, 같은 오래된 CPU에서도 어떤 도구는 돌고 어떤 도구는 죽습니다. 확인 순서는 같습니다.

  1. 항상 같은 지점에서 같은 줄로 죽는지 봅니다
  2. uname -m 으로 받은 바이너리와 기계의 아키텍처가 맞는지 봅니다
  3. sysctl -a | grep avx2 로 AVX2가 있는지 봅니다
  4. 없으면 그 도구의 문서나 이슈에서 AVX2 없는 빌드를 따로 제공하는지 찾아보고, 없으면 AVX2가 있는 기계에서 실행합니다

자주 묻는 질문

맥에서 CLI 설치 중 Illegal instruction: 4가 뜨는 이유는 뭔가요?

네이티브 바이너리가 CPU에 없는 명령어를 실행하려 할 때 나는 에러입니다. 최신 도구가 AVX2 같은 명령어 세트를 요구하는데 오래된 맥의 CPU가 이를 모르면, 실행하는 순간 즉시 죽습니다. 코드 문제가 아니라 CPU가 명령을 이해하지 못해서 나는 신호입니다.

AVX2는 어떤 CPU부터 지원하나요?

AVX2는 2013년 하스웰(Haswell) 세대 이후의 인텔 CPU부터 지원합니다. 그보다 오래된 맥은 하드웨어 자체에 이 명령어가 없어서, 소프트웨어 업데이트로는 해결되지 않습니다.

내 맥에 AVX2가 있는지 어떻게 확인하나요?

터미널에서 sysctl -a | grep avx2 를 실행하면 됩니다. hw.optional.avx2_0: 1 이 나오면 지원하는 것이고, 아무 값도 나오지 않고 비어 있으면 AVX2가 없는 CPU입니다.

AVX2가 없는 맥에서 최신 CLI를 꼭 써야 한다면 방법이 있나요?

AVX2를 지원하는 다른 머신으로 옮기는 것이 가장 확실합니다. 저는 2012년 맥에서 실패하고 2018년 서버로 옮겨 성공했습니다. Rosetta나 구버전 설치 같은 우회는 이론상 후보지만 저는 직접 시도하지 않았으므로 된다고 단정하지 않겠습니다.

#맥#CLI#AVX2#트러블슈팅#1인 개발