TL;DR

Claude Code CLI 2.1.117 là bản maintenance ra cách 2.1.116 khoảng 28 giờ (22/04/2026). Không feature flashy, nhưng đụng đúng 3 pain point lớn: Opus 4.7 bị tính context sai thành 200K thay vì 1M native, OAuth session chết giữa chừng khi token hết hạn, và search chậm do round-trip qua Glob/Grep. Kèm theo 4 env var mới (API_FORCE_IDLE_TIMEOUT, CLAUDE_CODE_FORK_SUBAGENT, CLAUDE_CODE_RATE_LIMIT_TIER, CLAUDE_CODE_SUBSCRIPTION_TYPE) hé lộ hướng đi: resilience cho session dài, subagent context isolation, và billing-aware quota.

What's new

Anthropic đẩy cadence release rất nhanh — chỉ trong tuần đã đi từ 2.1.113 → 2.1.114 → 2.1.116 → 2.1.117 (skip 115). Mỗi bản gom vài chục thay đổi nhỏ thay vì dồn thành major release. 2.1.117 tiếp tục pattern đó, nhưng lần này focus rõ vào việc làm Opus 4.7 chạy đúnggỡ các OAuth edge case đã tồn tại nhiều bản.

Ba nhóm thay đổi nổi bật:

  • Opus 4.7 tracking: fix inflated /context percentage (tính theo 1M native thay vì 200K cũ), fix Bedrock application-inference-profile trả 400 khi thinking disabled, fix subagents chạy model khác main agent bị flag malware warning sai.
  • Network & session resilience: OAuth reactive refresh trên 401, WebFetch không hang trên HTML lớn nữa (truncate trước khi convert), proxy HTTP 204 báo error rõ thay vì TypeError, NO_PROXY được respect dưới Bun, /login hoạt động khi khởi chạy với CLAUDE_CODE_OAUTH_TOKEN env var đã hết hạn.
  • Performance: native builds macOS/Linux dùng bfs + ugrep embedded thay Glob/Grep tool qua Bash, concurrent MCP connect mặc định, Windows cached where.exe per-process.

Why it matters

Bug Opus 4.7 context là thứ ảnh hưởng trực tiếp tới trải nghiệm hằng ngày: Claude Code đang tính phần trăm context window theo chuẩn cũ 200K, trong khi Opus 4.7 có native 1M. Hệ quả: autocompact chạy quá sớm, CLI cắt context khi user mới dùng ~20% dung lượng thật, vừa đốt token vừa mất văn cảnh hữu ích. Ai đã ép Opus 4.7 1M test suốt vài tuần qua sẽ thấy bản này giải thoát.

Fix OAuth là thứ đáng nâng cấp thứ hai. Plain-CLI session trước đó chết với thông báo "Please run /login" mỗi khi access token hết hạn giữa chừng — đặc biệt khó chịu khi đang chạy long agent loop. Giờ token refresh reactive trên 401, session không bị cắt. Kết hợp với env var mới API_FORCE_IDLE_TIMEOUT, Anthropic đang trả lời dứt khoát vấn đề "Stream idle timeout - partial response received" đã tồn tại nhiều patch.

Technical facts

Thay đổi CLI surface đo được (reverse-engineering từ bundle diff):

Metric2.1.1162.1.117Delta
Total env vars557560+3 net
Bundle sizebaseline+64 KB+0.2%
Prompt tokensbaselineunchanged0.0%
Time since prev1d 4h 1m

Env var mới:

  • API_FORCE_IDLE_TIMEOUT — ép timeout idle cho API stream, giải quyết stream idle timeout trên session dài.
  • CLAUDE_CODE_FORK_SUBAGENT — bật fork subagent (context isolation giữa main agent và worker). External builds dùng CLAUDE_CODE_FORK_SUBAGENT=1 để opt-in.
  • CLAUDE_CODE_RATE_LIMIT_TIER — chỉ định tier rate limit (Pro / Max 5x / Max 20x).
  • CLAUDE_CODE_SUBSCRIPTION_TYPE — phân loại subscription, bổ trợ rate limit tier.

Removed: EMBEDDED_SEARCH_TOOLS (flag cũ, đã thay bằng native bfs/ugrep trên native builds).

Fix quan trọng khác: SDK reload_plugins giờ reconnect user MCP servers concurrent thay vì serial; MCP elicitation/create không còn auto-cancel trong print/SDK mode; prompt-input undo (Ctrl+_) hoạt động ngay sau khi type; idle re-render loop được tắt khi có background tasks → giảm memory growth trên Linux; retention sweep cleanupPeriodDays giờ cover thêm ~/.claude/tasks/, ~/.claude/shell-snapshots/, ~/.claude/backups/.

Comparison

So với 2.1.116 — bản đó ghi dấu large session resume nhanh 67% trên session 40MB+, fullscreen scrolling, thinking spinner inline progress, plugin auto-update deps. 2.1.117 tiếp tục hướng ổn định nhưng pivot sang subagent tooling và Opus 4.7 integration.

So với 2.1.114 / 2.1.113: các bản trước đó nghiêng về crash fix, sandbox network blocking, native binary spawn qua optional per-platform dependency. 2.1.117 là bản đầu tiên gom gọn cluster bug Opus 4.7 — indicator rõ rằng Opus 4.7 usage đã đủ lớn để surface một nhóm bug riêng.

Use cases

  • Dev dùng Opus 4.7 1M: upgrade ngay. Bug context accounting đốt token và cắt context vô ích.
  • Team chạy agent behind corporate proxy: fix HTTP 204, NO_PROXY dưới Bun, OAuth refresh — gỡ đúng pain point enterprise.
  • Bedrock users với Opus 4.7 thinking disabled: direct fix cho 400, không cần workaround.
  • macOS/Linux native users: search nhanh hơn tức thì qua bfs/ugrep embedded, không cần cài rg/fd ngoài.
  • Parallel code review workflow: bật CLAUDE_CODE_FORK_SUBAGENT=1 để tách context exploration vs implementation → giảm drift.
  • Max 20x subscribers gặp rate-limit sớm: set CLAUDE_CODE_RATE_LIMIT_TIER + CLAUDE_CODE_SUBSCRIPTION_TYPE khớp plan để CLI phân bổ quota chính xác.

Limitations & pricing

Không thay đổi pricing: Pro $20/mo, Max 5x $100/mo, Max 20x $200/mo giữ nguyên. Tuy nhiên default effort trên Opus 4.6 + Sonnet 4.6 đã đổi từ medium lên high cho Pro/Max subscribers — output sâu hơn, nhưng đốt quota nhanh hơn, nên theo dõi usage kỹ.

Native search binary chỉ áp dụng cho native builds macOS/Linux — Windows và npm-installed builds không đổi. Forked subagents trên external builds cần opt-in qua env var. Advisor Tool vẫn experimental (có label rõ trong dialog). Prompt tokens không đổi → behaviour LLM không bị thay đổi, chỉ CLI wrapper.

What's next

Pattern gần đây cho thấy Anthropic sẽ tiếp tục release maintenance dày đặc. Dự đoán bản kế tiếp: doc chính thức cho CLAUDE_CODE_FORK_SUBAGENT (hiện chỉ có trong CLI surface reverse-engineered), khả năng expose rõ subagent chạy model khác main agent như feature chính (vì fix cho malware warning cluster này đã nằm trong 2.1.117), và thêm knob cho 1M context accounting của Opus 4.7 ở nhánh Bedrock/Vertex.

Nguồn: Claude Code CHANGELOG, @ClaudeCodeLog tweet, Claude Code env vars docs.