
Claude Code v2.1.211|Bedrock/Vertex의 캐시 과금 버그 수정|데일리 Changelog 해설
요약
Claude Code v2.1.211 업데이트를 통해 Bedrock 및 Vertex AI 사용 시 발생하던 프롬프트 캐시 과금 오류를 수정했습니다. 또한 서브 에이전트의 출력을 stream-json으로 확인할 수 있는 새로운 플래그가 추가되었습니다.
핵심 포인트
- Bedrock/Vertex 환경에서 시스템 컨텍스트 끝부분이 중복 과금되던 버그 수정
- --forward-subagent-text 플래그로 서브 에이전트의 본문 및 thinking 출력 지원
- PreToolUse hook의 ask가 auto mode보다 우선하도록 동작 변경
- 권한 프리뷰의 Unicode 위조 방지 및 환경 변수 숫자 표기법 개선
v2.1.211에서 가장 효과적인 것은 Bedrock, Vertex, Mantle, Foundry에서 프롬프트 캐시 (Prompt Cache)가 작동하지 않아, 시스템 컨텍스트 (System Context)의 끝부분이 매 요청마다 새로운 입력 토큰 (Input Token)으로 과금되던 결함을 수정한 것입니다. 게이트웨이를 통해 대화를 거듭할수록 불필요한 입력 토큰이 청구 금액에 쌓이고 있었습니다. 신기능은 --forward-subagent-text 1건뿐이며, 눈에 띄는 점은 권한과 캐시 관련 동작 수정입니다.
Bedrock/Vertex의 캐시 과금 리그레션 (Regression) 수정
시스템 컨텍스트 끝부분을 매 요청마다 새로운 토큰으로 과금하던 문제 수정 (v2.1.211)
서브 에이전트 (Sub-agent)의 본문과 thinking을 stream-json으로 출력
새로운 플래그 --forward-subagent-text와 환경 변수 CLAUDE_CODE_FORWARD_SUBAGENT_TEXT로 활성화 (v2.1.211)
PreToolUse hook의 ask가 auto mode보다 우선하도록 변경
비 샌드박스 (Non-sandbox) Bash에서 hook이 반환한 ask가 최소한 승인 프롬프트를 보장 (v2.1.211)
「always allow」가 리포지토리 루트에 저장됨
worktree에서 부여한 허가가 세션과 worktree를 가로질러 유지됨 (v2.1.211)
chat 전송 시 권한 프리뷰의 Unicode 위조 무효화
양방향 덮어쓰기, 제로 너비(Zero-width), 유사 인용부호를 사용하더라도 툴 입력으로부터 승인 메시지의 외관을 변경할 수 없음 (v2.1.211)
정수형 환경 변수가 과학적 표기법 및 자릿수 구분자를 수용
타임아웃이나 토큰 예산을 1e6 또는 64_000과 같이 작성 가능 (v2.1.211)
Bedrock, Vertex, Mantle, Foundry에서 프롬프트 캐시 리그레션이 발생하고 있었습니다. 시스템 컨텍스트의 마지막 블록이 본래 캐시 히트 (Cache Hit)되어야 하는 상황에서도 매 요청마다 새로운 입력 토큰으로 과금되는 결함이었습니다. 요청할 때마다 캐시되어야 할 마지막 블록을 통째로 입력값으로 다시 지불하는 형태가 되어 있었습니다.
영향을 받는 것은 Anthropic API를 직접 호출하는 방식이 아니라, 이 4가지 게이트웨이/플랫폼을 경유하는 구성입니다. 긴 시스템 프롬프트나 CLAUDE.md를 쌓아둘수록 마지막 블록의 토큰 수가 그대로 불필요한 과금으로 이어졌습니다. v2.1.211에서 이 블록이 캐시 히트되도록 수정되어, 청구 금액이 본래 수준으로 돌아갑니다.
Bedrock / Vertex / Mantle / Foundry에서 최근 몇 버전을 사용해 왔다면, 캐시 히트율과 입력 토큰 과금을 한 번 검토해 볼 가치가 있습니다. v2.1.211 전후로 입력 토큰 청구액이 낮아질 것입니다.
claude -p "レビューして" --output-format stream-json --forward-subagent-text
--forward-subagent-text 플래그 또는 환경 변수 CLAUDE_CODE_FORWARD_SUBAGENT_TEXT를 설정하면, stream-json 출력에 서브 에이전트의 본문과 thinking이 포함되도록 변경되었습니다. 설정하지 않으면 서브 에이전트의 내부 내용은 stream에 나오지 않습니다.
서브 에이전트를 구동하는 헤드리스 (Headless) 실행 시, thinking이나 중간 출력을 통째로 로그에 남길 수 있게 됩니다. stream-json을 파싱하여 자체 도구로 흘려보내는 분들을 위한 추가 기능입니다.
대상 독자: PreToolUse hook을 통해 Bash 실행을 게이트(Gate)하면서, auto (자동 승인) 모드도 병용하고 있는 분.
auto mode가 비 샌드박스 Bash에 대해 PreToolUse hook의 ask 판정을 덮어써 버리는 결함이 있었습니다. hook 측에서 "이것은 인간에게 확인시켜야 한다"라고 ask를 반환하더라도, auto mode가 이를 삼켜버리고 자동 승인해 버렸습니다.
v2.1.211에서는 hook의 ask가 판정의 하한선이 됩니다. auto mode에서도 hook이 ask를 반환한 커맨드는 최소한 승인 프롬프트가 나타납니다. 위험한 커맨드를 hook으로 게이트하고 있는 구성이라면, auto mode 중의 자동 승인으로 인한 누락이 없어집니다.
| 버전 | 카테고리 | 변경 사항 | 개요 |
|---|---|---|---|
| v2.1.211 | 개선 | 백그라운드 에이전트 (Background Agent) 결과 보고 | 실행 중인 에이전트의 상태를 보고하며, 결과를 날조하지 않고 실제 완료를 기다리도록 수정 |
| v2.1.211 | 수정 | /clear의 비용 카운터 (Cost Counter) | /clear 이후 statusline의 비용이 $0부터 다시 시작되는 문제 수정 |
| v2.1.211 | 수정 | 서브 에이전트 (Sub-agent)의 모델 오버라이드 (Model Override) | resume 또는 follow-up 시 부모 모델로 돌아가던 현상 수정 |
| v2.1.211 | 수정 | 병렬 세션의 일괄 로그아웃 | 인증 정보를 공유하는 여러 세션이 sleep 복귀 후 동시에 로그아웃되는 문제 수정 |
| v2.1.211 | 수정 | Vertex/Bedrock의 기동 시 알림 | 모델을 명시했을 때 기본값인 Opus를 시도하며 잘못된 fallback 알림을 출력하던 문제 수정 |
| v2.1.211 | 수정 | plugin MCP 서버의 재연결 | idle 상태인 web 세션 복귀 후 재연결되지 않아 MCP 호출이 실패하는 문제 수정 |
| v2.1.211 | 수정 | 중첩된 .claude/rules/*.md | project settings에서 제외했음에도 로드되던 문제 수정 |
| v2.1.211 | 변경 | Vim mode s / S | NORMAL 모드에서 substitute char/line이 작동하도록 변경 |
v2.1.211은 신규 기능 1건에 대해 수정 및 변경 사항이 30건이 넘는, 기반을 다지는 릴리스입니다. 캐시 과금 수정은 게이트웨이 이용자의 청구에 직접적인 영향을 미치며, hook의 ask 존중은 권한 설계의 전제를 하나 공고히 합니다. Bedrock/Vertex 구성이라면, 업데이트 후 입력 토큰(Input Token) 청구를 한 번 확인하면 차이를 알 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기