Claude Code v2.1.156: Opus 4.8 Thinking Block 핫픽스 상세 해설

Opus 4.8의 thinking block이 재시도 시 손상되는 버그가 있었습니다. v2.1.156이 핫픽스입니다 — 업데이트 후 검증하고, 그 외 변경 사항도 살펴보세요.

Claude Code v2.1.156: Opus 4.8 Thinking Block 핫픽스 상세 해설
Share

무엇이 문제였나: Opus 4.8의 Thinking Block 손상

2026년 5월 28일 출시된 Claude Code v2.1.154 는 Opus 4.8을 기본 모델로 채택했고, 곧바로 조용한 페이로드 버그가 드러났습니다. Thinking block이 재시도 또는 멀티턴 시퀀스 도중 변조되어, Anthropic API가 다음 턴에서 수정된 페이로드를 HTTP 400 오류로 거부하는 문제였습니다. 세션은 아무런 실질적인 오류 메시지 없이 멈추거나 충돌하는 것처럼 보였습니다. 2026년 5월 29일 약 01:42 UTC에 출시된 v2.1.156 은 이 변조 경로만을 정확히 수정한 단일 핫픽스입니다.

요약: Claude Code v2.1.154 또는 v2.1.155에서 Opus 4.8과 extended thinking을 사용 중이라면 지금 바로 업데이트하세요. v2.1.156은 멀티턴 시퀀스 도중 thinking block이 변조되어 발생하던 조용한 페이로드 손상 및 복구 불가능한 HTTP 400 오류를 수정합니다. npm install -g @anthropic-ai/claude-code@latest를 실행하세요.

실패 양상은 미묘했습니다. N번째 턴에서 thinking block이 다음 요청에 그대로 전달되기 전에 변조되었는데, 공백이 제거되고 바이트가 압축되었습니다. Anthropic API는 서명된 thinking block을 바이트 단위로 그대로 재전송할 것을 요구하며, 조금이라도 수정되면 거부됩니다. 따라서 오류는 항상 N+1번째 턴에서 나타났고, 세션 자체의 로직 오류와 구분하기 어려웠습니다. 턴 수가 많은 에이전틱 워크플로우에서는 이 400 오류가 인프라 문제인지 자신의 코드 문제인지 파악할 신뢰할 수 있는 방법이 없었습니다.

영향 범위: extended thinking이 활성화된 상태(/effort high 이상)의 Opus 4.8 세션 전체. Opus 4.7, 모든 Sonnet 변형, Haiku는 영향을 받지 않았으며, 변조는 재전송 및 압축 과정에서 Opus 4.8 thinking block 페이로드 형식에만 발생했습니다.

아래의 검증된 Python 코드 스니펫은 실행 성공(exit 0) 기준으로 핫픽스가 방지하는 내용을 정확히 보여줍니다. frozen dataclass를 사용하여 서명된 thinking block이 재전송 전에 수정될 수 없도록 강제합니다:

from dataclasses import dataclass, replace


@dataclass(frozen=True)
class ThinkingBlock:
    text: str
    signature: str


def send_to_api(block: ThinkingBlock, original: ThinkingBlock) -> str:
    if block.signature == original.signature and block.text != original.text:
        raise ValueError(
            "API 400: signed thinking blocks cannot be modified"
        )
    return "accepted"


original = ThinkingBlock(
    text="hidden reasoning bytes from Opus 4.8\n",
    signature="sig:abc123",
)

print("Claude Code v2.1.156 hotfix demo")
print("bad replay:", end=" ")
try:
    send_to_api(replace(original, text=original.text.strip()), original)
except ValueError as exc:
    print(exc)

print("fixed replay:", send_to_api(original, original))
print("explanation: preserve signed thinking blocks byte-for-byte during replay/compaction.")

실행 출력:

Claude Code v2.1.156 hotfix demo
bad replay: API 400: signed thinking blocks cannot be modified
fixed replay: accepted
explanation: preserve signed thinking blocks byte-for-byte during replay/compaction.
"extended thinking이 활성화된 멀티턴 Opus 4.8 세션에서 thinking block이 변조되어 에이전틱 세션이 실행 도중 중단되는 치명적 버그를 수정합니다." — Claude Code CHANGELOG, v2.1.156

v2.1.156 업데이트 전제 조건 및 방법

Claude Code v2.1.156: Opus 4.8 Thinking Block Hotfix Explained

업데이트는 npm 명령어 한 줄로 끝납니다. 수정 내용은 클라이언트의 thinking block 재전송 로직 내부에만 있으므로, 별도의 설정 파일 변경은 필요하지 않습니다. 먼저 현재 버전을 확인한 후 업데이트하고 검증하세요.

  1. 핫픽스 적용 확인:새 Opus 4.8 세션을 열고(v2.1.154 이후 기본값), /effort high를 실행해 extended thinking을 활성화한 뒤, 같은 세션에서 질문과 후속 질문으로 이루어진 2턴 대화를 진행하세요. 세션 로그에 HTTP 400 오류가 발생하지 않는지 확인하세요. 두 번째 턴이 핵심 테스트입니다. 핫픽스 이전에 손상된 페이로드가 거부되던 지점이 바로 여기입니다.
  2. v2.1.157 이후 플러그인 동작 확인:@latest로 v2.1.157도 함께 설치되므로, /reload-skills를 실행하고 .claude/skills/의 항목들이 여전히 정상적으로 인식되는지 확인하세요. 플러그인 개편으로 자동 로드 방식이 변경되었습니다. 이제 해당 디렉터리의 스킬은 마켓플레이스 등록이나 재시작 없이 바로 로드됩니다. 이전에 /plugin을 통한 명시적 활성화에 의존하고 있었다면 동작 방식이 달라집니다.

npm으로 업데이트:

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

설치가 완료된 후 활성화된 Claude Code 세션을 재시작하세요. @latest는 최신 릴리스로 자동 해석되며, 2026년 5월 29일 기준으로 같은 날 출시된 플러그인 시스템 개편이 포함된 v2.1.157도 함께 설치됩니다. 업데이트와 함께 별도의 설정 변경은 필요하지 않습니다.

설치된 버전 확인:

claude --version

출력이 v2.1.154 또는 v2.1.155이고 Opus 4.8과 extended thinking을 사용 중이라면, 다음 멀티턴 세션 전에 업데이트하세요.

업데이트 후 예상되는 불편 사항

Claude Code v2.1.156: Opus 4.8 Thinking Block Hotfix Explained

v2.1.154–157 클러스터의 세 가지 동작 변경 사항은 다음 세션 전에 변경 로그를 읽지 않으면 당황스러울 수 있습니다.

Opus 4.8의 기본값이 간결한 시스템 프롬프트로 바뀌었습니다. 세션 시작 시 주입되던 상세 컨텍스트에 의존했던 프롬프트나 도구 설정이 있다면, v2.1.154 이상에서는 그 전제가 깨집니다 . Haiku, Sonnet, Opus 4.7 이하 버전은 여전히 상세 프롬프트를 사용하며, Opus 4.8 세션만 영향을 받습니다. 무언가 고장났다고 판단하기 전에, 주입된 컨텍스트를 참조하는 프롬프트를 먼저 점검하세요.

"workflow"라는 단어가 이제 Max, Team, Enterprise 플랜에서 Dynamic Orchestration을 자동으로 트리거합니다. Anthropic은 대규모 저장소에서 토큰 소비가 크게 급증할 수 있다고 경고합니다 . Dynamic Orchestration을 사용할 준비가 되지 않았다면, "workflow"를 무심코 언급하는 프롬프트를 작성하기 전에 키워드 트리거를 비활성화하세요: /config → "Workflow keyword trigger"에서 끄면 됩니다. 이 설정은 베타 기간 중 해당 자동 트리거가 함정으로 지적됨에 따라 v2.1.154에서 새로 추가된 것입니다.

Opus 4.8과 함께 Fast 모드 요금이 변경되었습니다. 표준 요금은 입력 토큰 100만 개당 $5, 출력 토큰 100만 개당 $25입니다 . Fast 모드는 약 2.5배 빠른 속도로 입력 100만 개당 $10, 출력 100만 개당 $50이 적용됩니다 . Anthropic은 Fast 모드가 이전 Fast 모드 티어 대비 단위당 3배 저렴하다고 설명하지만 , 표준 입력 요금의 두 배인 것은 변함없습니다. 지연 시간이 중요하지 않은 장시간 에이전트 세션에서는 표준 모드가 비용 효율적인 기본 선택입니다.

Pro 플랜 사용자: Dynamic Orchestration은 Pro에서 사용할 수 없습니다. 프롬프트에 "workflow"를 포함해도 오케스트레이션이 트리거되지 않고 오류도 발생하지 않으며, 해당 단어는 일반 텍스트로 처리됩니다. 오케스트레이션 동작을 기대했는데 아무 일도 일어나지 않는다면, 버그 리포트를 제출하기 전에 플랜 등급을 확인하세요. Pro에서의 침묵은 세션 오류가 아닌 공식 문서에 명시된 동작입니다.

Dynamic Orchestration과 플러그인 개편: 살펴볼 기능들

Claude Code v2.1.156: Opus 4.8 Thinking Block Hotfix Explained

v2.1.156에서 Opus 4.8의 확장 사고(extended thinking)가 안정화된 만큼, 이번 클러스터의 두 가지 주요 기능은 직접 파일럿해볼 만합니다: Dynamic Orchestration(v2.1.154)과 플러그인 자동 로드 시스템(v2.1.157)입니다.

Dynamic Orchestration: 프롬프트에 "workflow"를 포함하거나, /workflows로 직접 이동해 실행을 시작하세요. Claude가 JavaScript 오케스트레이션 스크립트를 작성하고 백그라운드 서브에이전트를 분산 실행합니다 — 세션당 최대 1,000개로 제한됩니다 . 실행 중인 에이전트는 claude agents(단축키: ←←)에서 실시간으로 모니터링할 수 있습니다. 실행 상태는 /workflows에서 확인 가능합니다. Anthropic은 저장소 전체에 워크플로우를 적용하기 전에 단일하고 범위가 한정된 모듈에서 먼저 파일럿할 것을 명시적으로 권장합니다 — 서브에이전트 분산이 시작되면 토큰 소비가 직관보다 빠르게 증가하기 때문입니다 . 서브에이전트별 오버헤드 비용은 일반적인 소비 경고 수준을 넘어선 수치가 아직 공개되지 않았습니다.

플러그인 자동 로드(v2.1.157): 스킬 파일을 .claude/skills/에 넣기만 하면 자동으로 로드됩니다 — 마켓플레이스 등록이나 재시작이 필요 없습니다. 스킬은 프론트매터에 disallowed-tools를 선언해 해당 스킬 실행 중 사용 가능한 모델 도구를 제한할 수 있습니다. 새 플러그인 스캐폴딩은 다음 명령으로 생성하세요:

claude plugin init my-plugin-name

이 명령은 스캐폴드를 .claude/skills/에 직접 생성합니다. 명시적 활성화가 필요한 경우 plugin.json에서 defaultEnabled: false로 설정하고, /plugin 또는 claude plugin enable my-plugin-name으로 활성화하세요. 재시작 없이 세션 중간에 재검색하려면 /reload-skills를 실행하세요.

Opus 4.8 벤치마크 참고 (Anthropic 공식 출시 발표 기준 — 2026년 5월 31일 현재 독립적인 제3자 검증은 아직 제한적입니다):

벤치마크 Opus 4.8 결과 비고
Online-Mind2Web (브라우저 자동화) 84% Opus 4.7, GPT-5.5 초과; 2026년 5월
Legal Agent Benchmark (전 항목 통과) 최초로 10% 초과 기준선을 처음으로 넘긴 모델; 2026년 5월
Opus 4.7 대비 코드 리뷰 결함 탐지율 결함 누락 약 4배 감소 Anthropic 제공 수치; 2026-05-31 기준 제3자 검증 희소

자주 묻는 질문

v2.1.154에서 도입된 thinking block 버그란 무엇인가요?

확장 사고(extended thinking)가 활성화된 Opus 4.8 세션에서 재시도 또는 멀티턴 시퀀스 도중 thinking block이 변형되는 문제였습니다 — 주로 제거되거나 압축되는 방식으로요. Anthropic API는 서명된 thinking block을 바이트 단위로 그대로 재전송할 것을 요구하며, 조금이라도 수정되면 HTTP 400 오류로 거부됩니다. 변형은 N번째 턴에서 발생했지만 오류는 N+1번째 턴에서 표면화되었기 때문에, 세션이 명확한 원인 없이 충돌하는 것처럼 보였습니다. v2.1.156은 클라이언트의 재전송 및 압축 로직에서 이 특정 변형 경로를 패치합니다. 자세한 내용은 v2.1.156 릴리즈 노트를 참고하세요.

Opus 4.8을 사용하지 않는다면 v2.1.156이 필요한가요?

아닙니다. 이 버그는 확장 사고가 활성화된 Opus 4.8 세션에만 한정된 문제였습니다. Opus 4.7, 모든 Sonnet 변형, Haiku는 영향을 받지 않았습니다. 구형 모델을 사용 중이거나 확장 사고를 비활성화한 상태라면, 이 핫픽스만을 위해 긴급하게 업데이트할 이유는 없습니다 — 다만 v2.1.154–157 클러스터의 전반적인 변경 사항을 포함하기 위해 @latest를 유지하는 것은 일반적으로 권장됩니다.

업데이트 후 확장 사고가 정상적으로 작동하는지 확인하는 방법은?

claude --version을 실행해 v2.1.156 이상인지 확인하세요. 새 Opus 4.8 세션을 열고 /effort high를 실행해 확장 사고를 활성화한 뒤, 최소 두 턴을 연속으로 전송하세요. 두 번째 턴이 핵심 테스트입니다 — 핫픽스 이전에는 바로 이 지점에서 손상된 페이로드가 API에 의해 거부되었습니다. 세션 로그에 HTTP 400 오류가 없다면 수정이 적용된 것입니다.

Dynamic Orchestration을 지원하는 구독 플랜은 무엇인가요?

Max, Team, Enterprise 플랜에서만 사용 가능합니다. Pro 플랜 사용자는 Dynamic Orchestration에 접근할 수 없습니다. Pro에서는 프롬프트에 "workflow"를 포함해도 오케스트레이션이 트리거되지 않으며 오류도 발생하지 않습니다 — 해당 단어는 아무런 부작용 없이 일반 텍스트로 처리될 뿐입니다. "workflow" 키워드 사용 후 오케스트레이션 동작이 보이지 않는다면, 세션 버그를 의심하기 전에 플랜 등급을 먼저 확인하세요.

Opus 4.8 표준 모드와 빠른 모드의 비용 차이는?

표준 가격은 입력 토큰 100만 개당 $5, 출력 토큰 100만 개당 $25입니다. 빠른 모드는 약 2.5배 속도로 입력 100만 개당 $10, 출력 100만 개당 $50입니다. Anthropic은 빠른 모드가 이전 빠른 모드 가격 체계보다 단위당 3배 저렴하다고 설명하지만, 여전히 표준 입력 요금의 두 배입니다. 지연 시간이 병목이 아닌 비용 민감 에이전틱 세션에서는 표준 모드가 더 나은 기본 선택입니다. 전체 가격 정보는 Anthropic의 Opus 4.8 릴리즈 페이지를 참고하세요.

다음 단계

당장 해야 할 작업은 간단합니다: npm install -g @anthropic-ai/claude-code@latest를 실행하고, 버전이 v2.1.156 이상인지 확인한 뒤, 활성화된 멀티턴 Opus 4.8 세션을 재시작하세요. 이것으로 thinking block 손상 문제가 완전히 해소됩니다.

핫픽스 외에도 직접 시험해볼 만한 기능이 두 가지 있습니다: Dynamic Orchestration과 플러그인 자동 로드 시스템입니다. Orchestration은 전체 코드베이스가 아닌 단일하고 범위가 명확한 작업부터 시작해, 범위를 확장하기 전에 세션 로그에서 토큰 소비량을 확인하세요. 서브에이전트 1,000개 상한은 문서화되어 있지만, 한계 도달 시 어떻게 적용되는지(강제 중단 vs. 대기열 처리)는 아직 공개적으로 명시되지 않았습니다. 플러그인 시스템의 경우, .claude/skills/에 스킬 파일을 넣고 /reload-skills를 실행하는 것은 부담이 없으며, 로컬 도구를 만들어왔다면 즉시 유용하게 활용할 수 있습니다. 전체 릴리즈 내용은 GitHub ReleasesCHANGELOG에서 확인하세요.

최종 업데이트: 2026-05-31. 현재 안정 핫픽스인 Claude Code v2.1.156 기준이며, v2.1.154–v2.1.157 릴리즈 클러스터를 바탕으로 작성되었습니다. 벤치마크 수치는 Anthropic의 Opus 4.8 발표 자료에서 인용했으며, 코드 리뷰 관련 주장에 대한 독립적인 제3자 검증은 이 글 작성 시점을 기준으로 아직 진행 중입니다.