TL;DR

Claude Code 2.1.119 ship khoảng 50 thay đổi CLI, tập trung vào ba mảng: (1) /config giờ persist đúng vào ~/.claude/settings.json và tôn trọng thứ tự override project → local → policy; (2) --from-pr hết bị khoá ở github.com — đã chấp nhận URL của GitLab, Bitbucket, GitHub Enterprise; (3) hooks PostToolUse nhận thêm trường duration_ms, mở đường cho dashboard latency. Không có model mới, không breaking change, chỉ thuần polish + fix bug.

Có gì mới

Đây là kiểu release mà Anthropic đang đẩy gần như hàng tuần trong nhánh 2.1.x — nhỏ, dày, tập trung vào trải nghiệm thực dụng. Highlights đáng chú ý:

  • /config persistence + override precedence: bug nhức nhối trước đây — đổi setting trong session không lưu đúng chỗ — đã sửa. Giờ ~/.claude/settings.json là nguồn ground truth, và precedence project → local → policy được tôn trọng.
  • --from-pr đa nền tảng: GitLab, Bitbucket, GitHub Enterprise đều OK. Một thay đổi nhỏ nhưng mở khoá toàn bộ team enterprise.
  • Hooks có duration_ms trong PostToolUsePostToolUseFailure. Cuối cùng cũng có cách đo độ trễ tool một cách nguyên thuỷ.
  • MCP reconfiguration song song: subagent và SDK MCP server kết nối lại đồng thời thay vì tuần tự — startup nhanh hơn rõ rệt với setup nhiều MCP.
  • Plugin auto-update theo version constraint: pin theo semver-like sẽ tự nhảy lên git tag thoả mãn cao nhất.
  • CLAUDE_CODE_HIDE_CWD env var: ẩn working directory ở logo khởi động — perfect cho streamer / screenshare.
  • prUrlTemplate setting: cho phép custom URL code-review thay vì hard-code github.com.

Tại sao đáng chú ý

Nhìn vào danh sách thay đổi sẽ thấy một định hướng rõ: Anthropic đang gia cố Claude Code cho môi trường enterprise — nơi GitHub.com không phải lựa chọn mặc định. Hỗ trợ GitLab/Bitbucket/GHE trong --from-pr, prUrlTemplate để link review về nội bộ, blockedMarketplaces tôn trọng hostPattern/pathPattern đúng — tất cả đều là tín hiệu cho compliance team.

Ngoài ra, duration_ms trong hooks là chi tiết nhỏ nhưng quan trọng. Trước đây muốn đo tool latency phải tự bọc Bash, log timestamp, parse lại. Giờ chỉ cần đọc trường JSON. Cộng thêm OpenTelemetry events tool_result/tool_decision đính kèm tool_use_id, bạn có thể tracing toàn bộ chu trình tool call gắn vào hệ thống APM của org.

Chi tiết kỹ thuật

Hạng mụcTrước 2.1.119Sau 2.1.119
/config persistenceKhông nhất quán, setting có thể mất sau restartLưu đúng ~/.claude/settings.json, theo project/local/policy precedence
--from-prChỉ github.comGitLab + Bitbucket + GitHub Enterprise
Hooks PostToolUseKhông có thông tin latencyduration_ms
MCP reconfigTuần tựSong song
Plugin pinPin = đứng yênPin theo version constraint = auto-update tới tag thoả mãn cao nhất
Tool search trên Vertex AIBật mặc địnhTắt mặc định, opt-in qua ENABLE_TOOL_SEARCH

Flag & mode mới đáng nhớ

  • --print nay tôn trọng frontmatter tools:disallowedTools: của agent.
  • --agent <name> tôn trọng permissionMode của agent định nghĩa cho built-in agent.
  • Lệnh PowerShell có thể auto-approve trong permission mode.
  • Status-line stdin JSON nay có effort.levelthinking.enabled.

So với 2.1.118 và 2.1.117

2.1.118 là release nặng feature: vim visual mode, gộp /cost+/stats thành /usage, custom theme từ /theme, hooks gọi MCP tool trực tiếp qua type: "mcp_tool", env DISABLE_UPDATES, WSL kế thừa managed settings từ Windows, nút "Don't ask again" cho auto mode.

2.1.117 mang forked subagent (bật bằng CLAUDE_CODE_FORK_SUBAGENT=1), agent frontmatter mcpServers chạy ở main thread, /model persist qua restart bất chấp project pin, native macOS/Linux build thay Glob/Grep bằng embedded bfsugrep, default effort cho Pro/Max trên Opus/Sonnet 4.6 lên high.

So với hai bản trước, 2.1.119 thuần fix + DX polish + enterprise compat. Không có command mới, không model mới. Đây là kiểu release "hạ tầng" — không sexy nhưng cần thiết cho production.

Ai hưởng lợi nhất

  • Team enterprise dùng GitLab/Bitbucket/GHE: --from-pr cuối cùng cũng work với PR nội bộ.
  • Plugin author + power user: pin theo constraint giờ thực sự có ý nghĩa, MCP server từ plugin spawn được trên Windows.
  • Hook author đo observability: duration_ms + OTel tool_use_id = build dashboard tool latency cực gọn.
  • MCP heavy user: parallel reconfiguration, fix ${ENV_VAR} trong header, fix client_secret không gửi khi exchange token.
  • Vim user: Esc trong INSERT không còn kéo message queued ngược về input.
  • Screensharer / streamer: CLAUDE_CODE_HIDE_CWD giấu cwd ở logo.
  • Worktree workflow: bug Agent tool với isolation: "worktree" reuse worktree cũ đã sửa.

Giới hạn & pricing

Không thay đổi giá. Tất cả plan Pro/Max/Team/Enterprise/API đều nhận. Lưu ý nhỏ: trên Vertex AI, tool search giờ tắt mặc định — phải opt-in bằng ENABLE_TOOL_SEARCH nếu muốn giữ hành vi cũ. Native build cho macOS/Linux (xuất hiện từ 2.1.113) tiếp tục là path mặc định; npm path còn nhưng đã được đánh deprecated từ trước.

Trông đợi gì tiếp theo

Nhánh 2.1.x đã vượt mốc 100+ patch — cadence gần như tuần. Trend rõ ba bản gần đây: gia cố enterprise compat (GitLab/Bitbucket/Enterprise URL, prUrlTemplate, blockedMarketplaces), siết MCP/OAuth (refresh, header substitution, parallel reconfig), thêm observability (duration_ms, OTel tool_use_id, effort.level/thinking.enabled trong status-line). Khả năng cao bản kế tiếp tiếp tục theo trục này — đặc biệt là MCP OAuth hardening và Windows parity.

Nguồn: anthropics/claude-code CHANGELOG, Claude Code Docs, @ClaudeCodeLog.