Codex App - Git Bash `max consoles is 32` 오류

okorion·2026년 4월 12일

🛠 Fix & Build

목록 보기
12/12

요약:
해결 방법 1: Codex App 기본 셸을 Git Bash에서 PowerShell로 바꾸기
해결 방법 2: 남아 있는 bash.exe 프로세스 전부 정리하기
해결 방법 3: 작업트리는 PowerShell에서 직접 생성하기


Windows에서 Codex App에서 영구 작업트리를 생성하던 중, 갑자기 터미널이 닫히고 쓰레드가 비정상 종료되는 현상을 겪었다.
확인해보니 터미널에는 아래와 같은 오류가 찍혀 있었다.

bash.exe: *** fatal error - console device allocation failure - too many consoles in use, max consoles is 32

  • Git Bash/Cygwin 계열에서 반복 보고된 "console device allocation failure - too many consoles in use, max consoles is 32" 유형과 같다.

처음에는 Codex App 자체 문제처럼 보였지만, 실제로는 Windows + Git Bash + 다중 셸 세션 조합에서 발생하는 콘솔 할당 한도 이슈에 가까웠다.

이 글에서는 이 오류가 왜 발생하는지, 왜 Codex App에서 특히 잘 터지는지, 그리고 실무적으로 어떻게 해결하는지가 핵심이다.


문제 상황

내 환경에서는 Codex App에서 영구 작업트리를 생성하는 순간 아래와 같은 오류가 반복적으로 발생했다.

*** fatal error - console device allocation failure - too many consoles in use, max consoles is 32

증상은 대체로 이랬다.

  • 영구 작업트리 생성 시 터미널이 비정상 종료됨
  • 실행 중이던 쓰레드가 닫힘
  • Codex App이 살짝 불안정해진 것처럼 보임
  • Git Bash 기반 세션이 연쇄적으로 실패함

원인: Codex App 문제가 아니라 Git Bash 콘솔 한도 문제

핵심 원인은 간단하다.

Windows에서 Git Bash는 내부적으로 bash.exe를 통해 콘솔을 할당받아 동작한다.
그런데 이 계열은 동시에 사용할 수 있는 콘솔 수에 한계가 있고, 오류 메시지 그대로 최대 32개 수준에서 실패할 수 있다.

Codex App 같은 툴은 다음과 같은 상황에서 셸을 많이 띄운다.

  • 영구 작업트리 생성
  • 병렬 작업 세션 생성
  • 백그라운드 명령 실행
  • 이전 세션이 완전히 정리되지 않은 상태에서 새 세션 시작

이때 기본 셸이 Git Bash로 잡혀 있으면 bash.exe 프로세스가 누적되고, 어느 시점에서 콘솔 할당 실패가 발생한다.

정리하면 구조는 이렇다.

  1. Codex App이 여러 셸 세션을 띄운다
  2. Git Bash의 bash.exe가 누적된다
  3. 기존 콘솔 자원이 정리되지 않거나 동시에 많이 열린다
  4. max consoles is 32 에러 발생
  5. 터미널 종료, 쓰레드 종료, 앱 불안정으로 이어진다

왜 Codex App에서 더 잘 터질까

일반적인 수동 개발 환경에서는 한 번에 Git Bash 창 몇 개 정도만 띄우고 끝나는 경우가 많다.
반면 Codex App 같은 에이전트형 도구는 사람보다 훨씬 공격적으로 셸 세션을 생성할 수 있다.

예를 들면:

  • 작업트리마다 별도 셸
  • 명령 프리뷰/실행용 셸
  • 내부 상태 점검 셸
  • 백그라운드 프로세스용 셸

여기에 이전 bash.exe가 제대로 종료되지 않으면 문제가 빨리 누적된다.

즉, 사람이 수동으로 쓰는 Git Bash는 괜찮아 보여도,
자동화된 멀티 세션 실행기 위에 Git Bash를 기본 셸로 올리는 것은 안정성이 떨어진다.


해결 방법 1: Codex App 기본 셸을 Git Bash에서 PowerShell로 바꾸기

가장 중요한 해결책이다.

Codex App 내부 기본 셸을 Git Bash가 아니라 PowerShell 또는 cmd로 바꾸는 것이 가장 확실하다.

권장 운영 방식은 아래와 같다.

  • Codex App 내부 셸: PowerShell
  • Git Bash: 외부 독립 터미널에서만 사용

이렇게 분리하면 Codex App이 세션을 여러 개 띄워도 Git Bash 콘솔 한도에 직접 걸릴 가능성이 크게 줄어든다.

실제로 Windows에서 자동화 도구, IDE 내장 터미널, 멀티 세션 툴은 PowerShell 쪽이 훨씬 안정적이다.


해결 방법 2: 남아 있는 bash.exe 프로세스 전부 정리하기

이미 한 번 꼬인 상태라면 셸을 바꾸는 것만으로는 부족하다.
누적된 bash.exe가 남아 있으면 다시 같은 문제가 발생할 수 있다.

PowerShell에서 아래 명령으로 정리하면 된다.

taskkill /F /IM bash.exe
taskkill /F /IM sh.exe
taskkill /F /IM mintty.exe
taskkill /F /IM git-bash.exe

필요하면 아래도 같이 확인한다.

Get-Process bash,sh,mintty,git-bash,conhost,node -ErrorAction SilentlyContinue

상황이 심하게 꼬였으면 재부팅이 가장 빠르다.


해결 방법 3: 작업트리는 PowerShell에서 직접 생성하기

Codex App 내부에서 영구 작업트리 생성 기능을 바로 쓰는 대신,
먼저 PowerShell에서 수동으로 worktree를 만든 뒤 Codex App에서 해당 폴더를 여는 방식도 안정적이다.

예시:

git worktree list
git worktree add ..\wt-feature feature/my-feature

브랜치를 새로 만들면서 작업트리를 붙이고 싶다면:

git worktree add -b feature/my-feature ..\wt-feature HEAD

이 방식의 장점은 명확하다.

  • Codex App 내부 자동 셸 생성량 감소
  • Git Bash 의존도 감소
  • worktree 생성 실패 시 원인 추적이 쉬움

즉, 자동 생성 기능이 불안정할 때는 worktree 생성과 에이전트 작업 공간 진입을 분리하는 것이 실무적으로 안전하다.


해결 방법 4: 병렬 작업트리와 터미널 수를 줄이기

이 문제는 보통 “한 번에 너무 많이 열었을 때” 터진다.
영구 작업트리, 터미널 탭, 백그라운드 작업 수를 줄이면 재발 가능성이 낮아진다.

실무적으로는 다음 정도가 무난하다.

  • 동시에 활성화하는 작업트리: 2~4개 이내
  • 안 쓰는 터미널 즉시 종료
  • Git Bash 세션 상시 유지 금지
  • Codex App 재시작 없이 장시간 누적 사용하지 않기

특히 에이전트형 앱은 내부적으로 사용자가 인지하지 못한 셸도 띄울 수 있어서,
눈에 보이는 탭 수보다 실제 프로세스 수가 더 많을 수 있다.


내가 정리한 운영 원칙

이번 이슈 이후 Windows에서 Codex App을 쓸 때 운영 원칙을 이렇게 가져가는 게 맞다고 판단했다.

1. Codex App 내부 셸은 PowerShell 고정

Git Bash를 기본 셸로 쓰지 않는다.

2. Git Bash는 외부 보조 도구로만 사용

정말 필요한 경우만 별도 창에서 실행한다.

3. 작업트리는 가능하면 먼저 수동 생성

자동화 기능이 불안정하면 PowerShell에서 git worktree add로 먼저 만든다.

4. 장시간 누적 세션 방치 금지

안 쓰는 터미널, 죽지 않은 bash.exe, 백그라운드 세션을 주기적으로 정리한다.

5. 이상 징후가 보이면 Reload보다 완전 종료

앱 내부 상태가 꼬였을 가능성이 높아서 완전 종료 후 재실행이 낫다.


이 이슈에서 얻은 교훈

이번 문제는 단순한 터미널 오류처럼 보이지만, 실제로는 더 중요한 포인트를 보여준다.

에이전트형 개발 툴을 쓸 때는
“내가 평소 CLI에서 잘 쓰던 셸”이 자동화 환경에서도 안정적일 것이라고 가정하면 안 된다.

특히 Windows에서는:

  • Git Bash는 수동 사용에는 편하지만
  • 자동화/멀티 세션/내장 터미널 조합에서는 불안정할 수 있다

즉, 개발 생산성을 높이려면 툴 자체만 볼 게 아니라
셸, 프로세스, 작업트리, 병렬 세션 구조까지 운영 관점에서 봐야 한다.


결론

Codex App에서 영구 작업트리 생성 시 아래 오류가 난다면:

bash.exe: *** fatal error - console device allocation failure - too many consoles in use, max consoles is 32

핵심 해결책은 이것이다.

  • Git Bash를 Codex App 기본 셸에서 제거
  • PowerShell로 전환
  • 남아 있는 bash 프로세스 정리
  • 필요하면 worktree는 PowerShell에서 직접 생성

한 줄로 요약하면:

Windows에서 에이전트형 개발 도구를 안정적으로 쓰려면, Git Bash를 내부 기본 셸로 두지 않는 편이 낫다.


Codex App 터미널 설정하기

  1. 좌측 하단 설정 누르기
  1. Integrated terminal shell에서 PowerShell로 설정 권장
profile
okorion's Tech Study Blog.

0개의 댓글