Bắt Đầu
Cài Đặt & Khởi Chạy
npm install -g @anthropic-ai/claude-code claude # bắt đầu phiên tương tác claude --version # kiểm tra phiên bản claude update # cập nhật lên mới nhất
Xác Thực
claude login # xác thực qua trình duyệt OAuth export ANTHROPIC_API_KEY="sk-ant-..." claude logout # xóa phiên đăng nhập
Slash Commands
Lệnh Phiên Làm Việc
/helpHiển thị các lệnh có sẵn
/clearXóa lịch sử hội thoại
/compactNén ngữ cảnh để tiết kiệm token
/costXem mức sử dụng token và chi phí
/statusXem thông tin phiên và model
/newBắt đầu hội thoại mới
/configMở hoặc xem cấu hình
/doctorChẩn đoán sự cố cấu hình
/initTạo CLAUDE.md cho dự án
/loginXác thực với Anthropic
/logoutXóa xác thực
Lệnh Workflow
/bugBáo cáo lỗi
/reviewYêu cầu code review
/prTạo hoặc cập nhật pull request
/commitCommit các thay đổi đã staged kèm message
Phím Tắt
Ctrl+CHủy generation hiện tại
Ctrl+DThoát Claude Code (EOF)
EscapeHủy input/chỉnh sửa hiện tại
TabTự động hoàn thành đường dẫn và lệnh
Up/DownĐiều hướng lịch sử input
CLI Flags
Flag Thường Dùng
-p, --printChế độ không tương tác (headless)
--modelĐặt model: opus, sonnet, haiku
--output-formatĐầu ra dạng text, json, stream-json
--allowedToolsGiới hạn tool: Edit,Read,Bash
--max-turns NGiới hạn số lượt hội thoại
--debugBật debug logging
-n, --nameĐặt tên phiên làm việc
Headless / Scripting
claude -p "explain this error" < log.txt claude -p "list todos" --output-format json echo "fix typos" | claude -p
File Cấu Hình
Phân Cấp CLAUDE.md
./CLAUDE.mdHướng dẫn cấp dự án (được commit vào repo)
./.claude/settings.jsonCài đặt dự án (quyền, hook)
~/.claude/CLAUDE.mdHướng dẫn toàn cục người dùng (tất cả dự án)
~/.claude/settings.jsonCài đặt toàn cục người dùng
~/.claude/projects/*/CLAUDE.mdHướng dẫn người dùng theo dự án (không trong repo)
Biến Môi Trường
ANTHROPIC_API_KEYAPI key để xác thực trực tiếp
CLAUDE_MODELGhi đè model mặc định
CLAUDE_CONFIG_DIRĐường dẫn thư mục cấu hình tùy chỉnh
Quyền
settings.json
{ "permissions": { "allow": ["Read", "Glob", "Grep"], "deny": ["Bash(rm *)"] } }
Chế Độ Quyền
defaultHỏi trước khi dùng tool rủi ro
--dangerously-skip-permissionsCho phép tất cả tool (chỉ dùng CI/script)
--allowedToolsFlag CLI để giới hạn bộ tool
MCP Servers
MCP Server Là Gì?
Model Context Protocol server mở rộng Claude Code với tool tùy chỉnh — database, API, dịch vụ. Quản lý qua CLI hoặc `.mcp.json`.
Quản Lý CLI
claude mcp add server-name -- cmd arg1 arg2 claude mcp list claude mcp remove server-name
Cấu Hình .mcp.json
{ "mcpServers": { "my-db": { "command": "python", "args": ["-m", "mcp_server_db"], "env": { "DB_URL": "${DATABASE_URL}" } } } }
Phạm Vi
.mcp.jsonMCP server cấp dự án
~/.claude/mcp.jsonMCP server toàn cục người dùng
claude mcp add -s userThêm vào phạm vi người dùng
claude mcp add -s projectThêm vào phạm vi dự án
Hooks
Sự Kiện Hook
PreToolUseChạy trước khi tool được thực thi
PostToolUseChạy sau khi tool hoàn thành
NotificationChạy khi Claude gửi thông báo
StopChạy khi Claude hoàn thành response
Ví Dụ settings.json
{ "hooks": { "PreToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "check-command.sh $INPUT" }] }] } }
Hành Vi Hook
exit 0Cho phép tool tiếp tục
exit 2Chặn tool không cho chạy
stdoutJSON phản hồi cho Claude
SDK & Tự Động Hóa
Scripting Headless
# Prompt đơn, nhận đầu ra JSON claude -p "summarize main.py" \ --output-format json # Pipe input git diff | claude -p "review this diff"
CI / GitHub Actions
- uses: anthropics/claude-code-action@v1 with: claude_args: > --max-turns 5 --model claude-sonnet-4-6
Mẹo
Dùng `--max-turns` để giới hạn chi phí trong automation. Dùng `--output-format json` để phân tích kết quả theo chương trình. Kết hợp với `--allowedTools` để đảm bảo an toàn.
Models
Chọn Model
claude --model opus # mạnh nhất claude --model sonnet # cân bằng (mặc định) claude --model haiku # nhanh nhất, rẻ nhất
Phím Tắt Model
opusClaude Opus — khả năng cao nhất
sonnetClaude Sonnet — mặc định, cân bằng
haikuClaude Haiku — nhanh và tiết kiệm
--model full-namevd: claude-sonnet-4-6
Best Practices
Viết CLAUDE.md
Đặt quy ước dự án, tech stack, lệnh build, và hướng dẫn test vào CLAUDE.md. Giữ ngắn gọn — Claude đọc mỗi phiên. Dùng `/init` để tạo khung.
Quản Lý Chi Phí
/costKiểm tra mức sử dụng token đang chạy
/compactNén ngữ cảnh khi quá lớn
--max-turnsGiới hạn lượt trong automation
sonnet / haikuDùng model rẻ hơn cho tác vụ đơn giản
Đặt Prompt Hiệu Quả
Cụ thể"Fix the null check in auth.ts:42" > "fix bug"
Cung cấp ngữ cảnhTham chiếu file, hàm, thông báo lỗi
Dùng @fileTham chiếu file trực tiếp: @src/main.ts
Dùng ảnhKéo thả screenshot để cung cấp ngữ cảnh
Lặp lạiTiếp tục để tinh chỉnh; dùng /clear để reset