Claude Code CLI: Tài Liệu Tham Khảo Kỹ Thuật Toàn Diện
Cập nhật ngày 12 tháng 12 năm 2025
Cập nhật tháng 12/2025: Claude Code hiện hỗ trợ quy trình kỹ thuật doanh nghiệp với khả năng chỉnh sửa đa tệp theo phương thức agentic, tích hợp giao thức MCP với hơn 300 dịch vụ bên ngoài, các subagent chuyên biệt cho tác vụ phức tạp, và hệ thống hooks để tự động hóa CI/CD. Hệ thống phân quyền cho phép kiểm soát bảo mật chi tiết. Chuyển đổi model giữa Haiku (nhanh/rẻ) và Opus (mạnh mẽ) tối ưu hóa cân bằng chi phí-hiệu suất.
Tôi đã dành nhiều tháng đẩy Claude Code đến giới hạn của nó qua các codebase sản xuất, pipeline CI/CD và triển khai doanh nghiệp. Hướng dẫn này đúc kết kinh nghiệm đó thành tài liệu tham khảo toàn diện mà tôi ước mình có khi bắt đầu. Nó bao gồm mọi thứ từ cài đặt ban đầu đến các pattern nâng cao mà hầu hết người dùng không bao giờ khám phá.
Claude Code không phải là giao diện chat tình cờ biết về lập trình. Đây là một hệ thống agentic đọc codebase của bạn, thực thi lệnh, sửa đổi tệp, quản lý quy trình git, kết nối với dịch vụ bên ngoài, và ủy thác tác vụ phức tạp cho các subagent chuyên biệt—tất cả thông qua giao diện dòng lệnh tích hợp vào cách các developer thực sự làm việc.
Sự khác biệt giữa sử dụng Claude Code một cách thông thường và sử dụng hiệu quả nằm ở việc hiểu kiến trúc của nó: hệ thống cấu hình phân cấp kiểm soát hành vi, hệ thống phân quyền quản lý các thao tác, hệ thống hook cho phép tự động hóa xác định, giao thức MCP mở rộng khả năng, và hệ thống subagent xử lý các tác vụ đa bước phức tạp. Làm chủ các hệ thống này và Claude Code trở thành bộ nhân hiệu suất. Bỏ lỡ chúng và bạn đang lãng phí phần lớn giá trị.
Hướng dẫn này giả định bạn thành thạo các công cụ dòng lệnh và muốn có bức tranh hoàn chỉnh. Mọi tính năng được tài liệu hóa với cú pháp thực tế, ví dụ cấu hình thực và các trường hợp biên khiến người dùng có kinh nghiệm cũng gặp khó. Dù bạn đang thiết lập dự án đầu tiên hay triển khai trên toàn tổ chức kỹ thuật doanh nghiệp, thông tin đều ở đây.
Cách Claude Code Hoạt Động: Mô Hình Tư Duy
Trước khi đi sâu vào các tính năng, hãy hiểu cách kiến trúc của Claude Code định hình mọi thứ bạn làm với nó. Hệ thống hoạt động theo ba lớp:
┌─────────────────────────────────────────────────────────┐
│ CÁC LỚP CLAUDE CODE │
├─────────────────────────────────────────────────────────┤
│ LỚP MỞ RỘNG │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ MCP │ │ Hooks │ │ Skills │ │ Plugins │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ Công cụ ngoài, tự động hóa xác định, chuyên môn │
│ lĩnh vực, extension đóng gói │
├─────────────────────────────────────────────────────────┤
│ LỚP ỦY THÁC │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Subagents (tối đa 10 song song) │ │
│ │ Explore | Plan | General-purpose | Custom │ │
│ └─────────────────────────────────────────────────┘ │
│ Context biệt lập cho công việc tập trung, trả về tóm tắt│
├─────────────────────────────────────────────────────────┤
│ LỚP CORE │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Context Cuộc Hội Thoại Chính │ │
│ │ Tools: Read, Edit, Bash, Glob, Grep, etc. │ │
│ └─────────────────────────────────────────────────┘ │
│ Tương tác chính của bạn; context giới hạn; tốn tiền │
└─────────────────────────────────────────────────────────┘
Lớp Core: Cuộc hội thoại chính của bạn. Mọi tin nhắn, đọc tệp và output công cụ tiêu thụ context từ cửa sổ 200K token chung (1M với premium). Khi context đầy, Claude mất dấu các quyết định trước đó và chất lượng giảm. Lớp này tốn tiền theo token.
Lớp Ủy thác: Subagent khởi chạy với context sạch, làm công việc tập trung, và trả về tóm tắt. Kết quả khám phá không làm phình cuộc hội thoại chính của bạn—chỉ kết luận được trả về. Sử dụng subagent Haiku để khám phá (rẻ, nhanh) và Sonnet để triển khai.
Lớp Mở rộng: MCP kết nối dịch vụ bên ngoài (database, GitHub, Sentry). Hooks đảm bảo thực thi lệnh shell bất kể hành vi của model. Skills mã hóa chuyên môn lĩnh vực mà Claude áp dụng tự động. Plugins đóng gói tất cả những thứ này để phân phối.
Insight quan trọng: Hầu hết người dùng làm việc hoàn toàn ở Lớp Core, nhìn context phình to và chi phí leo thang. Người dùng cao cấp đẩy khám phá và công việc chuyên biệt sang Lớp Ủy thác, giữ Lớp Mở rộng được cấu hình cho workflow của họ, và chỉ sử dụng Lớp Core để điều phối và quyết định cuối cùng.
Mục Lục
- Cài Đặt và Xác Thực
- Các Chế Độ Tương Tác Core
- Tìm Hiểu Sâu Hệ Thống Cấu Hình
- Lựa Chọn và Chuyển Đổi Model
- Hệ Thống Phân Quyền và Bảo Mật
- Hệ Thống Hooks
- MCP (Model Context Protocol)
- Subagents và Ủy Thác Tác Vụ
- Chế Độ Extended Thinking
- Kiểu Output
- Slash Commands
- Skills
- Hệ Thống Plugin
- Quản Lý Bộ Nhớ và Context
- Hình Ảnh và Input Đa Phương Thức
- Tích Hợp Git và Workflow
- Tích Hợp IDE
- Pattern Sử Dụng Nâng Cao
- Claude Code Remote
- Background Agents
- Quản Lý Chi Phí và Thanh Toán
- Tối Ưu Hóa Hiệu Suất
- Khắc Phục Sự Cố và Debug
- Triển Khai Doanh Nghiệp
- Tham Khảo Phím Tắt
- Các Thực Hành Tốt Nhất
Cài Đặt và Xác Thực
Yêu Cầu Hệ Thống
Claude Code chạy trên macOS 10.15+, Ubuntu 20.04+/Debian 10+, và Windows 10+ thông qua WSL hoặc Git Bash. Hệ thống yêu cầu tối thiểu 4 GB RAM và kết nối internet. Tương thích shell tốt nhất với Bash, Zsh, hoặc Fish.
Với Windows, cả WSL 1 và WSL 2 đều hoạt động. Git Bash cũng hoạt động nếu bạn thích Windows native. Alpine Linux và các hệ thống dựa trên musl khác yêu cầu các package bổ sung:
apk add libgcc libstdc++ ripgrep
export USE_BUILTIN_RIPGREP=0
Phương Pháp Cài Đặt
Cài đặt native (khuyến nghị)
Binary native cung cấp trải nghiệm sạch nhất không phụ thuộc Node.js:
# macOS và Linux
curl -fsSL https://claude.ai/install.sh | bash
# Homebrew alternative
brew install --cask claude-code
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
Để cài đặt phiên bản cụ thể:
# Cài đặt phiên bản cụ thể
curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
# Cài đặt latest một cách rõ ràng
curl -fsSL https://claude.ai/install.sh | bash -s latest
# Windows PowerShell - phiên bản cụ thể
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 1.0.58
Cài đặt NPM
Cho các môi trường ưu tiên npm:
npm install -g @anthropic-ai/claude-code
Không bao giờ sử dụng sudo với cài đặt npm—nó tạo ra các vấn đề phân quyền làm phức tạp mọi thứ sau đó.
Di chuyển từ cài đặt hiện có
Nếu bạn có cài đặt npm cũ hơn, di chuyển sang binary native:
claude install
Các Tùy Chọn Xác Thực
Claude Code hỗ trợ ba đường dẫn xác thực, mỗi đường có đánh đổi khác nhau:
Claude Console (thanh toán API)
Kết nối trực tiếp với API của Anthropic thông qua console.anthropic.com. Tạo tài khoản, thiết lập thanh toán, và xác thực qua CLI. Điều này cung cấp thanh toán theo sử dụng với toàn quyền truy cập API. Một workspace "Claude Code" riêng được tạo tự động—bạn không thể tạo API key cho workspace này, nhưng bạn có thể theo dõi sử dụng.
Đăng ký Claude Pro hoặc Max
Sử dụng thông tin đăng nhập tài khoản claude.ai của bạn. Đăng ký bao gồm cả giao diện web và sử dụng CLI trong một gói hàng tháng duy nhất. Điều này đơn giản hóa thanh toán cho người dùng cá nhân muốn chi phí có thể dự đoán được.
Nền tảng doanh nghiệp
AWS Bedrock, Google Vertex AI, và Microsoft Foundry mỗi cái cung cấp truy cập cấp doanh nghiệp với quan hệ thanh toán cloud hiện có:
# AWS Bedrock
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
export AWS_PROFILE=your-profile
# Google Vertex AI
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=your-project
# Microsoft Foundry
export CLAUDE_CODE_USE_FOUNDRY=1
export ANTHROPIC_FOUNDRY_RESOURCE=your-resource-name
# Tùy chọn: xác thực API key (nếu không sẽ dùng Entra ID)
export ANTHROPIC_FOUNDRY_API_KEY=your-key
Cho triển khai doanh nghiệp đằng sau proxy hoặc qua LLM gateway:
# Proxy doanh nghiệp
export HTTPS_PROXY='https://proxy.example.com:8080'
# LLM gateway (bỏ qua xác thực native)
export CLAUDE_CODE_USE_BEDROCK=1
export ANTHROPIC_BEDROCK_BASE_URL='https://your-gateway.com/bedrock'
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
Xác Minh
claude doctor
Lệnh này báo cáo loại cài đặt, phiên bản, cấu hình hệ thống, và bất kỳ vấn đề được phát hiện.
Cập Nhật
Claude Code tự động cập nhật theo mặc định, kiểm tra khi khởi động và định kỳ trong phiên làm việc. Cập nhật tải xuống ở nền và áp dụng khi khởi chạy tiếp theo.
Tắt tự động cập nhật:
export DISABLE_AUTOUPDATER=1
Hoặc trong settings.json:
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
Cập nhật thủ công:
claude update
Gỡ Cài Đặt
Cài đặt native (macOS/Linux/WSL):
rm -f ~/.local/bin/claude
rm -rf ~/.claude-code
Cài đặt native (Windows PowerShell):
Remove-Item -Path "$env:LOCALAPPDATA\Programs\claude-code" -Recurse -Force
Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\WindowsApps\claude.exe" -Force
Xóa cấu hình (xóa tất cả cài đặt):
rm -rf ~/.claude
rm ~/.claude.json
rm -rf .claude
rm -f .mcp.json
Các Chế Độ Tương Tác Core
Interactive REPL
Khởi chạy Claude Code không có đối số để vào vòng lặp read-eval-print tương tác:
cd your-project
claude
REPL duy trì context cuộc hội thoại qua các lượt. Gõ truy vấn trực tiếp, nhận phản hồi, và tiếp tục cho đến khi bạn thoát với /exit hoặc Ctrl+D.
Bắt đầu với prompt ban đầu để tập trung phiên làm việc:
claude "giải thích luồng xác thực trong dự án này"
Mẹo chuyên gia: REPL duy trì trạng thái qua các sự kiện compaction. Khi context phát triển quá lớn, Claude tự động tóm tắt cuộc hội thoại cũ hơn trong khi bảo toàn các quyết định quan trọng và đoạn code. Bạn có thể kích hoạt điều này thủ công với /compact hoặc thêm hướng dẫn tùy chỉnh về những gì cần bảo toàn.
Chế Độ Non-Interactive
Chế độ print (-p) thực thi một truy vấn duy nhất và thoát:
# Truy vấn trực tiếp
claude -p "liệt kê tất cả comment TODO trong dự án này"
# Xử lý input được pipe
cat error.log | claude -p "xác định nguyên nhân gốc của các lỗi này"
# Kết hợp với các công cụ khác
claude -p "tạo một README" > README.md
Cho output có cấu trúc phù hợp để phân tích trong script:
claude -p "đếm dòng theo loại tệp" --output-format json
Output JSON bao gồm mọi thứ bạn cần cho tự động hóa:
{
"type": "result",
"subtype": "success",
"total_cost_usd": 0.0034,
"is_error": false,
"duration_ms": 2847,
"duration_api_ms": 1923,
"num_turns": 4,
"result": "Văn bản phản hồi ở đây...",
"session_id": "abc-123-d
[Nội dung bị cắt ngắn để dịch]