본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 30. 08:54

Claude Code의 확장 추론 사용 시 세션이 영구적으로 중단되는 180건 이상의 사례 분석 — 5월 누계와 이용자 측의 7가지 정리 및

요약

Claude Code에서 Opus 4.7/4.8의 확장 추론 사용 시 세션이 영구 중단되는 400 에러 이슈를 분석합니다. 중간 저장 과정의 서명 불일치, 도구 호출 실패, 메시지 재구축 등 7가지 주요 원인을 다룹니다.

핵심 포인트

  • 확장 추론 활성화 시 특정 조건에서 API 400 에러 발생
  • 에러 발생 시 /clear 또는 /exit 외에는 세션 복구 불가
  • 추론 본문과 서명 간의 데이터 괴리가 핵심 원인
  • 도구 호출 실패 및 메시지 인덱스 변경 등 7가지 하위 유형 존재

Opus 4.7 또는 Opus 4.8에서 확장 추론 (Extended Reasoning)을 활성화하고 작업을 계속하면, 어느 시점부터 API 응답이 다음의 400 에러로 고정되는 현상입니다.

API Error: 400 messages.N.content.M: `thinking` or `redacted_thinking` blocks
in the latest assistant message cannot be modified. These blocks must remain
as they were in the original response.

한 번 이 400 에러가 발생하면, 후속되는 모든 요청이 동일한 400 에러로 거부되어 세션 (session)이 영구적으로 중단됩니다. /continue 명령도, 새로운 질문도, 아무것도 입력하지 않을 때의 자동 재시도도 모두 동일한 400 에러를 반환합니다. 회복 경로는 /clear 또는 /exit를 통해 세션의 작업 문맥 (context)을 버리는 방법뿐이며, 이용자가 쌓아온 수십 분에서 수 시간 동안의 작업 상태가 손실됩니다.

2026년 5월 누계로 180건 이상의 이슈 제기(issue), 누계 200건 이상의 반응, 누계 100건 이상의 댓글이 GitHub에 독립적으로 등록되었습니다. 최근 48시간 (5월 28일과 29일) 동안 50건 이상의 신규 이슈가 급증하는 신호가 기록되었습니다.

핵심적인 메타 이슈는 #63147로, 반응 36건, 댓글 35건을 기록했습니다. 주요 원인은 "중간 저장 시 추론 본문은 비워지지만 서명은 남는다"는 주장입니다. v2.1.153부터 v2.1.156까지의 모든 버전과 Opus 4.7Opus 4.8의 조합에서 발생합니다.

수집된 사례 중 7가지의 독립적인 하위 양식이 기술되었습니다. 공통 원인은 "확장 추론 덩어리의 서명이 원본 덩어리의 본문과 괴리된다"는 구조이며, API 검증이 이 괴리를 400 에러로 거부하는 것입니다.

13A. 중간 저장 과정에서 추론 본문을 빈 문자열로 만들고, 서명은 원본 값을 유지하는 현상입니다. 세션 재개 시 "본문은 비어 있고 서명은 원본인" 덩어리를 API에 다시 보내게 되어 서명 검증이 실패합니다. 핵심 이슈 #63147 (반응 36건)에서 기술되었습니다.

13B. 이용자가 AskUserQuestion의 질문을 Esc 키로 취소할 때, 진행 중인 답변 덩어리가 손상되는 현상입니다. 핵심 이슈 #63143 (댓글 8건).

13C. 3개 이상의 병렬 도구 호출 (tool call) 중 1개가 실패하여 나머지가 자동 취소될 때, 진행 중인 답변 덩어리가 손상되는 현상입니다. 핵심 이슈 #63192 (반응 7건).

13D. 13A부터 13C의 발생 조건이 없더라도, 확장 추론을 활성화한 상태에서 간헐적으로 400 에러가 발생하는 현상입니다. 핵심 이슈 #63335 (반응 8건, 댓글 6건).

13E. Opus 4.8과 도구의 동적 로딩 (ToolSearch) 조합에서, 대화 도중 도구 목록의 변경이 발생할 때마다 과거 덩어리의 문맥이 재계산되어 과거의 서명과 괴리되는 현상입니다. 13A~13D와 달리 세션이 영구 중단되는 것은 아니며, 매번 400 에러와 재시도, 정리를 반복하게 되어 지연과 비용 상승을 초래합니다. 핵심 이슈 #63792.

13F. /compact/clear, 또는 모델 전환 후에 CLI가 메시지 (messages) 집합을 재구축할 때, 메시지의 0번 인덱스에 시스템 (system) 역할을 배치하면서 서명이 포함된 덩어리를 수정하는 새로운 버그입니다. v2.1.153에서는 발생하지 않으며, v2.1.154 이후의 독립적인 변화입니다. 핵심 이슈 #63396. v2.1.156에서 위치가 메시지의 1번 인덱스로 이동함 (이슈 #63469).

13G. 중간 전환 시, 4.7에서 계산된 서명이 4.8의 검증에서 거부되는 현상입니다. 에러 문구가 13A와 다르며, 재시도로 회복되지 않는 하드(hard) 400 에러로, 13A의 소프트(soft)한 400 에러와 구분됩니다. 핵심 이슈 #63607, #63606, #63612, #63412.

방어책 1. 작업 상태를 /save 도구 또는 수동으로 저장한 뒤, claude 명령어로 새로운 세션을 시작하는 경로입니다. 13A부터 13D까지의 영구 중단을 해결할 수 있는 유일하고 확실한 회복 방법입니다.

방어책 2. cnighswonger 님의 claude-code-thinking-blocks-fix v3.8.0 (opt-in) 중계 도구를 이용하는 것입니다. 13A, 13B, 13C, 13E, 13G의 일부에 대응합니다. 13F에는 대응하지 않습니다.

beemusicco 님의 수동 문서 정리 경로. 중간 저장된 문서를 직접 편집하여 과거 turn의 thinking 덩어리를 삭제하는 경로. 13A, 13B, 13C, 13D에 대응.

v2.1.152

Opus 4.7

DISABLE_INTERLEAVED_THINKING=1

의 조합은 7개 축의 전 사례에 대응하는 유일한 full fix입니다. 단, Opus 4.8

이용의 이점 (더 최신 모델의 지식, 더 나은 추론의 질)을 잃는 대가를 치러야 합니다.

/model

으로 확장 추론 (extended reasoning)을 끄는 경로. 성능 저하의 대가와 맞바꾸어, 서명 불일치(signature mismatch)의 전 사례를 회피.

제가 관리하는 cc-safe-setup (약 800개의 hook 집적)을 통해, 집적 방어 도구 4종을 이미 출시했습니다.

SessionStart

hook에서 중간 저장된 문서를 스캔하여, 빈 본문 + 서명 덩어리 신호를 감지하고 advisory를 발생시킵니다. 13A의 전조를 감지하는 경로입니다. 54건의 테스트에서 전 사례 통과.

13B와 13C의 표면적 발생 전 advisory 경로.

v2.1.154

의 감지 및 버전 고정 advisory. 13F의 전조를 감지하는 경로입니다. v2.1.155 이후의 현상에서는 위치 이동 (messages[1]) 신호도 advisory에 포함됩니다.

Notification

hook에서, Opus 4.7에서 Opus 4.8로 전환할 때, 중간 저장에 서명이 포함된 덩어리가 있는 경우 13G 특화형 advisory를 발생시킵니다. 34건의 테스트에서 전 사례 통과.

남은 3개 축의 hook 예정: 13B의 질문(query) advisory, 13C의 병렬 도구 호출(parallel tool call) advisory, 13E의 도구 동적 로딩(dynamic tool loading) advisory. 2026년 6월 이후 정비 경로를 통해 순차적으로 출시될 예정입니다.

제1단계는 중간 저장된 덩어리의 상태 확인. ~/.claude/projects/<slug>/*.jsonl의 최신 문서를 jq로 열어, 빈 본문 + 서명 덩어리의 수를 집계하는 경로.

jq -rR 'fromjson? | select(.type == "assistant") |
.message.content[]? |
select(.type == "thinking"
...

제2단계는 버전 확인. claude --version으로 v2.1.154 이후는 13F 대상, v2.1.156은 위치 이동 신호.

제3단계는 모델 확인. /modelOpus 4.7Opus 4.8의 전환 기록 확인.

제4단계는 도구의 동적 로딩 확인. 대화 도중에 도구 목록의 변경이 발생했다면 13E 대상.

제5단계는 중간 중단 기록 확인. 질문 취소나 병렬 도구 호출 집합의 일부 실패가 있다면 13B 또는 13C 대상.

사고 방지본 (¥800, 베스트셀러 1위)의 제21장에서 집적의 4축 정리를, 제21장의 부록에서 5월 30일 아침의 3축 신규 발견 추가에 관한 articulate (설명/기술)를 공개 완료함 (5월 30일 오전). 기존 구매자에게는 무상 업데이트로 전달됩니다.

토큰본 (¥2,500)의 제19장에서, 13E와 13G의 토큰 소비율 악화에 미치는 영향에 관한 articulate를 공개 완료함. Skills본 (¥500)의 제10장에서, 13E (ToolSearch)와 Skills 기능 (동적인 도구 로딩)의 직접적인 관계에 관한 articulate를 공개 완료함.

cc-safe-setup의 약 800건의 hook (무료)는 GitHub에서 자유롭게 이용할 수 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0