- Bản 2.1.118 phát hành 23/04/2026 vừa bổ sung vim visual mode, DISABLE_UPDATES env var chặt hơn DISABLE_AUTOUPDATER, hợp nhất /cost và /stats thành /usage, vừa chạy đợt quét bug lớn tập trung vào MCP OAuth, /fork, hooks và credential storage.
TL;DR
Claude Code CLI 2.1.118 ra mắt 23/04/2026. Bản này vừa thêm vim visual mode (v/V), DISABLE_UPDATES env var chặt hơn DISABLE_AUTOUPDATER, hợp nhất /cost + /stats thành /usage, thêm custom themes và MCP tool hooks — vừa chạy một đợt quét bug dày đặc, chủ yếu quanh MCP OAuth, /fork, credential storage và hooks. Đây là một trong những bản 2.1.x có nhiều fix nhất, hưởng lợi lớn cho ai dùng nhiều MCP server đồng thời.
What's new
- Vim visual mode — thêm
v(visual) vàV(visual-line) với selection, operators (y/d/c) và visual feedback. Bổ sung mảnh ghép còn thiếu sau normal + insert mode. - DISABLE_UPDATES env var — chặn toàn bộ update paths bao gồm cả
claude updatechạy tay. Chặt hơnDISABLE_AUTOUPDATER(cái cũ chỉ chặn background update). /usagethay cho/costvà/stats— cả hai tên cũ còn alias như shortcut mở đúng tab, không break script.- Custom themes — tạo & switch theme tên tuỳ ý từ
/theme, hand-edit JSON ở~/.claude/themes/, plugin ship được theme qua folderthemes/. - Hooks gọi thẳng MCP tool — hỗ trợ
type: "mcp_tool", không cần wrap shell. claude plugin tag— command mới tạo release git tag cho plugin kèm version validation.- WSL inherit Windows settings — policy key
wslInheritsWindowsSettingscho Claude Code chạy trong WSL kế thừa managed settings bên Windows. - Auto mode
$defaults— thêm"$defaults"vàoautoMode.allow/soft_deny/environmentđể cộng rule custom vào built-in thay vì replace. /colorsync Remote Control — accent màu session tự sync sang claude.ai/code khi Remote Control kết nối./modelpicker — honorANTHROPIC_DEFAULT_*_MODEL_NAME/_DESCRIPTIONoverrides khi dùng customANTHROPIC_BASE_URLgateway.--continue/--resumegiờ tìm được session đã thêm thư mục hiện tại qua/add-dir.
Why it matters
Hai nhóm user hưởng lợi rõ rệt nhất:
- Enterprise / DevOps: kết hợp
DISABLE_UPDATES+wslInheritsWindowsSettingsgiúp pin version CLI trên fleet, không cho dev tự upgrade lệch pha giữa các máy — vấn đềDISABLE_AUTOUPDATERcũ không giải được vì vẫn choclaude updatetay. - MCP power user: ai kết nối GitHub / Linear / Notion / Gmail MCP song song sẽ đỡ hẳn prompt “Please run /login” bất thường, đỡ “needs authentication” sau 401 thoáng qua, và không còn re-auth mỗi giờ nếu OAuth response thiếu
expires_in.
Technical facts
Điểm nhấn kỹ thuật đáng chú ý từ danh sách fix:
- Keychain race (macOS): concurrent MCP token refresh có thể ghi đè OAuth token vừa refresh xong, gây prompt
/loginvô lý — đã fix. - OAuth cross-process lock: refresh MCP OAuth giờ giữ đúng lock dưới contention, tránh double-refresh.
- Token revoke trước expiry: refresh không còn crash khi server revoke token sớm hơn local expiry.
- Credential save: fix crash trên Linux/Windows làm corrupt
~/.claude/.credentials.json. /fork: trước đây ghi toàn bộ parent conversation lên disk cho mỗi fork — giờ chỉ ghi pointer và hydrate khi đọc. Giảm disk footprint lớn cho user fork nhiều lần.- Agent-type hooks: fail với “Messages are required for agent hooks” khi config cho event khác
Stop/SubagentStop— đã fix. - Prompt hooks: không còn re-fire trên tool call của verifier subagent thuộc agent-hook.
- Subagent resume: subagent resume qua
SendMessagegiờ khôi phục đúngcwdnguyên gốc lúc spawn. - Remote Control: session không còn bị archive vì CCR initialization blip thoáng qua khi JWT refresh.
CLAUDE_CODE_OAUTH_TOKEN: session launch với env token này thì/logintừng no-op — giờ env token bị clear để disk credentials có hiệu lực.
Comparison — DISABLE_UPDATES vs DISABLE_AUTOUPDATER
| Env var | Chặn auto-update nền | Chặn claude update tay | Use case |
|---|---|---|---|
DISABLE_AUTOUPDATER | Có | Không | Giữ version ổn định tạm thời, dev vẫn upgrade thủ công được |
DISABLE_UPDATES (mới) | Có | Có | Locked-down enterprise fleet, version do MDM/package manager quản lý |
Use cases
- Enterprise locked-down: set
DISABLE_UPDATES=1ở machine scope, update qua apt/brew/MDM có kiểm soát. - WSL + Windows domain: bật
wslInheritsWindowsSettingsđể policy bên Windows áp xuống CLI chạy trong WSL, không phải config hai nơi. - Plugin author: dùng
claude plugin tagđể bump version + tạo git tag đồng bộ, tránh lệchplugin.jsonvới git tag. - Vim editing: chỉnh prompt dài trong textarea —
Vselect cả dòng,dcắt,pdán;v+ motion cho selection nhỏ hơn. - Auto mode custom rules: thêm rule riêng mà vẫn giữ defaults, ví dụ
autoMode.allow: ["$defaults", "Bash(npm test)"].
Limitations & pricing
- Pricing: miễn phí — Claude Code CLI nằm trong plan Claude hiện tại (Pro/Max/Team); chi phí tính theo usage của model.
- Upgrade:
npm i -g @anthropic-ai/claude-code@latesthoặcpnpm add -g @anthropic-ai/claude-code@latest. Auto-update sẽ tự pull nếu chưa tắt. - Breaking: không có.
/costvà/statscòn alias. - Caveats:
DISABLE_UPDATESchặn cảclaude update— cần kênh deploy ngoài (MDM, package manager) để kiểm soát version. Visual mode mới, có thể còn edge case với wide/composed characters.
What's next
Cadence gần đây của Claude Code là xấp xỉ một bản minor mỗi ngày, với 2.1.x nghiêng về polish thay vì feature lớn. Bản 2.1.118 đóng đinh phần MCP OAuth đã gây đau đầu suốt vài tuần; nhiều khả năng track 2.1 sẽ chốt sớm để nhường chỗ cho một bản minor mới với feature lớn hơn.
Nguồn: anthropics/claude-code CHANGELOG, code.claude.com changelog, @ClaudeCodeLog trên X.