Windows에서 Codex 앱이 열리지 않거나 Chrome 확장 사이드 패널에 app-server 오류가 뜨면, 먼저 오류 문구를 그대로 확인하세요. 같은 "실행 안됨"이라도 원인이 서로 다르고, 재설치만으로는 고쳐지지 않았다는 보고가 많으며, .codex 폴더를 지우면 대화 기록까지 잃을 수 있습니다. 2026년 10월 9일 기준 OpenAI가 원인과 수정 버전을 밝힌 경우는 하나도 없으므로, 아래 조치는 모두 GitHub 이슈와 포럼에서 사용자들이 확인한 우회책입니다.
| 오류 문구 | 보이는 곳 | 가장 흔한 원인 | 먼저 할 조치 | 고쳐졌다는 신호 |
|---|---|---|---|---|
failed to start codex app-server: The system cannot find the path specified. (os error 3) | Browser Use, 앱 내 브라우저, Chrome 플러그인 작업 | 업데이트로 지워진 옛 폴더 경로가 config.toml이나 CODEX_CLI_PATH에 남음 | 기록된 경로를 지금 있는 폴더로 고치기 | 페이지 이동과 스크린샷이 다시 됨 |
Codex app-server manifest entry is missing required path nodePath (resourcesPath, codexCliPath) | ChatGPT Chrome·Edge·Brave 확장 사이드 패널의 "Unable to start ChatGPT" | chrome-native-hosts-v2.json이 지워진 런타임 폴더를 가리킴 | 데스크톱 앱을 먼저 켜고 기다린 뒤, 안 되면 JSON 경로 수정 | 사이드 패널에 대화 화면이 뜸 |
Codex app-server initialize handshake timed out | 시작 직후 "ChatGPT failed to start" 대화상자 | 30초 안에 시작 준비가 끝나지 않음. 깨지거나 거대해진 logs_2.sqlite, 남은 프로세스, WSL 모드 | 트레이에서 완전히 종료하고 logs_2.sqlite*를 다른 폴더로 옮기기 | 창이 몇 초 안에 열림 |
code=3221225501 (0xC000001D), Codex app-server websocket closed | 시작 직후 "ChatGPT failed to start" 대화상자 | Astrill VPN의 ASProxy64.dll, 또는 CPU가 지원하지 않는 명령 | 이벤트 뷰어에서 충돌 모듈 이름 확인 | ASProxy64.dll이 더 이상 로드되지 않고 앱이 열림 |
어느 갈래든 파일을 건드리기 전에 앱을 시스템 트레이에서 완전히 종료하고, %USERPROFILE%\.codex를 백업하는 것부터 시작합니다.
Codex 앱과 ChatGPT 데스크톱 앱, 그리고 app-server
OpenAI 변경 기록에 따르면 2026년 7월 9일 Codex는 ChatGPT 데스크톱 앱에 합류했고, 공식 문서 제목도 지금은 ChatGPT desktop app for Windows입니다. 그래서 예전 Codex 앱을 쓰던 사람도 창 제목과 오류 대화상자에서 "ChatGPT"라는 이름을 보게 됩니다. 이슈에 올라온 로그를 보면 설치 패키지 이름은 여전히 OpenAI.Codex이고, 메인 프로세스는 ChatGPT.exe입니다(#32706, #39015).
이름이 비슷한 별도 패키지 OpenAI.ChatGPT-Desktop, 즉 ChatGPT Classic에는 Codex app-server가 들어 있지 않습니다. 일반 ChatGPT 다운로드 링크로 다시 설치하다가 이쪽을 깔게 되는 경우가 보고됐으니(#32706), 재설치가 필요하면 Microsoft Store 제품 ID 9PLM9XGG6VKS를 쓰세요.
winget install --id 9PLM9XGG6VKS -s msstore공식 app-server 문서는 app-server를 "Codex가 풍부한 클라이언트를 구동하는 인터페이스"로 설명합니다. 기본 연결 방식은 stdio이고, 클라이언트는 연결마다 initialize 요청을 한 번 보내야 합니다. 실제 화면에서는 ChatGPT.exe가 %LOCALAPPDATA%\OpenAI\Codex\bin\... 아래의 codex.exe를 app-server 인수와 함께 자식 프로세스로 띄웁니다. 앱 창, Browser Use, Chrome 확장은 모두 이 프로세스에 기대므로, 이것이 시작되지 못하면 겉으로는 "Codex가 안 열린다"로 보입니다.
손대기 전에: 트레이에서 완전히 종료하고 .codex 백업하기
창을 닫아도 앱은 끝나지 않습니다. Windows 시스템 트레이에 상주하는 기능이 들어간 뒤로는 마지막 창을 닫아도 codex.exe를 포함해 10개 안팎의 프로세스가 남아 데이터베이스 파일을 붙잡고 있다는 보고가 있습니다(#39015). 트레이 아이콘을 오른쪽 클릭해 종료한 뒤, 아래 명령의 결과가 비어 있는지 확인하세요. 무엇인가 남아 있으면 작업 관리자에서 종료합니다.
Get-Process ChatGPT, codex, node_repl -ErrorAction SilentlyContinue%USERPROFILE%\.codex에는 스레드 색인인 state_5.sqlite, 로컬 대화 기록인 sessions\, config.toml, auth.json, 메모리와 플러그인 상태가 들어 있습니다. 이 폴더는 앱 패키지 밖에 있어서 재설치해도 그대로 남고, 그래서 재설치만으로는 여기에 남은 잘못된 경로가 고쳐지지 않습니다. 반대로 이 폴더를 지운 사용자는 대화 기록을 잃었고(#49265), 0xC000001D는 고쳐지지도 않았습니다(#30884). OpenAI 지원팀도 포럼 답변에서 백업 없이 .codex를 지우지 말라고 했습니다(커뮤니티 답변).
$stamp = Get-Date -Format "yyyyMMdd-HHmm"
Copy-Item "$env:USERPROFILE\.codex" "D:\codex-backup-$stamp" -Recurse대화 기록이 많으면 이 폴더가 수십 GB가 될 수 있으니(한 사용자는 세션 파일 64개, 22.24GB) 여유 공간이 있는 드라이브를 고르세요.
이 밖에 진단에 쓰는 위치와 피해야 할 조치는 다음과 같습니다.
- 데스크톱 로그:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs\<연>\<월>\<일>\codex-desktop-*.log(예전 빌드는%LOCALAPPDATA%\Codex\Logs) - Windows 설정의 앱 초기화(Reset)는 로그아웃되고, 한 사용자는 로컬 작업이 지워졌다고 보고했습니다(커뮤니티). 꼭 해야 한다면 복구(Repair)를 먼저 쓰세요. 다만 아래 네 갈래에서는 둘 다 효과가 보고되지 않았습니다.
- 관리자 권한으로 실행하면 Codex 에이전트도 관리자 권한을 물려받아 모든 명령이 관리자 권한으로 실행됩니다(공식 Windows 문서). os error 3에는 효과가 없다는 보고가 여럿이니, 진단용으로 한 번 확인하는 데만 쓰세요.
failed to start codex app-server os error 3: 옛 경로
Browser Use, 앱 내 브라우저, Chrome 플러그인으로 작업할 때 탭 목록은 보이는데 페이지 이동, DOM 스냅샷, 스크린샷에서 이 오류가 납니다. 이 작업을 맡는 node_repl이 codex app-server --listen stdio://를 띄우려다 실패하는 것이고, os error 3은 Windows의 "경로를 찾을 수 없음"(ERROR_PATH_NOT_FOUND)입니다. os error 2(파일 없음)로 나오는 경우도 같은 갈래입니다. 대표 이슈 #19187은 2026년 4월 23일부터 열려 있고, #20206, #26011 등에도 2026년 9월 22일까지 "아직 그대로"라는 댓글이 달렸습니다.
원인은 이렇습니다. 앱은 패키지 안의 보조 실행 파일을 사용자 폴더의 %LOCALAPPDATA%\OpenAI\Codex\bin\<해시>\와 %LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\<해시>\bin\으로 복사해 씁니다. 그런데 이 해시 경로가 다른 파일에도 기록되고, 자동 업데이트가 옛 해시 폴더를 지워도 기록은 그대로 남습니다(#26011, #28474). 기록이 남는 곳은 세 군데입니다.
%USERPROFILE%\.codex\config.toml의[mcp_servers.node_repl]블록(command,CODEX_CLI_PATH,NODE_REPL_NODE_PATH등)- 사용자 환경 변수
CODEX_CLI_PATH chrome-native-hosts-v2.json(%LOCALAPPDATA%\OpenAI\Codex\와%USERPROFILE%\.codex\두 곳)

기록된 경로와 실제 폴더 비교하기
앱을 완전히 종료한 상태에서, 지금 실제로 있는 실행 파일과 기록된 경로를 나란히 봅니다. 아래 명령은 아무것도 바꾸지 않습니다.
# 1) 지금 존재하는 보조 실행 파일
Get-ChildItem "$env:LOCALAPPDATA\OpenAI\Codex" -Recurse -Include codex.exe, node_repl.exe, node.exe |
Select-Object FullName, LastWriteTime
# 2) 사용자 환경 변수에 남은 경로
[Environment]::GetEnvironmentVariable("CODEX_CLI_PATH", "User")
# 3) config.toml에 기록된 경로
Select-String -Path "$env:USERPROFILE\.codex\config.toml" -Pattern "node_repl|CODEX_CLI_PATH|NODE_REPL"2번과 3번에 나온 경로를 Test-Path '<경로>'로 하나씩 확인해 False가 나오면 그것이 원인입니다.
config.toml과 CODEX_CLI_PATH 고치기
config.toml을 복사해 두고, False가 나온 경로를 1번에서 찾은 실제 폴더로 바꿉니다. 여러 보고자가 이 방법으로 해결했습니다(#26011, #28474). Windows 경로는 작은따옴표로 감싸야 합니다. 큰따옴표 안의 \는 TOML 이스케이프로 읽혀 missing escaped value 오류로 앱이 멈출 수 있습니다(#37616).
[mcp_servers.node_repl]
command = 'C:\Users\<사용자>\AppData\Local\OpenAI\Codex\bin\<실제 해시>\node_repl.exe'
[mcp_servers.node_repl.env]
CODEX_CLI_PATH = 'C:\Users\<사용자>\AppData\Local\OpenAI\Codex\bin\<실제 해시>\codex.exe'사용자 환경 변수 CODEX_CLI_PATH가 없는 폴더를 가리키면 지우는 편이 낫습니다. 옛 해시의 codex.exe를 일부러 가리키게 하면 앱이 오래된 CLI로 돌아가 나중에 스레드 오류가 났다는 보고도 있습니다(#40700).
[Environment]::SetEnvironmentVariable("CODEX_CLI_PATH", $null, "User")그다음 트레이에서 완전히 종료했다가 다시 열고, 같은 Browser Use 작업에서 페이지 이동과 스크린샷이 되는지 확인합니다. 다음 자동 업데이트에서 해시가 또 바뀔 수 있으므로, 업데이트 뒤 같은 오류가 다시 나면 이 비교부터 반복하세요.
bin 폴더 자체가 없는 경우
2026년 4~5월 빌드(26.4xx)에서는 %LOCALAPPDATA%\OpenAI\Codex\bin이 아예 없고 보조 파일이 %LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin에만 있는 경우가 많았습니다. 여러 사용자가 이 폴더로 연결(junction)을 만들어 해결했지만, 깨끗한 가상 머신에서 시험한 한 사용자는 그 뒤 CreateProcessAsUserW failed: 5 샌드박스 오류를 만났습니다(#20661). 26.506 빌드에서는 bin 폴더가 생긴다는 보고가 있으니 먼저 앱을 최신으로 업데이트하고, 그래도 폴더가 없을 때만 시도하세요.
New-Item -ItemType Junction -Path "$env:LOCALAPPDATA\OpenAI\Codex\bin" `
-Target "$env:LOCALAPPDATA\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin"복구·초기화, 재설치만 하기, 재부팅, 관리자 권한 실행, npm으로 CLI 설치는 이 오류에 효과가 없었다는 보고가 여럿입니다(#19562, #20048).
missing required path nodePath: 확장의 경로 장부
ChatGPT 브라우저 확장의 사이드 패널에 "Unable to start ChatGPT"와 함께 Codex app-server manifest entry is missing required path nodePath가 뜨는 경우입니다. resourcesPath나 codexCliPath로 끝나기도 하고, Chrome뿐 아니라 Edge와 Brave에서도 보고됐습니다. 대표 이슈는 #35705이고 #32706, #40357, #42520이 모두 열려 있습니다.
"missing"은 항목이 비어 있다는 뜻이 아니라, 적혀 있는 경로가 더 이상 존재하지 않는다는 뜻입니다. 확장은 네이티브 메시징 호스트 com.openai.codexextension을 통해 extension-host.exe를 띄우고, 이 프로그램이 chrome-native-hosts-v2.json에서 nodePath, resourcesPath 같은 경로를 읽습니다. 데스크톱 앱 업데이트가 옛 cua_node\<해시> 런타임과 옛 패키지 폴더를 지우면서 이 장부는 고치지 않아 오류가 납니다. 2026년 10월 3일과 10월 8일 업데이트 뒤에도 다시 깨졌다는 보고가 올라왔습니다.
가벼운 조치부터 순서대로 해 보세요.
- 공식 점검 목록대로 확인합니다. ChatGPT 브라우저 확장 문서의 순서는 데스크톱 앱 업데이트(ChatGPT나 Codex 데스크톱 앱이 여러 개 깔려 있으면 모두 업데이트하거나 안 쓰는 것을 제거), 브라우저 재시작, 앱의 Settings → Computer Use에서 브라우저가 Install이 아니라 Manage로 보이는지 확인, 확장을 설치한 브라우저 프로필 사용, 새 채팅 시작, 데스크톱 앱 재시작, Settings → Computer Use에서 확장 재설치입니다. 이 문서에는 nodePath 오류가 직접 나오지 않지만, 여러 앱이 섞여 있는 상태를 먼저 걸러 줍니다.
- 데스크톱 앱을 먼저 켜고 30~60초 기다립니다. 확장은 데스크톱 앱이 실행 중일 때만 동작한다는 보고가 있고, 앱을 먼저 띄워 두었더니 해결됐다는 사용자가 한두 명 있습니다(#35705). 데스크톱 앱 안에서 Codex에게 Chrome에 연결해 달라고 요청해 상태가 다시 만들어졌다는 사례도 하나 있습니다(#32706).
- 장부의 경로를 직접 고칩니다. 아래 확인 명령으로 어느 경로가 없는지 먼저 봅니다.
$f = "$env:LOCALAPPDATA\OpenAI\Codex\chrome-native-hosts-v2.json"
Copy-Item $f "$f.bak"
$j = Get-Content $f -Raw | ConvertFrom-Json
foreach ($e in $j.entries) {
foreach ($p in $e.paths.PSObject.Properties) {
foreach ($v in @($p.Value)) {
[pscustomobject]@{ Key = $p.Name; Exists = (Test-Path -LiteralPath $v); Path = $v }
}
}
}Exists가 False인 항목을 지금 있는 경로로 바꿉니다. 여러 보고자가 쓴 값은 다음과 같습니다.
nodePath:%LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\<최신 해시>\bin\node.exenodeModuleDirs: 같은 폴더의bin\node_modulesresourcesPath:(Get-AppxPackage -Name OpenAI.Codex).InstallLocation결과 뒤에\app\resources
저장한 뒤 Codex와 Chrome을 모두 닫고, Codex를 먼저 켠 다음 Chrome을 켭니다. 사이드 패널에 대화 화면이 뜨면 해결된 것입니다.
같은 작업을 하는 PowerShell 스크립트를 한 사용자가 공개했습니다(CherryDT의 Repair-CodexChromeManifest.ps1). 설치된 OpenAI.Codex 패키지와 가장 최근의 완전한 cua_node 런타임을 찾아 JSON을 백업한 뒤 경로를 바꾸고, -WhatIf로 바뀔 내용만 미리 볼 수 있습니다. 이슈에서 효과를 확인한 사람은 한 명이고 OpenAI가 만든 도구가 아니므로, 내용을 읽어 본 뒤 -WhatIf로 먼저 실행하세요.
플러그인 캐시를 패키지에서 다시 복사하고 latest 연결과 두 JSON 파일을 새로 만드는 전체 재구성은 26.930.2377.0에서 여러 사용자가 성공했지만(#42520), 단계가 많아 위 방법이 모두 실패했을 때만 고려할 만합니다.
initialize handshake timed out: 30초 안에 시작이 끝나지 않을 때
시작하자마자 "ChatGPT failed to start" 대화상자에 Codex app-server initialize handshake timed out이 나오고, 버튼은 Check for Updates와 Quit뿐인 경우입니다. 로그에는 durationMs=30012, cause=initialize_handshake_timeout이 남습니다. 데스크톱 앱은 app-server의 핸드셰이크(initialize handshake)를 30초까지만 기다리고, 그 안에 준비가 끝나지 않으면 프로세스를 끊습니다(#39015). 이 30초는 로그에서 관찰된 값이고 공식 문서에는 없습니다.
이름이 비슷한 timed out waiting for cloud config bundle after 15s는 조직 구성 번들을 받지 못한 다른 오류입니다. 그쪽은 Codex cloud config bundle이 15초 후 시간 초과될 때 진단 순서를 보세요.
아래 순서는 데이터를 덜 건드리는 것부터입니다.

- 남은 프로세스 정리하기. 상태 DB를 이전 프로세스가 붙잡고 있어 시작이 막힌 사례가 있습니다(#32160, 한 사용자가 10번 넘게 겪음). 다음 명령 뒤 다시 실행합니다.
Get-Process *codex*, *chatgpt*, *node_repl* -ErrorAction SilentlyContinue | Stop-Process -Forcelogs_2.sqlite세 파일을 함께 옮기기. 가장 많이 확인된 원인입니다. 6.7GB까지 커진 사례와 2.27GB 파일이 손상된 사례가 있었고, 손상된 파일을 옮기자 창이 1.7초 만에 열렸습니다(#39015, #27741). 이 파일은 로그용이라 대화와 설정이 들어 있지 않으며, 옮기면 새 로그 DB가 만들어집니다. 트레이에서 완전히 종료하고 VS Code 등 IDE의 Codex 확장도 닫은 뒤 실행하세요.
$c = "$env:USERPROFILE\.codex"
Get-ChildItem "$c\logs_2.sqlite*" | Select-Object Name, @{ N = "MB"; E = { [math]::Round($_.Length / 1MB) } }
$hold = "$c\logs-hold-$(Get-Date -Format yyyyMMdd-HHmmss)"
New-Item -ItemType Directory -Path $hold | Out-Null
Move-Item "$c\logs_2.sqlite*" $hold-wal, -shm 파일까지 한꺼번에 옮겨야 합니다. 이 단계에서 state_5.sqlite는 옮기지 마세요. 스레드 색인이라 옮기면 대화 목록이 보이지 않게 됩니다. OpenAI 직원은 새 빌드가 손상을 감지하며 DB 자동 복구를 작업 중이라고 답했지만 수정 버전은 밝히지 않았습니다(#23917).
- 에이전트를 WSL에서 돌리고 있다면. WSL 모드에서는
/mnt/c를 거치는 상태 백필이 30초를 넘겨 실패한 사례가 있습니다(#38345). 한 사용자는config.toml에 아래 설정을 넣어 Windows 네이티브 모드로 돌아갔고, 다른 사용자는 백필이 끝나도록 40초쯤 더 기다렸다가 다시 실행해 해결했습니다. 네이티브로 바꾸면 WSL에서 만든 채팅에 접근할 수 없게 된다는 보고가 있으니(#39169), 기다려 보는 쪽을 먼저 시도하세요.
[desktop]
runCodexInWindowsSubsystemForLinux = false- 세션 기록이 거대한 경우. Reddit의 한 사용자는 세션 파일 64개가 22.24GB였고,
logs_2.sqlite를 옮겨도 소용이 없었습니다(r/codex 글). 전체 백업을 끝낸 뒤sessions,archived_sessions,state_5.sqlite*를 지우지 않고 다른 드라이브로 옮기자 앱이 열렸습니다. 옮긴 동안 예전 대화는 앱에 보이지 않으므로 마지막에 시도할 방법입니다. 같은 글의 댓글 두 개는 진짜 원인이 WSL 설정이었다고 했습니다.
Get-ChildItem "$env:USERPROFILE\.codex\sessions" -Recurse -File -ErrorAction SilentlyContinue |
Measure-Object Length -Sum |
Select-Object Count, @{ N = "GB"; E = { [math]::Round($_.Sum / 1GB, 2) } }이 밖에 프록시 노드를 바꾸자 풀렸다는 사례가 한 건 있습니다(#29040).
0xC000001D (code=3221225501): 이벤트 뷰어로 Astrill부터 확인
ChatGPT failed to start. (code=3221225501, signal=null). Most recent error: Codex app-server websocket closed (code=3221225501)처럼 나오거나, 이어서 Codex app-server process is not available이 뜨는 경우입니다. 3221225501은 16진수로 0xC000001D, 즉 STATUS_ILLEGAL_INSTRUCTION입니다. codex.exe가 실행할 수 없는 CPU 명령을 만났다는 뜻이고, 그 명령이 Codex 자신의 것인지 다른 프로그램이 끼워 넣은 DLL의 것인지에 따라 대처가 갈립니다. #24408, #30884 등 여러 이슈가 열려 있지만 데스크톱 쪽에는 OpenAI 직원의 답이 없습니다.
충돌 모듈 이름 확인하기
이벤트 뷰어 → Windows 로그 → 응용 프로그램에서 원본이 Application Error인 항목을 열고, 충돌한 모듈 이름(Faulting module name)을 봅니다. PowerShell로도 볼 수 있습니다.
Get-WinEvent -FilterHashtable @{ LogName = "Application"; ProviderName = "Application Error" } -MaxEvents 30 |
Where-Object Message -match "codex" |
Select-Object -First 3 TimeCreated, Message | Format-List
tasklist /m ASProxy64.dll모듈이 ASProxy64.dll이면 Astrill VPN이 설치한 Winsock LSP가 codex.exe 안에 들어가 충돌을 일으킨 것입니다. 지금까지 데스크톱 앱에서 가장 많이 확인된 원인이고, Zen 5, Core Ultra, i7-14700KF처럼 최신 CPU에서도 일어났습니다(#30884, #24408, #45597).
ASProxy64.dll이면: Astrill LSP 제거
여러 사용자가 확인한 방법은 셋입니다.
- Astrill 앱에서 Ctrl 키를 누른 채 Help 메뉴를 열면 숨은 항목 LSP Uninstall이 나옵니다. 실행 후 재부팅하고,
tasklist /m ASProxy64.dll에 해당 작업이 없다고 나오면 됩니다. - 관리자 터미널에서
netsh winsock show catalog | findstr ASProxy로 LSP를 확인한 뒤netsh winsock reset을 실행하고 재부팅합니다. 이 명령은 Astrill뿐 아니라 등록된 모든 LSP를 초기화합니다. - Astrill을 제거합니다.
LSP를 지운 뒤에도 Astrill을 계속 쓴다면 LSP를 설치하지 않는 OpenWeb·WireGuard 프로토콜을 쓰면 된다는 보고가 있습니다. 비슷하게 네트워크 통신에 끼어드는 다른 프로그램도 원인이 될 수 있다고 추정되지만, 이슈에서 확인된 것은 Astrill뿐입니다.
다른 모듈이거나 codex.exe 자체라면: CPU 명령 문제
충돌 모듈이 codex.exe 자신이면 빌드가 요구하는 CPU 명령을 이 CPU가 지원하지 않는 경우일 수 있습니다. 근거는 다른 제품에서 나왔습니다. npm CLI 0.135.0이 Haswell Xeon에서 같은 코드로 죽었을 때 OpenAI 직원은 다음 릴리스에서 고친다고 답했고(#25367), VS Code 확장의 codex.exe는 Zen 3와 Raptor Lake에서 HW capability requested: 0x200000을 남기며 죽었습니다(#17410). 지금의 데스크톱 빌드가 어떤 CPU 명령을 요구하는지는 공개 문서에 없습니다.
이 경우는 로컬 설정으로 고칠 수 없습니다. 재설치, 패키지 재등록, Visual C++ 재배포 패키지 설치, SQLite DB 삭제, .codex 새로 만들기는 모두 효과가 없었습니다(#30339, #42029). #17410의 보고자들은 WSL2에서 Linux용 Codex CLI를 쓰면 동작한다고 했으니, 수정이 나올 때까지는 그쪽으로 작업을 이어 가고 CPU 모델명을 붙여 신고하세요.
가까운 사례로, 종료 코드 0xC0000409와 함께 HW capability requested: 0x20000000이 나오면 전역 환경 변수 OPENSSL_ia32cap이 남아 있는지 확인하세요. 한 사용자는 이 변수를 지워 CLI와 VS Code 확장이 다시 동작했습니다(#12962).
비슷한 오류 문구와 무한 로딩
네 갈래와 문구가 비슷하지만 조치가 다른 경우입니다. 대부분 사용자 보고에 기댄 우회책이고, 날짜와 빌드 번호는 보고 당시 기준입니다.
| 문구 또는 증상 | 뜻 | 먼저 할 일 |
|---|---|---|
failed to launch codex app-server: program not found | 26.930.61225에서 Cloud 채팅으로 Windows Computer Use를 쓸 때 보고됨(2026년 10월 7일, 1건). 같은 작업이 "On my computer" 채팅에서는 동작 | 로컬 채팅으로 같은 작업을 시도. 원인은 밝혀지지 않음(#51867) |
Codex app-server process is not available, "ChatGPT hit a snag" | 뒤에서 돌던 codex.exe가 죽었고 앱이 다시 띄우지 못함 | 이벤트 뷰어에서 종료 코드 확인. 0xC000001D면 위 절, 0xc0000409는 메모리 고갈 사례(#36619), 0xC0000017은 32KB를 넘긴 사용자 PATH 사례(#46374, HKCU\Environment 백업 후 정리) |
code=3221225506 (0xC0000022) | 26.820~26.825 빌드에서 SafeDllSearchMode가 0이면 접근 거부 | HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SafeDllSearchMode가 0이면 관리자 권한으로 Windows 기본값 1로 되돌림(#40913) |
Unable to locate the Codex CLI binary. Set CODEX_CLI_PATH or ensure the Electron resources include bin/codex. | 패키지에서 실행 파일을 복사하지 못함(2026년 8월 빌드) | 최신 빌드로 업데이트. C가 아닌 드라이브에 설치했다면 설정 → 앱 → 설치된 앱 → ChatGPT → 이동으로 C:에 옮김(#40700) |
| 오류 없이 로고에서 멈춤(무한 로딩), 26.924~26.928 | app-server가 멈춘 상태 | app-server가 들어간 codex.exe만 종료(아래 명령). 26.930.x에서 고쳐졌다는 보고가 여럿 |
| 26.1002.7124.0에서 로그인 후 10~35초 뒤 조용히 꺼짐 | 백그라운드 런타임 패키지 설치 중 충돌(2026년 10월 7일부터) | 비공식 우회책이 커뮤니티에 있음. 다음 빌드에서 바뀔 가능성이 큼 |
failed to reload config: ... missing escaped value | config.toml의 큰따옴표 안 Windows 경로 | 작은따옴표나 /로 바꾸기(#37616) |
로고에서 멈췄을 때는 창을 연 채로 다음 명령을 실행합니다. exec-server가 들어간 codex.exe를 끄는 것은 도움이 되지 않고, codex.exe를 모두 끄면 다른 세션까지 끊깁니다. 한 사용자는 종료 뒤 약 9초 만에 홈 화면이 떴습니다(Qiita 글, #48333).
Get-CimInstance Win32_Process |
Where-Object { $_.Name -eq "codex.exe" -and $_.CommandLine -like "* app-server *" } |
ForEach-Object { Stop-Process -Id $_.ProcessId -Force }CreateProcessWithLogonW failed: 1385이나 오류 1312 같은 샌드박스 오류는 app-server가 아니라 샌드박스 설정 문제입니다. 샌드박스와 승인 설정은 Codex 샌드박스와 config.toml: 승인·쓰기·네트워크 경계에 정리돼 있습니다. 앱은 열리는데 세션 중에 재연결이 반복되면 Codex가 Reconnecting을 반복할 때 작업을 잃지 않는 해결 순서를, 로그인 단계에서 막히면 Codex Token Exchange Failed: 로그인 실패 단계를 먼저 찾으세요를 보세요.
이슈 댓글의 패치 파일과 복구 도구는 받지 마세요
이 오류들을 다루는 GitHub 이슈에는 OpenAI와 무관한 파일이 올라와 있습니다.
- 새로 만든 계정이 0xC000001D 이슈에 올린
codex_patch_v26.zip은 다른 사용자가 랜섬웨어라고 지적했습니다. browser-client.mjs를 고치는 PowerShell 패치는 인증이 실패해도 사이트 허용 여부 검사를 통과시키는 방식이라, 웹사이트 허용·차단 정책을 우회합니다.- 여러 이슈에 반복해서 홍보되는 "WinBridge Recovery"는 비공식 도구입니다.
OpenAI 지원팀도 Windows 보안 기능을 끄는 방식의 우회는 피하라고 답했습니다(커뮤니티). 실행 파일을 바꾸거나 보안 기능을 끄지 않아도, 위 네 갈래는 경로 수정, 파일 이동, LSP 제거로 해결된 사례가 있습니다.
그래도 안 열리면: 신고 전에 모을 정보
0xC000001D의 CPU 명령 문제처럼 로컬에서 고칠 수 없는 경우나, 위 조치를 다 해도 같은 문구가 나오면 다음 정보를 모아 신고합니다.
- 앱 버전:
Get-AppxPackage -Name OpenAI.Codex | Select-Object Name, Version - Windows 빌드:
winver또는[Environment]::OSVersion.Version - 오류 문구 원문과 종료 코드, 이벤트 뷰어의 Application Error 항목(충돌 모듈 이름 포함)
- 해당 시각의
codex-desktop-*.log - 0xC000001D라면 CPU 모델명, Browser Use·확장 문제라면 브라우저 종류와 프로필
Browser Use나 확장 문제는 공식 문서대로 앱에서 /feedback을 보내고 채팅 ID를 함께 알려 줍니다. OpenAI 지원팀은 포럼에서 로그를 support@openai.com으로 보내 달라고 했는데, 로그에 개인 정보나 환경 정보가 들어 있을 수 있기 때문입니다(커뮤니티 답변). 같은 이유로 GitHub 이슈에는 로그 전체를 올리지 말고, 대표 이슈(os error 3은 #19187, nodePath는 #35705, 핸드셰이크는 #39015, 0xC000001D는 #24408)에 버전과 증상만 덧붙이는 편이 안전합니다.
자주 묻는 질문
Codex 앱을 다시 설치하면 app-server 오류가 고쳐지나요?
재설치만으로 고쳐졌다는 보고는 네 갈래 어디에서도 나오지 않았습니다. 문제의 경로가 기록된 config.toml과 로그 DB는 패키지 밖의 %USERPROFILE%\.codex에 있어서 재설치해도 그대로 남기 때문입니다. 재설치가 필요하면 Store 제품 ID 9PLM9XGG6VKS로 설치해 ChatGPT Classic과 헷갈리지 않게 하세요.
.codex 폴더를 지우면 된다는 글이 있는데 해도 되나요?
백업 없이 지우면 대화 기록, 스레드 색인, 설정, 로그인 정보가 함께 사라집니다. 핸드셰이크 시간 초과라면 logs_2.sqlite*만 옮기는 것으로 충분한 경우가 많고, 0xC000001D는 폴더를 새로 만들어도 고쳐지지 않았습니다. 꼭 비워 봐야 한다면 폴더를 통째로 다른 이름으로 바꾸거나 옮겨 두세요.
OpenAI가 이 오류들을 언제 고치나요?
2026년 10월 9일 기준 os error 3, nodePath·resourcesPath, 핸드셰이크 시간 초과, 데스크톱 0xC000001D 어느 것도 수정 버전이 발표되지 않았습니다. 변경 기록에도 이 오류 문구는 나오지 않습니다. 업데이트 뒤 증상이 바뀌거나 다시 생기는 일이 잦으므로, 업데이트할 때마다 위의 경로 비교부터 다시 해 보세요.



