
작업하다가 갑자기 우측 하단에 "Extension host terminated unexpectedly" 팝업이 뜨면 한숨부터 나옵니다. AI 자동완성도, Git 연동도, 코드 하이라이팅도 한꺼번에 먹통이 되니까요. 특히 최근 AI 코딩 에디터로 주목받는 Cursor에서도 동일한 에러가 빈번하게 보고되고 있어 엔지니어들이 커뮤니티에 SOS를 치는 글이 꾸준히 올라오고 있습니다.
문제는 이 오류의 원인이 단일하지 않다는 점입니다. 특정 확장 충돌일 수도, 메모리 부족일 수도, GPU 가속 드라이버 문제일 수도 있습니다. 여러 프로젝트를 오가며 직접 겪고 정리한 내용을 토대로, 원인 분리부터 실전 해결책까지 단계별로 설명합니다.
🔹 1. Extension Host란 무엇인가
VS Code와 Cursor는 Extension Host라는 별도 Node.js 프로세스에서 모든 확장(Extension)을 실행합니다. 에디터 본체와 분리된 프로세스이기 때문에 확장이 충돌하거나 메모리를 과다 소비해도 에디터 자체는 살아있고, 확장 프로세스만 종료되는 구조입니다.
| 구성 요소 | 역할 | 충돌 시 증상 |
|---|---|---|
| Main Process | 에디터 UI, 창 관리 | 에디터 전체 다운 |
| Extension Host | 확장 실행 전용 Node.js | ⚡ 이 에러 메시지 발생 |
| Renderer Process | 화면 렌더링(Electron) | 화면 멈춤, 흰 화면 |
즉, 에러 메시지가 뜬다는 것은 에디터 본체가 아닌 확장 실행 프로세스가 비정상 종료됐다는 신호입니다. 3회 연속 재시작 실패 시 "3 times within the last 5 minutes" 메시지가 함께 뜨며 확장이 완전히 비활성화됩니다.
🔹 2. 원인 3가지 — 확장 충돌 / 메모리 / GPU 가속
수백 건의 GitHub 이슈와 Cursor 커뮤니티 포럼을 분석하면 원인은 크게 세 가지로 수렴합니다.
🔹 3. 1단계: 확장 비활성화 모드로 원인 분리
가장 먼저 할 일은 확장이 원인인지 아닌지 확인하는 것입니다. 아래 명령으로 모든 확장을 비활성화한 상태로 실행합니다.
code --disable-extensions
cursor --disable-extensions
- 에러가 사라졌다 → 확장이 원인. 다음 단계(Bisect)로 범인 특정
- 에러가 계속 발생 → 확장 외 원인(메모리, GPU, 설정 파일 손상). 3단계로 이동
🔹 4. 2단계: Extension Bisect로 범인 찾기
확장이 원인임을 확인했다면, 하나씩 비활성화하는 수작업 대신 Extension Bisect 기능을 사용합니다. 이진 탐색 방식으로 확장 목록을 절반씩 좁혀 범인을 자동으로 찾아줍니다.
F1또는Ctrl+Shift+P로 커맨드 팔레트 열기- Start Extension Bisect 검색 후 실행
- 에디터가 확장의 절반을 비활성화하고 재시작 — 에러가 여전히 발생하는지 확인
- Good(문제 없음) 또는 Bad(문제 있음) 선택
- 범인이 특정될 때까지 반복 (보통 5~7회)
범인 확장을 찾았다면 해당 확장의 최신 버전으로 업데이트하거나, 동일 기능의 대안 확장으로 교체합니다. 확장 페이지에서 GitHub Issues를 확인하면 같은 오류를 겪은 다른 사용자의 해결책을 참고할 수 있습니다.
🔹 5. 3단계: 고질적 오류 — GPU·캐시·설정 초기화
확장을 모두 비활성화해도 에러가 사라지지 않는다면 아래 방법을 순서대로 시도합니다.
settings.json에 아래 항목 추가, 또는 실행 시 플래그로 지정합니다.// settings.json
"window.titleBarStyle": "custom",
"disable-hardware-acceleration": true
code --disable-gpu
cursor --disable-gpu
- Windows:
%APPDATA%\Code\Cache및%APPDATA%\Code\CachedData삭제 - macOS:
~/Library/Application Support/Code/Cache삭제 - Linux:
~/.config/Code/Cache및~/.config/Code/CachedData삭제
remote.SSH.useLocalServer 설정을 false로 바꿔보는 것이 효과적입니다.🔹 6. Cursor AI 에디터 특화 해결법
Cursor는 VS Code 포크(fork)지만 AI 기능이 Extension Host 내부에 깊이 통합되어 있어, 일반 VS Code와 다른 트리거로 에러가 발생하기도 합니다.
- Shell 커맨드 재등록:
Ctrl+Shift+P→ "Shell command: Install 'cursor' command" 실행 후 터미널에서 재실행 - VS Code 동시 설치 시 확장 경로 충돌 확인:
~/.cursor/extensions와~/.vscode/extensions경로 분리 확인 - AI 기능 비활성화 테스트: Cursor Settings → AI → "Enable AI features" 일시 비활성화 후 에러 재현 여부 확인
- Cursor 완전 재설치: 앱 삭제 →
~/.cursor폴더 완전 삭제 → 재설치 (설정 초기화 포함)
Help → Toggle Developer Tools → Console 탭을 열면 Extension Host가 어떤 오류를 내뿜고 종료됐는지 상세 스택 트레이스를 확인할 수 있습니다. 이 로그를 GitHub Issues나 Cursor Forum에 첨부하면 빠른 피드백을 받을 수 있습니다."해당 배너는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
❓ 7. 자주 묻는 질문
Q. 확장을 전부 비활성화해도 에러가 납니다.
확장이 원인이 아니므로 캐시 삭제와 GPU 비활성화 옵션을 먼저 시도하세요. 그래도 안 되면 완전 재설치(설정 폴더 포함 삭제)가 가장 확실한 방법입니다.
Q. 에러가 간헐적으로만 발생합니다.
간헐적 발생은 대부분 리소스 문제입니다. 에러 발생 시 OS의 메모리 사용량을 확인해보고, 대형 프로젝트에서 발생한다면 VS Code의 "files.watcherExclude" 설정으로 불필요한 파일 감시 범위를 줄이는 것이 도움이 됩니다.
Q. Docker Dev Container 안에서 에러가 납니다.
컨테이너 내부의 Node.js 버전이 VS Code Extension Host와 호환되지 않는 경우가 있습니다. 컨테이너 이미지의 Node.js 버전을 VS Code 권장 버전(LTS)으로 맞추고, 컨테이너에 충분한 메모리(최소 2GB)를 할당했는지 확인하세요.
Q. macOS 업데이트 후 갑자기 에러가 납니다.
macOS 업데이트로 GPU 드라이버나 시스템 라이브러리가 변경되어 Electron 레이어와 충돌하는 패턴입니다. --disable-gpu 플래그로 우선 해소하고, VS Code/Cursor 업데이트를 기다리는 것이 현실적인 방법입니다.
📋 핵심 요약 — 이 순서로 진단하세요
--disable-extensions로 실행 → 확장이 원인인지 확인- 확장이 원인이면 → Extension Bisect로 범인 특정 후 제거/업데이트
- 확장과 무관하면 → GPU 비활성화 → 캐시 삭제 → 설정 초기화
- Cursor 사용자라면 → Shell 커맨드 재등록, 확장 경로 충돌 확인
- 모두 안 되면 → Developer Tools 로그 확인 후 GitHub Issues 제보
Extension Host 에러는 메시지는 같아도 원인이 제각각이라 한 방 해결책이 없습니다. 진단을 단계별로 쪼개어 원인을 좁히는 것이 가장 빠른 길이고, 로그를 직접 보는 습관을 들이면 다음번에는 훨씬 빠르게 해결할 수 있습니다.
'IT 관련' 카테고리의 다른 글
| Google I/O 2026 핵심 분석 | "질문하는 AI"에서 "실행하는 AI"로의 전환 (0) | 2026.06.10 |
|---|---|
| Flutter 현장 앱 개발 | 사진에 GPS EXIF + 메모 동시 저장하는 아키텍처 완전 정리 (0) | 2026.06.09 |
| Debian 12 한글 입력기 Fcitx5 완벽 설치 가이드 | 한영전환 오류 완전 해결 (0) | 2026.06.07 |
| 2026 부산 창업·중소기업 지원 정책: 자금부터 DX까지 한눈에 (0) | 2026.06.06 |
| 네이버 글 쓰면 1000만 원 번다? ‘AI 브리핑’ 도입과 어뷰징의 전쟁 시작됐다 (0) | 2026.06.05 |