# Claude Code Cannot find module yoga.wasm 해결: 2.0.25 이하 복사본 정리

> Claude Code의 yoga.wasm 에러는 2.0.25 이하 npm 빌드가 실행될 때만 납니다. which -a claude로 그 복사본을 찾아 지우고 설치를 하나만 남기세요.

- URL: https://blog.laozhang.ai/ko/posts/claude-code-cannot-find-module-yoga-wasm
- Published: 2026-10-16
- Updated: 2026-10-16
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ko/about)
- Topic: Claude Code
- Tags: Claude Code, yoga.wasm, npm, 설치 오류, 문제 해결

---
터미널에서 `claude`나 `claude doctor`를 실행했는데 `Error: Cannot find module './yoga.wasm'`가 뜨고 Require stack이 `.../@anthropic-ai/claude-code/cli.js`를 가리킨다면, 지금 셸이 실행하는 Claude Code는 파일 일부가 빠진 오래된 JavaScript 빌드입니다. `yoga.wasm`을 별도 파일로 들고 있던 것은 npm 패키지 2.0.25 이하뿐이고, 2025년 10월 23일 배포된 2.0.26부터는 패키지에 이 파일이 없습니다. 현재 버전은 이 에러를 낼 수 없습니다.

따라서 해결 방법은 무언가를 추가로 설치하는 것이 아니라, 실행되고 있는 오래된 복사본을 찾아 지우고 설치 경로를 하나만 남기는 것입니다. 새 버전을 이미 설치했는데도 같은 에러가 난다면 PATH 앞쪽에 남은 오래된 복사본이 새 버전을 가리고 있는지부터 확인하세요. 어느 복사본이 문제인지에 따라 지울 대상이 달라서, 모두에게 맞는 명령 한 줄은 없습니다.

## macOS arm64에서 직접 재현한 것과 재현하지 않은 것

아래 절차 가운데 일부는 2026년 10월 16일 macOS 26(arm64), Node v24.11.0, npm 11.6.1 환경에서 직접 실행했습니다. 실제 설치에 영향이 가지 않도록 별도 npm prefix 폴더와 별도 HOME 폴더 안에서만 돌렸습니다.

| 재현한 상황 | 결과 |
| --- | --- |
| npm 2.0.25를 설치한 뒤 `yoga.wasm` 파일 삭제 | `claude --version`, `claude doctor`, 대화형 실행 모두 `Error: Cannot find module './yoga.wasm'`로 종료(exit 1). 파일을 되돌리면 `2.0.25 (Claude Code)` 출력 |
| 망가진 2.0.25 위에 `npm install -g @anthropic-ai/claude-code@latest` | ENOTEMPTY 없이 완료, `claude --version`이 `2.1.301 (Claude Code)` |
| 공식 네이티브 설치 프로그램(`install.sh`) 실행 | 2.1.301이 `~/.local/bin/claude`에 설치되고, `~/.local/bin`이 PATH에 없다는 경고 출력 |
| 네이티브 2.1.301을 설치했지만 망가진 npm 2.0.25가 PATH 앞에 있음 | `which -a claude` 첫 줄이 npm 복사본, `claude --version`은 계속 yoga.wasm 에러. npm 복사본과 bin 링크를 지우자 2.1.301로 실행 |

재현하지 않은 것은 Windows, Linux, pnpm, mise, Homebrew로 설치한 Node, 실제로 중단된 자동 업데이트(파일 삭제로 대신함), 그리고 ENOTEMPTY 에러 자체입니다. 이 분기에 나오는 명령은 Anthropic 공식 문서나 GitHub issue에 적힌 내용을 그대로 옮긴 것이며, 해당 위치마다 "공식 문서 기준, 미실행"이라고 붙어 있습니다.

## Cannot find module './yoga.wasm'의 뜻: 2.0.25 이하 npm 빌드가 실행 중

`yoga.wasm`은 Claude Code의 터미널 화면을 그리던 라이브러리 Ink가 쓰는 flexbox 레이아웃 엔진 Yoga의 WebAssembly 빌드입니다. 2.0.25 이하 npm 패키지에서는 이 파일이 `cli.js` 바로 옆에 따로 들어 있었고, `cli.js`는 시작할 때 자기 폴더에서 `./yoga.wasm`을 찾습니다. 파일이 없으면 버전 번호를 출력하기도 전에 종료됩니다. 그래서 `claude doctor`로 진단하려 해도 같은 에러가 납니다.

npm에 공개된 `@anthropic-ai/claude-code` 패키지 파일을 버전별로 열어 보면 경계가 분명합니다. 공식 문서나 변경 로그에는 이 포장 변경이 언급되지 않으며, 아래 표는 2026년 10월 16일 기준 npm 레지스트리에 올라온 패키지를 직접 받아 확인한 결과입니다.

| npm 버전 | 배포 시기 | 별도 `yoga.wasm` 파일 | `claude` 명령이 가리키는 것 |
| --- | --- | --- | --- |
| 2.0.25 이하 (1.0.60, 2.0.0, 2.0.10, 2.0.20, 2.0.24, 2.0.25 확인) | ~2025-10-21 | 있음 | `cli.js` (JavaScript) |
| 2.0.26~2.1.112 (2.0.26, 2.0.28, 2.0.30, 2.0.54, 2.0.58, 2.0.59, 2.1.112 확인) | 2025-10-23~2026-04-16 | 없음 | `cli.js` (JavaScript) |
| 2.1.113 이후 | 2026-04-17~ | 없음 | `bin/claude.exe` (플랫폼별 네이티브 바이너리) |

2.0.26의 `cli.js`는 `yoga.wasm` 파일 없이도 `2.0.26 (Claude Code)`를 정상 출력했습니다. 2.0.26과 2.0.59의 `cli.js` 바이트를 2.0.24와 비교해 보면 Yoga WebAssembly가 별도 파일 대신 `cli.js` 안에 함께 묶여 들어간 것으로 보입니다. 공식 문서에 적힌 내용이 아니라 패키지 내용에서 나온 관찰입니다. 공식 [Claude Code 변경 로그](https://code.claude.com/docs/en/changelog)에 따르면 2.1.85(2026년 3월 26일)에서 WASM yoga-layout을 순수 TypeScript 구현으로 바꿨고, 2.1.113(2026년 4월 17일)부터는 npm 패키지도 JavaScript 대신 플랫폼별 네이티브 바이너리를 실행합니다. 2026년 10월 16일 기준 npm의 `latest`는 2.1.301, `stable`은 2.1.292입니다.

![Claude Code npm 패키지의 세 단계: 2.0.25 이하만 별도 yoga.wasm 파일이 있어 이 에러가 날 수 있고, 2.0.26~2.1.112와 2.1.113 이후는 나지 않음](https://blog.laozhang.ai/posts/ko/claude-code-cannot-find-module-yoga-wasm/img/yoga-wasm-version-stages.webp)

파일이 빠지는 이유는 2025년 Anthropic 직원들이 GitHub에서 설명했습니다. 당시 자동 업데이트는 `npm update`를 썼는데 원자적으로 처리되지 않아 일부 파일만 갱신된 상태가 생길 수 있었고([GitHub issue #1103의 Anthropic 직원 답변](https://github.com/anthropics/claude-code/issues/1103)), 네트워크 오류 등으로 업데이트가 중간에 끊기면 `yoga.wasm` 같은 파일이 빠진 채 남는다고 했습니다([GitHub issue #7193의 Anthropic 직원 답변](https://github.com/anthropics/claude-code/issues/7193)). 설치 프로그램과 업데이터가 여러 프로세스가 동시에 돌 때 안전하지 않으니 손보기 전에 Claude Code를 모두 종료하라는 안내도 있었습니다. GitHub issue에 "세션을 열어 둔 채 노트북을 덮었다가 다음 날 보니 안 된다"는 식의 보고가 이어진 것도 이 때문입니다.

2026년 하반기에 이 에러를 만난다면 그 머신이나 이미지가 2.0.25 이하에 머물러 있다는 뜻입니다. 공식 설정 문서에 따르면 `DISABLE_UPDATES`를 설정하면 모든 업데이트 경로가 막힙니다. 이렇게 버전을 고정한 개발 머신이나 오래전에 만든 CI·Docker 이미지가 여전히 2.0.25 이하일 수 있다는 것은 위 패키지 구성과 이 설정에서 나온 추론입니다.

## which -a claude와 Require stack으로 실행 중인 복사본 찾기

먼저 셸이 어떤 `claude`를 실행하는지 확인합니다. `which -a claude`는 PATH에서 찾은 `claude`를 순서대로 모두 보여 주고, 첫 줄이 실제로 실행되는 복사본입니다.

```bash
which -a claude
ls -l "$(which claude)"
```

두 번째 명령은 첫 번째 `claude`가 어디로 연결되는지 보여 줍니다. 연결 대상으로 정체를 구분할 수 있습니다.

| 연결 대상 | 정체 | yoga.wasm 에러가 날 수 있나 |
| --- | --- | --- |
| `.../@anthropic-ai/claude-code/cli.js` | npm 또는 pnpm으로 설치한 JavaScript 빌드 | 2.0.25 이하일 때만 |
| `.../@anthropic-ai/claude-code/bin/claude.exe` | 2.1.113 이후 npm 패키지(네이티브 바이너리) | 아니요 |
| `~/.local/share/claude/versions/` 아래 버전 번호 | 공식 네이티브 설치 | 아니요 |

에러 메시지의 Require stack 경로도 같은 답을 줍니다. 실제 보고에서 나온 경로와 그 의미는 다음과 같습니다.

| Require stack 경로 앞부분 | 어떤 설치인가 |
| --- | --- |
| `~/.nvm/versions/node/v20.x/lib/node_modules/` | nvm으로 설치한 해당 Node 버전의 npm 전역 설치 |
| `~/.local/share/mise/installs/node/22.19.0/lib/node_modules/` | mise로 설치한 해당 Node 버전의 npm 전역 설치 |
| `/opt/homebrew/lib/node_modules/` | Homebrew로 설치한 Node의 npm 전역 설치(Homebrew의 claude-code cask와는 다름) |
| `~/.npm-global/lib/node_modules/` | 사용자가 지정한 npm 전역 prefix |
| `~/.claude/local/` 아래 | 예전 Claude Code가 만든 로컬 npm 설치(레거시) |

망가진 복사본의 버전은 `claude --version`으로는 볼 수 없으니 그 폴더의 `package.json`을 직접 읽습니다. 경로는 자신의 Require stack에 나온 것으로 바꿉니다.

```bash
# 예시 경로입니다. 자신의 에러에 나온 경로로 바꾸세요.
grep '"version"' ~/.nvm/versions/node/v20.10.0/lib/node_modules/@anthropic-ai/claude-code/package.json
```

2.0.25 이하가 나오면 위 설명과 맞습니다. 이어서 공식 [Claude Code 설치 문제 해결 문서의 중복 설치 확인 항목](https://code.claude.com/docs/en/troubleshoot-install#check-for-conflicting-installations)에 있는 세 곳을 확인해 다른 설치가 있는지 봅니다.

```bash
ls -la ~/.local/bin/claude
ls -la ~/.claude/local/
npm -g ls @anthropic-ai/claude-code 2>/dev/null
```

`No such file or directory`는 그 위치에 설치가 없다는 뜻일 뿐 에러가 아닙니다. 주의할 점은 `npm -g ls`가 지금 활성화된 Node 버전의 전역 폴더만 본다는 것입니다. nvm이나 mise로 Node 버전을 바꿨다면 망가진 복사본은 이전 버전 폴더에 남아 있어 이 목록에 나오지 않을 수 있으니, Require stack 경로를 기준으로 판단하세요.

"네이티브로 설치했는데요"라고 생각해도 Require stack에 `cli.js`가 보이면 실제로 실행된 것은 JavaScript 복사본입니다. 현재 네이티브 바이너리에는 `cli.js`가 없습니다. 다만 `cli.js`가 있다고 모두 2.0.25 이하인 것은 아닙니다. 2.0.26~2.1.112도 `cli.js`로 실행되지만 별도 `yoga.wasm` 파일을 찾지 않으므로 이 에러를 내지 않습니다. `cli.js`와 함께 yoga.wasm 에러가 났다는 사실이 2.0.25 이하라는 신호이고, 정확한 버전은 위의 `package.json`으로 확인합니다.

Windows에서는 다음 명령으로 같은 확인을 합니다(공식 문서 기준, 미실행). `where.exe` 출력의 첫 줄이 실행되는 복사본이고, `Test-Path`가 `True`면 네이티브 설치가 있습니다.

```powershell
where.exe claude
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"
```

## npm으로 고칠지, 네이티브 설치로 옮길지: 복구 경로 고르기

두 방법 모두 공식 설치 경로입니다. 공식 [Claude Code 설치 문서(Set up Claude Code)](https://code.claude.com/docs/en/setup)는 npm 설치를 여전히 안내하며, npm 패키지는 Node.js 22 이상을 요구하고 설치되는 것은 네이티브 설치 프로그램과 같은 바이너리라고 설명합니다. 중복 설치를 정리할 때는 `~/.local/bin/claude`의 네이티브 설치를 남기라고 권합니다.

| 지금 상황 | 고를 경로 |
| --- | --- |
| 망가진 복사본이 지금 Node의 `npm root -g` 아래에 있고, 앞으로도 npm으로 관리하고 싶다 | A. npm 설치를 제자리에서 최신으로 |
| 망가진 복사본이 이전 Node 버전 폴더에 있거나, 복사본이 여러 개 섞여 있다 | 그 복사본을 지운 뒤 A나 B 중 하나만 |
| nvm·mise·Homebrew로 Node 버전을 자주 바꾸거나, 자동 업데이트로 또 깨지는 일을 피하고 싶다 | B. 네이티브 설치로 옮기기 |

어느 쪽이든 시작하기 전에 열려 있는 Claude Code 창과 세션을 모두 종료하세요. 설치와 업데이트는 여러 프로세스가 동시에 건드리면 안전하지 않습니다.

### A. npm 설치를 제자리에서 최신 버전으로 올리기

먼저 `npm root -g` 결과가 Require stack 경로의 `node_modules` 폴더와 같은지 확인합니다. 같다면 그 위에 최신 버전을 덮어씁니다.

```bash
npm root -g
npm install -g @anthropic-ai/claude-code@latest
hash -r
claude --version
```

macOS arm64 재현에서는 `yoga.wasm`을 지운 2.0.25 위에 이 명령을 실행하자 `added 8 packages, removed 2 packages, and changed 1 package`가 출력됐고, `claude`가 Mach-O arm64 바이너리로 바뀌어 `2.1.301 (Claude Code)`를 출력했습니다. 실제 머신에서는 이 단계에서 ENOTEMPTY가 날 수 있으며, 그때는 아래 ENOTEMPTY 항목으로 넘어가세요.

npm 경로에서 지킬 것은 세 가지입니다. 업그레이드는 `npm update -g`가 아니라 `npm install -g @anthropic-ai/claude-code@latest`로 합니다. `npm update -g`는 처음 설치할 때의 버전 범위를 따라가서 최신 버전으로 올라가지 않을 수 있습니다. `sudo npm install -g`는 쓰지 않습니다. Node 22 미만이면 설치 중 `EBADENGINE` 경고가 나오지만 공식 문서에 따르면 설치는 끝나고 `claude`도 실행됩니다.

### B. 오래된 복사본을 지우고 네이티브 설치로 옮기기

1단계는 망가진 복사본 제거입니다. 지울 대상은 자신의 Require stack이나 `which -a claude` 출력에 나온 경로로만 한정합니다.

망가진 복사본이 지금 Node의 전역 폴더에 있다면 npm으로 제거합니다.

```bash
npm uninstall -g @anthropic-ai/claude-code
```

이전 Node 버전 폴더에 있거나 uninstall이 실패한다면 그 경로의 패키지 폴더와 bin 링크를 직접 지웁니다. 아래 경로는 GitHub issue #7193에 보고된 nvm 사례이므로 자신의 경로로 바꿔서 실행하세요.

```bash
# 예시: Require stack이 ~/.nvm/versions/node/v20.10.0/lib/node_modules/... 를 가리킨 경우
rm ~/.nvm/versions/node/v20.10.0/bin/claude
rm -rf ~/.nvm/versions/node/v20.10.0/lib/node_modules/@anthropic-ai/claude-code
```

경로가 `~/.claude/local/` 아래였다면 그 폴더만 지웁니다.

```bash
rm -rf ~/.claude/local
```

`~/.claude/` 폴더 자체는 지우지 마세요. 설정과 대화 기록이 들어 있는 곳이고, 지워도 이 에러와는 관계가 없습니다.

2단계는 공식 네이티브 설치 프로그램 실행입니다. macOS·Linux·WSL용 명령이며, 재현은 macOS에서만 했습니다.

```bash
curl -fsSL https://claude.ai/install.sh | bash
```

Windows PowerShell에서는 다음 명령입니다(공식 문서 기준, 미실행).

```powershell
irm https://claude.ai/install.ps1 | iex
```

재현 환경에서는 설치 프로그램이 `Version: 2.1.301`, `Location: ~/.local/bin/claude`를 출력했고, `~/.local/bin`이 PATH에 없다는 안내가 함께 나왔습니다. 같은 안내가 보이면 아래 PATH 항목의 명령을 실행하세요.

3단계는 확인입니다. 셸이 기억하는 명령 위치를 비우거나 새 터미널을 연 뒤, `which -a claude`에 `~/.local/bin/claude` 한 줄만 남았는지 봅니다.

```bash
hash -r
which -a claude
claude --version
```

## 새 버전 설치 후에도 yoga.wasm 에러: PATH 앞의 오래된 복사본

새 버전 설치만으로는 해결되지 않는 경우가 있습니다. 네이티브 2.1.301을 설치해 둔 상태에서 망가진 npm 2.0.25의 bin 폴더를 PATH 앞에 두고 실행하면 결과는 이렇습니다(macOS arm64 재현, 경로는 줄임).

```text
$ which -a claude
.../old/bin/claude
.../home-native/.local/bin/claude

$ claude --version
Error: Cannot find module './yoga.wasm'
```

네이티브 바이너리를 직접 실행하면 `2.1.301 (Claude Code)`가 나오는데도, 셸은 PATH에서 먼저 찾은 오래된 복사본을 실행합니다. 오래된 패키지 폴더와 bin 링크를 지우고 `hash -r`을 실행하자 `which -a claude`에는 `~/.local/bin/claude`만 남았고 `claude --version`은 `2.1.301 (Claude Code)`를 출력했습니다.

![which -a claude 첫 줄의 오래된 npm 2.0.25 복사본이 먼저 실행돼 yoga.wasm 에러를 내고, 이를 지우고 hash -r을 실행하면 네이티브 2.1.301이 실행되는 흐름](https://blog.laozhang.ai/posts/ko/claude-code-cannot-find-module-yoga-wasm/img/path-order-old-copy-first.webp)

같은 구조는 실제 사례에서도 보고됐습니다. GitHub issue #1103에서는 pnpm으로 설치해 쓰던 사용자의 자동 업데이트가 nvm 쪽에 두 번째 복사본을 만들었고, 그 nvm 복사본이 먼저 실행되면서 yoga.wasm 에러가 났습니다. pnpm으로 다시 설치해도 해결되지 않았고, nvm 복사본을 지우자 정상으로 돌아왔다고 합니다. 재설치 후에도 에러가 그대로라면 다시 설치하기보다 `which -a claude`의 첫 줄부터 확인하세요.

## 재설치 중 다른 에러: ENOTEMPTY, native binary, PATH 경고

### npm error code ENOTEMPTY (공식 문서 기준, 미재현)

`npm install -g`나 `npm uninstall -g`가 `npm error code ENOTEMPTY`, `syscall rename`과 함께 실패하고 `dest` 줄에 `.claude-code-XXXX` 같은 임시 폴더가 보이는 경우입니다. 이전에 중단된 작업이 남긴 폴더 때문에 npm이 기존 패키지 폴더를 옮기지 못한 상태입니다. 공식 [npm ENOTEMPTY 해결 항목](https://code.claude.com/docs/en/troubleshoot-install#npm-enotempty-during-update-or-reinstall)은 패키지 폴더와 남은 임시 폴더를 지운 뒤 다시 설치하라고 안내합니다.

```bash
rm -rf "$(npm root -g)/@anthropic-ai/claude-code"
rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*
npm install -g @anthropic-ai/claude-code
claude --version
```

두 번째 명령에서 Zsh가 `no matches found`를 출력하면 지울 임시 폴더가 없었다는 뜻입니다. 에러의 `npm error path` 줄에 나온 경로가 `npm root -g` 결과 아래가 아니라면(nvm으로 Node 버전을 바꾼 경우 등) 위 명령 대신 에러에 적힌 폴더를 지웁니다. Windows PowerShell용 명령은 같은 공식 항목에 있습니다.

### Error: claude native binary not installed.

npm으로 재설치한 뒤 yoga.wasm 대신 이 메시지가 나온다면 다른 문제입니다. 현재 npm 패키지는 설치 후 스크립트(postinstall)가 플랫폼별 optional 의존성에서 네이티브 바이너리를 꺼내 자리에 놓는데, `--ignore-scripts`, 일부 pnpm 설정, `--omit=optional` 때문에 이 과정이 건너뛰어진 경우입니다. 공식 [npm 설치 후 네이티브 바이너리를 찾지 못할 때 항목](https://code.claude.com/docs/en/troubleshoot-install#native-binary-not-found-after-npm-install)에 따르면 해당 옵션 없이 다시 설치하거나 설치 스크립트를 직접 실행하면 됩니다. 전역 설치라면 경로를 `npm root -g` 기준으로 맞춥니다. 아래 명령은 공식 문서 명령을 전역 설치 경로에 맞춘 것이며 미실행입니다.

```bash
node "$(npm root -g)/@anthropic-ai/claude-code/install.cjs"
```

`.npmrc`에 `optional=false`가 있으면 바이너리 자체가 내려받아지지 않으므로, 이 스크립트를 다시 실행해도 소용이 없고 설정을 고친 뒤 재설치해야 합니다.

### Native installation exists but ~/.local/bin is not in your PATH

네이티브 설치 프로그램이 이 안내를 내면 설치는 끝났지만 셸이 `~/.local/bin`을 찾지 못하는 상태입니다. macOS 기본 셸인 Zsh라면 설치 프로그램이 출력한 명령을 그대로 실행합니다(macOS 재현에서 출력된 명령).

```bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
```

대부분의 Linux 배포판처럼 Bash를 쓴다면 `~/.zshrc` 대신 `~/.bashrc`에 같은 줄을 추가합니다(공식 문서 기준, 미실행). 이때 오래된 npm 복사본의 bin 폴더가 PATH에서 `~/.local/bin`보다 앞에 있으면 앞 절의 상황이 되므로, 마지막에 `which -a claude`로 순서를 확인하세요.

## 다음 날 또 깨질 때: Claude Code 설치 경로를 하나로 유지하기

GitHub issue #7193에는 강제로 지우고 다시 설치했더니 "잠깐은" 됐다는 보고가 있습니다. 설치가 둘 이상 남아 있거나 오래된 npm·로컬 설치가 계속 자동 업데이트를 받는 한, 같은 일이 반복될 수 있습니다. 다음 원칙으로 재발을 줄일 수 있습니다.

- 설치 방식은 하나만 남깁니다. 공식 문서도 여러 설치가 발견되면 하나만 남기라고 안내합니다.
- npm을 쓴다면 업그레이드는 `npm install -g @anthropic-ai/claude-code@latest`로 하고, `npm update -g`와 `sudo npm install -g`는 쓰지 않습니다.
- 재설치나 수동 업데이트 전에는 열려 있는 Claude Code를 모두 종료합니다.
- npm 전역 설치는 Node 버전마다 따로 생깁니다. nvm·mise·Homebrew로 Node를 바꾼 뒤에는 `which -a claude`로 어느 복사본이 먼저 실행되는지 다시 확인합니다. 네이티브 설치는 `~/.local/bin`에 있어 Node 버전 전환의 영향을 받지 않습니다.
- CI나 Docker 이미지에서 이 에러가 났다면 이미지 안에 설치된 Claude Code의 `package.json` 버전부터 확인합니다. 2.0.25 이하라면 위 표대로 이 에러가 날 수 있는 빌드이므로, 고정 버전을 현재 버전으로 올립니다.

## yoga.wasm 에러로 GitHub issue를 올려야 하는 경우

`which -a claude`에 한 줄만 나오고, 그것이 `~/.local/bin/claude`(네이티브)이거나 `bin/claude.exe`를 가리키는 npm 2.1.x인데도 yoga.wasm 에러가 난다면 패키지 구성과 맞지 않는 상황입니다. 이때는 재설치를 반복하지 말고 [anthropics/claude-code GitHub 저장소](https://github.com/anthropics/claude-code/issues)에 issue를 올리세요. 다음을 함께 첨부하면 원인을 좁히기 쉽습니다.

- `which -a claude`와 `ls -l "$(which claude)"` 출력
- 실행되는 복사본의 버전(`claude --version` 또는 해당 폴더 `package.json`의 버전)
- 에러 전문과 Require stack 경로
- OS, CPU 아키텍처, Node 버전, Node 관리 도구(nvm, mise, Homebrew 등)

참고로 yoga.wasm 에러를 다룬 GitHub issue는 2025년 5월 #1103부터 이어졌고, 가장 최근 보고는 2025년 10월 17일의 #9721입니다. 2026년 10월 16일 기준 2026년에 새로 올라온 같은 에러 issue는 없습니다. 아무도 겪지 않는다는 증거는 아니지만, 2.0.26부터 파일이 사라졌다는 패키지 구성과는 맞는 흐름입니다.

에러가 yoga.wasm이 아니라 종료 코드 1이라면 [Claude Code process exited with code 1 해결: 재설치 전에 분기부터 확인](https://blog.laozhang.ai/ko/posts/error-claude-code-process-exited-with-code-1)을, 터미널에서는 되는데 VS Code 패널에서만 실패한다면 [Claude Code가 VS Code에서 안 될 때는 먼저 실패 지점을 나눠야 한다](https://blog.laozhang.ai/ko/posts/claude-not-working-in-vscode)를 참고하세요.

## 자주 묻는 질문

### yoga.wasm 파일만 복사해 넣으면 Claude Code가 다시 실행되나요?

macOS 재현에서는 같은 2.0.25의 `yoga.wasm`을 원래 자리에 되돌리자 다시 실행됐습니다. 하지만 그렇게 해도 2025년 10월에 멈춘 2.0.25에 그대로 머물게 되고, Anthropic 직원도 `cli.js`는 같은 폴더의 다른 파일들이 함께 있어야 동작한다고 설명했습니다. `yoga.wasm`은 Claude Code 패키지 안에 함께 들어 있던 파일이라 별도 npm 패키지를 설치해서 채울 수 있는 것도 아닙니다. 파일을 맞추기보다 최신 버전으로 올리는 편이 확실합니다.

### yoga.wasm 에러를 고치려면 ~/.claude 폴더를 지워야 하나요?

아니요. `~/.claude/`에는 설정과 대화 기록이 있고, 이 에러의 원인은 그곳이 아니라 실행 중인 오래된 프로그램 복사본입니다. 지워도 되는 것은 Require stack이 `~/.claude/local/` 아래를 가리킬 때의 레거시 로컬 설치 폴더 `~/.claude/local`뿐입니다.

### Claude Code 네이티브 설치에서도 yoga.wasm 에러가 나나요?

현재 네이티브 바이너리에는 `cli.js`도 별도 `yoga.wasm` 파일도 없으므로 이 에러를 낼 수 없습니다. 2025년 GitHub issue #7193에는 네이티브 설치에서도 났다는 댓글이 있지만, 작성자 스스로 어느 방식으로 설치했는지 확신하지 못했습니다. 네이티브 설치를 해 두고도 PATH 앞의 오래된 npm 복사본 때문에 똑같은 에러가 나는 상황은 macOS 재현에서 확인됩니다. Require stack에 `cli.js`가 보이면 실행된 것은 JavaScript 복사본입니다.

### npm으로 설치한 Claude Code는 이제 지원되지 않나요?

지원됩니다. 공식 설치 문서는 npm 전역 설치를 계속 안내하며, 요구 사항은 Node.js 22 이상입니다(2.1.198부터 패키지의 Node 요구 버전이 22 이상). 현재 npm 패키지는 네이티브 설치와 같은 바이너리를 플랫폼별 optional 의존성으로 받아 실행하므로, 2.1.113 이후 npm 설치는 yoga.wasm 에러와 관계가 없습니다.

## 참고 자료

이 글이 링크한 외부 페이지를 본문에 나온 순서대로 정리했습니다. 마지막 업데이트: 2026-10-16.

- [Claude Code 변경 로그](https://code.claude.com/docs/en/changelog) (code.claude.com)
- [GitHub issue #1103의 Anthropic 직원 답변](https://github.com/anthropics/claude-code/issues/1103) (github.com)
- [GitHub issue #7193의 Anthropic 직원 답변](https://github.com/anthropics/claude-code/issues/7193) (github.com)
- [Claude Code 설치 문제 해결 문서의 중복 설치 확인 항목](https://code.claude.com/docs/en/troubleshoot-install) (code.claude.com)
- [Claude Code 설치 문서(Set up Claude Code)](https://code.claude.com/docs/en/setup) (code.claude.com)
- [anthropics/claude-code GitHub 저장소](https://github.com/anthropics/claude-code/issues) (github.com)
