Claude Code가 사용량을 빠르게 소진하는 7가지 버그 — Extra Usage 전환 시 캐시 TTL이 5분으로 강등되는 최악의 버그 포함
I reverse-engineered why Claude Code burns through your usage so fast. 7 bugs that stack on top of each other — and the worst one activates when Extra Usage kicks in
TL;DR Highlight
Claude Code CLI의 7가지 버그는 Extra Usage 전환으로 캐시 TTL을 1시간에서 5분으로 강등해 사용 비용을 2.8배 폭등시킨다.
Who Should Read
Claude Code CLI를 사용하는 개발자, 특히 Max 플랜이나 Extra Usage를 쓰는 구독자. 최근 사용량이 평소보다 빠르게 소진된다고 느끼는 사람에게 필독.
Core Mechanics
- 가장 심각한 버그: cli.js 내부 함수가 Extra Usage 상태를 감지하면 서버에 요청하는 캐시 TTL을 1시간에서 5분으로 자동 강등시킨다. 5분 이상 쉬면 220K 컨텍스트 기준 턴당 비용이 $0.22에서 $0.61로 2.8배 오른다.
- 이 강등은 클라이언트 측에서만 일어난다. 서버는 1시간 TTL 요청을 정상적으로 수락하며, cli.js의 해당 함수를 항상 true를 반환하도록 한 줄 패치하면 서버가 1시간을 준다.
- '죽음의 나선' 구조: 다른 버그들이 플랜 사용량을 빠르게 소진 → Extra Usage 활성화 → 캐시 5분 강등 → 화장실 한 번 다녀오면 풀 리빌드 → Extra Usage 순식간에 고갈 → 5시간 리셋까지 잠금.
- 네이티브 인스톨러 바이너리는 커스텀 Bun 런타임을 포함하는데, 이 런타임이 모든 요청에서 캐시 prefix를 오염시킨다. `npm install`로 설치하면 해결되며, `file $(which claude)` 결과가 ELF 바이너리가 아닌 symlink여야 정상이다.
- v2.1.69~v2.1.90 사이(28일, 20개 버전) 세션 재개 시 특정 첨부 타입이 누락되어 매번 캐시 미스가 발생했다. v2.1.91에서 수정됨.
- Autocompact 기능에 circuit breaker가 없어 실패한 compaction이 무한 재시도됐다. 내부 소스 주석에 1,279개 세션에서 50회 이상 연속 실패한 기록이 남아있었으며, v2.1.89에서 수정됨.
- 클라이언트가 트랜스크립트가 길어지면 실제 API 호출 없이 가짜 rate limit 에러를 생성한다. 응답에 `model: synthetic`, 토큰 0이 찍힌다. 아직 미수정.
- 서버 측 compaction이 세션 중 tool result를 알림 없이 제거해 캐시를 깨뜨린다. 클라이언트에서 패치 불가. 아직 미수정.
Evidence
- WSL에서 Max 20x 플랜을 쓰는 한 사용자가 최근 사용량 소진이 눈에 띄게 빨라졌는데, 네이티브 설치에서 npm 버전으로 전환하자 소진 속도가 정상으로 돌아왔다고 직접 경험을 공유했다.
- 반론으로, 일부 Max 플랜 헤비유저는 몇 달 전과 비교해 사용량에 전혀 변화가 없다고 주장하며 '왜 모두에게 발생하지 않는가'를 물었다. 이에 대해 OP는 버그 1+3+5가 동시에 발생해야 2시간 내 주간 할당량을 소진하는 최악의 상황이 된다고 설명했다.
- 네이티브 인스톨러가 처음 나왔을 때 써보다가 문제가 생겨 npm 버전으로 돌아간 사용자가 있었는데, 그 이후 최근의 이슈들을 전혀 경험하지 않았다는 사례가 댓글에 공유됐다.
- 캐시 관련 분석 도구 링크가 댓글에 공유됐다: `https://github.com/abhiyan-maitri/claude-usage-report` — 프롬프트별 캐시 사용량을 확인할 수 있다.
- 포스트가 Claude로 작성됐다는 점에 대한 비판이 많았다. '이 서브는 봇이 봇을 위해 포스트를 올리는 곳이 됐다'는 냉소적 반응과 함께, Claude Code 팀이 Claude가 생성한 코드를 더 이상 꼼꼼히 검토하지 않기 때문에 이런 버그들이 20개 릴리즈 동안 방치됐다는 비판도 나왔다.
- Anthropic 팀이 비용을 최대한 보조해주고 있는 상황이니, 이 버그들이 수정되면 Anthropic에도 긍정적인 영향이 있을 것이라며 선의를 전제하는 시각도 있었다.
How to Apply
- 네이티브 인스톨러로 Claude Code를 설치했다면 지금 바로 npm으로 재설치하라. `file $(which claude)` 결과가 ELF 바이너리로 나오면 네이티브 버전이다. `npm install -g @anthropic-ai/claude-code`로 전환하면 캐시 prefix 오염 버그(#1)가 해결된다.
- 현재 버전이 v2.1.91 미만이라면 즉시 업데이트하라. 세션 재개 캐시 미스 버그(#2)와 Autocompact 무한 루프 버그(#3)가 각각 v2.1.91, v2.1.89에서 수정됐다.
- Extra Usage 비용 폭증이 우려된다면 cli.js의 캐시 TTL 결정 함수를 항상 1시간을 반환하도록 패치할 수 있다. 단, 업데이트 시 덮어써지므로 업데이트 후 재적용이 필요하다. GitHub issue anthropics/claude-code#43566에 기술적 세부 사항이 있다.
Code Example
# 현재 설치 방식 확인
file $(which claude)
# 결과가 'ELF 64-bit...' → 네이티브 바이너리 (버그 있음)
# 결과가 'symbolic link...' → npm 버전 (정상)
# npm으로 전환
npm install -g @anthropic-ai/claude-code
# 캐시 설정 확인
cat ~/.claude.json | grep -A5 'cachedGrowthBookFeatures'Terminology
관련 논문
로컬에서 SOTA LLM 실행하기 완전 가이드 (하드웨어부터 설정까지)
2천 달러짜리 RTX 3090 한 장부터 4만 달러짜리 RTX PRO 6000 4장 셋업까지, 로컬에서 최신 LLM을 직접 돌리는 방법을 하드웨어 선택·구성·실행 설정까지 통째로 정리한 실전 가이드다.
Manticore Search에서 ONNX 경로를 재설계해 임베딩 속도를 14배 높인 방법
Manticore Search가 기존 SentenceTransformers/Candle 백엔드를 ONNX Runtime으로 교체해 텍스트 임베딩 생성 속도를 평균 14배 향상시켰다. 별도 모델 서비스 없이 DB 내부에서 직접 임베딩을 처리하는 구조에서 INSERT 속도가 곧 임베딩 속도이기 때문에 이 개선은 실질적인 ingest 처리량 향상으로 직결된다.
Asymmetric Quantization: 97% 스토리지 절감으로 Late Interaction 검색 품질 유지하기
멀티벡터 검색 모델의 문서 벡터를 1비트 이진값으로 압축하고 쿼리 벡터만 int8로 유지하는 비대칭 양자화 기법으로, 스토리지를 97% 줄이면서 검색 품질 손실을 0.61점(NDCG@10 기준)에 그치게 만든 실제 프로덕션 적용 사례다.
Bash4LLM+ – 의존성 없는 경량 Bash LLM API 래퍼
Python이나 Node.js 없이 순수 Bash만으로 Groq 등 OpenAI 호환 LLM API를 호출할 수 있는 단일 스크립트 도구로, Termux(Android)를 포함한 모든 Unix 환경에서 동작한다.
Wayfinder Router: 로컬과 hosted LLM 간 deterministic 쿼리 라우팅 도구
프롬프트의 복잡도를 모델 호출 없이 오프라인으로 점수화해서 간단한 쿼리는 로컬 모델로, 어려운 쿼리는 유료 모델로 자동 라우팅하는 CLI 도구다. LLM 비용을 줄이면서도 응답 품질을 유지하고 싶은 개발자에게 유용하다.
Apple Neural Engine: 아키텍처, 프로그래밍, 성능 (리버스 엔지니어링 가이드)
Apple 기기에 내장된 AI 전용 칩인 ANE(Apple Neural Engine)를 리버스 엔지니어링으로 분석한 302페이지짜리 기술 문서로, Core ML 아래 숨겨진 내부 구조와 직접 접근 경로를 처음으로 공개한다.