티스토리 뷰

작성일: 2026년 2월 5일
카테고리: Claude Code, Troubleshooting, Windows
키워드: Claude Code, Windows, stdin, race condition, 입력 불가, 다운그레이드

요약

Windows 환경에서 Claude Code v2.1.31로 자동 업데이트된 후 입력 필드가 응답하지 않는 현상이 발생했습니다. 키보드 입력, 붙여넣기가 전혀 작동하지 않아 터미널을 강제 종료해야 하는 상황이었습니다. 이 글에서는 해당 버그의 원인과 임시 해결책을 공유합니다.

문제 상황

증상

Claude Code를 실행하면 UI는 정상적으로 렌더링됩니다. 배너, 모델 정보, 입력 프롬프트까지 모두 표시됩니다. 그러나 키보드 입력이 전혀 되지 않습니다.

  • 키보드 타이핑: 무반응
  • Ctrl+V 붙여넣기: 무반응
  • 마우스 클릭: 무반응
  • 복구 방법 없음: 터미널 강제 종료만 가능

환경 구성

  • Claude Code: v2.1.31 (자동 업데이트된 최신 버전)
  • OS: Windows 11
  • 터미널: VS Code 통합 터미널, Windows Terminal 모두 동일 증상

확인 사항

비대화형 모드는 정상 작동합니다:

claude --print "test"  # 정상 작동
claude                 # 입력 불가

근본 원인 분석

stdin Race Condition

이 문제는 Ink/React 터미널 초기화 과정에서 발생하는 race condition으로 추정됩니다. UI가 렌더링되기 전에 stdin이 준비되어야 하는데, 타이밍이 맞지 않아 UI는 표시되지만 입력을 받지 못하는 상태가 됩니다.

비유하자면 전화기 화면은 켜졌는데 터치가 안 되는 상황과 비슷합니다. 화면(UI 렌더링)과 터치(stdin) 초기화 순서가 꼬인 것입니다.

영향 범위

  • 간헐적 발생: 100% 재현되지 않음
  • Windows 한정: Linux, macOS에서는 보고되지 않음
  • v2.1.31에서 발생: v2.1.29에서는 정상 작동

해결 방법

1. 다운그레이드

v2.1.29 버전으로 다운그레이드합니다:

npm install -g @anthropic-ai/claude-code@2.1.29

2. 자동 업데이트 비활성화

다시 v2.1.31로 업데이트되지 않도록 자동 업데이트를 비활성화합니다. Claude Code 설정에서 autoUpdaterStatusdisabled로 변경합니다.

# 현재 버전 확인
claude --version

3. 결과 검증

다운그레이드 후 정상적으로 입력이 되는지 확인합니다:

claude
# 입력 필드에 텍스트 입력 테스트

버그 추적

이 버그는 GitHub에 보고되어 있습니다:

교훈

1. 자동 업데이트의 양날의 검

자동 업데이트는 보안 패치를 빠르게 적용할 수 있지만, 새로운 버그가 포함된 버전으로 강제 업데이트되는 위험도 있습니다. 개발 도구의 경우 안정성이 검증된 버전을 고정하는 것이 생산성 측면에서 유리할 수 있습니다.

2. 플랫폼별 테스트의 중요성

Windows 환경 특유의 stdin 처리 방식이 Linux/macOS와 다르기 때문에 발생한 문제입니다. 크로스 플랫폼 도구 개발 시 각 플랫폼에서의 충분한 테스트가 필요합니다.

참고 자료

관련 이슈

관련 블로그

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함