Cài Node.js 18+
Tải bản LTS (≥18) từ nodejs.org. Kiểm tra bằng: node -v (cần ≥ 18.0.0).
Claude Code là CLI chính thức của Anthropic — biến Claude AI thành lập trình viên AI chạy trên terminal. Bài này hướng dẫn cài đặt, workflow và 8 tính năng nổi bật.
Định nghĩa, khác biệt với Copilot/Cursor.
6 nhóm người dùng và use case tiêu biểu.
Node.js, npm install, login, verify, CLAUDE.md.
Gather → Act → Verify, và 3 lầm tưởng phổ biến.
Default, Auto Accept, Plan Mode — đổi bằng Shift+Tab.
Vòng lặp gõ yêu cầu → review → accept → kiểm chứng.
Explore-Plan-Code-Commit, hiệu chỉnh theo quy mô, /rewind.
Context - Task - Rules: prompt là brief, không phải mệnh lệnh.
/context, /compact, /clear và bẫy auto-compact.
/init để khởi tạo, # để dạy rule, @ để tham chiếu.
File ops, bash, web, subagent, skill, plan, hook, MCP.
Đôi mắt thứ hai, anti-pattern persona, least privilege.
Chọn đúng cơ chế mở rộng + kiểm soát chi phí MCP.
Tạo PR bằng skill, --from-pr, GitHub Action.
Build feature, refactor, debug, test, review, migration.
CLAUDE.md, plan mode, hooks, allowlist, slash command.
Verify don't trust, prompt là code, giữ context, tự động hoá.
3 tình huống dễ gây rủi ro hoặc tốn tiền vô ích.
Claude Code là một agent chạy trong terminal — không phải plugin IDE. Nó là CLI (Command Line Interface) chạy độc lập, hiểu được nhiều file trong dự án, ra quyết định nhiều bước, gọi công cụ (đọc file, sửa file, chạy bash, gọi API, search web), và lặp cho đến khi hoàn thành yêu cầu của bạn. Đặc điểm agentic này khác biệt cốt lõi so với các tool AI khác.
| Tool | Bản chất | Phù hợp khi |
|---|---|---|
| GitHub Copilot | Autocomplete trong IDE | Gõ code từng dòng nhanh hơn |
| Cursor | IDE riêng có AI tích hợp | Đổi sang môi trường mới có AI sâu |
| ChatGPT / Claude chat | Chat web, copy-paste code | Hỏi đáp ngắn, học khái niệm |
| Claude Code | Agent CLI tự chạy đa bước | Refactor, migration, build feature từ A→Z, không rời terminal |
Không bắt buộc phải là developer. Người làm ops, content, phân tích cũng dùng được — miễn quen terminal cơ bản (lệnh cd, ls). Nếu hoàn toàn mới với CLI, xem Bài 1 và làm quen Claude trên web trước.
Tải bản LTS (≥18) từ nodejs.org. Kiểm tra bằng: node -v (cần ≥ 18.0.0).
Mở terminal, chạy: npm install -g @anthropic-ai/claude-code. Lệnh này cài CLI ở chế độ global, dùng được mọi nơi.
Vào thư mục dự án (cd /path/to/project), chạy claude. Lần đầu sẽ yêu cầu đăng nhập — dùng tài khoản Claude Pro/Max/Team đã có, hoặc API key Anthropic.
Chạy claude --version để xác nhận. Gõ /help trong session để xem mọi lệnh có sẵn.
Tạo file CLAUDE.md ở root dự án, viết ngắn gọn: dự án dùng gì, convention, lệnh chạy/test/deploy. Claude sẽ tự đọc mỗi phiên — giảm rất nhiều câu hỏi qua lại.
Cùng một công cụ, bốn nơi làm việc. Bạn không phải chọn một và bỏ phần còn lại.
Mặc định. Giao diện chính bằng lệnh claude, cập nhật tính năng mới sớm nhất.
VS Code / JetBrains — chạy trong sidebar, xem inline diff, không phải rời editor.
Trực quan, chọn thư mục bằng click. Hợp với người không sống trong terminal.
Chạy task trên cloud, làm việc từ xa, không phụ thuộc máy cá nhân.
cd vào thư mục dự án trước khi chạy claude. Đừng bao giờ chạy ở thư mục $HOME — Claude sẽ lấy cả ổ đĩa của bạn làm phạm vi làm việc.## Project: shop-frontend (Next.js 14 + TypeScript)## Run: pnpm dev — Test: pnpm test — Deploy: vercel## Convention: tabs 2 spaces, no default export, error boundary mọi page## Đừng sửa: /legacy, /vendor
Hiểu vòng lặp này là hiểu vì sao Claude Code khác hẳn một ô chat. Claude Code không trả lời câu hỏi — nó tự chạy vòng lặp cho đến khi task xong hoặc gặp blocker thực sự.
Chủ động dùng tool (grep, find, đọc file) để tự tìm hiểu codebase. Không đoán mò convention của bạn.
Chạy lệnh bash, sửa file, tạo file mới. Đây là bước tạo ra thay đổi thật trên ổ cứng.
Tự chạy test, đọc lỗi. Nếu fail thì quay lại bước 1 để thu thập thêm ngữ cảnh, rồi thử lại.
| Lầm tưởng | Thực tế |
|---|---|
| LLM tự động đọc toàn bộ file của project lúc khởi động. | Không có phép thuật nào cả. Nó dùng Bash, Grep, Read y hệt như con người để tìm file — nên chỉ đúng đường dẫn cho nó là tiết kiệm rất nhiều. |
| Auto-compact là tính năng thông minh giúp bộ nhớ tốt hơn. | Auto-compact là sự thoả hiệp: nó xoá chi tiết cũ để lấy chỗ. Hãy chủ động /compact hoặc /clear đúng lúc thay vì phó mặc. |
| Nhồi 5 chuyên gia vào một prompt thì code sẽ giỏi hơn. | 5 persona nhồi một chỗ chỉ làm loãng ngữ cảnh. Muốn tách việc thì tách subagent, không phải tách vai diễn. |
Nhấn Shift+Tab để xoay vòng giữa ba chế độ. Chọn đúng chế độ là cách rẻ nhất để cân bằng giữa tốc độ và an toàn.
Hỏi trước mỗi bước. Dùng cho task lạ, branch production — nơi cái giá của một sai lầm là cao.
Tự sửa file, không hỏi lại. Dùng trong sandbox hoặc dev branch. Ít gián đoạn, tốc độ cao nhất.
Read-only. Claude chỉ đọc và lập kế hoạch, không đụng file. Dùng trước mọi task trung bình đến lớn.
Gõ yêu cầu bằng tiếng Việt hoặc Anh, càng cụ thể càng tốt: "Refactor file auth.ts tách phần JWT ra module riêng, viết test unit cho từng hàm."
Với task lớn, bật Plan Mode (Shift+Tab hai lần) — Claude sẽ xuất kế hoạch trước khi sửa code. Bạn duyệt rồi mới cho phép thực thi.
Mỗi lần Claude muốn chỉnh file hay chạy lệnh, nó hỏi trước (trừ khi bạn cấu hình allowlist). Bạn bấm Y/N/E (Yes/No/Edit) để duyệt.
Chạy test/lint/build để xác nhận Claude làm đúng. Có thể yêu cầu Claude chạy hộ: "Chạy test rồi sửa lỗi nếu fail."
Yêu cầu: "Commit với message tuân theo convention dự án." — Claude sẽ stage và commit, hoặc gợi ý message cho bạn tự chạy.
EPCC là viết tắt của Explore → Plan → Code → Commit. Điểm mấu chốt gây bất ngờ với hầu hết người mới: Explore + Plan nên chiếm khoảng 50% thời gian. Đó là đầu tư, không phải lãng phí.
Để Claude đọc codebase trước. Mục tiêu: tránh việc AI phải đoán mò convention của dự án. Đây là lúc dùng Plan Mode.
Điểm căn chỉnh giữa bạn và AI. Đây là nơi sửa sai rẻ nhất — sửa một dòng trong kế hoạch rẻ hơn sửa 15 file đã viết xong.
Claude thực thi tự động theo kế hoạch đã duyệt. Có test suite thì hiệu quả nhân lên nhiều lần, vì Claude tự biết mình đúng hay sai.
Review kỹ diff rồi tạo commit có ngữ nghĩa. Không bao giờ commit thứ bạn chưa đọc.
Không phải task nào cũng cần đủ 4 pha. Áp nguyên xi EPCC cho việc sửa một typo là tự làm khổ mình.
| Quy mô task | Explore | Plan | Code | Commit |
|---|---|---|---|---|
| Tiny — sửa typo, đổi tên biến | Bỏ qua | Bỏ qua | Code thẳng | Nhanh |
| Medium — feature mới, refactor | Kiểm tra | Kiểm tra | Code + Test | Review kỹ |
| Hard — migration lớn | Nhiều vòng | Nhiều vòng | Chia pha | Chia nhỏ commit |
/rewind Lệnh này (hoặc nhấn Esc hai lần) quay code và hội thoại về một checkpoint trước đó. Nó không chỉ hoàn tác code — nó còn loại bỏ phần ngữ cảnh đã bị ô nhiễm bởi hướng đi sai. Rewind sớm rẻ hơn nhiều so với cố sửa chữa một cuộc hội thoại đã lệch.Công thức C-T-R giúp một prompt đủ thông tin để Claude không phải đoán:
Bối cảnh kỹ thuật hiện tại. "Trong project này, chúng ta đang dùng JWT."
Việc cần làm, nêu theo kết quả. "Viết hàm login cho admin dashboard."
Thư viện bắt buộc, chuẩn code, thứ không được đụng vào. "Dùng thư viện argon2, đặt error_message rõ ràng."
Trong project này, chúng ta đang dùng JWT.Viết hàm login cho admin dashboard.Dùng thư viện argon2, đặt error_message rõ ràng.
Context window là bộ nhớ làm việc của một phiên. Với Sonnet 5, Opus 5 và Fable 5, cửa sổ này lên tới 1 triệu token (Haiku 4.5 là 200K) — rất rộng, nhưng vẫn hữu hạn. Và nó đầy nhanh hơn bạn tưởng, vì kết quả grep, nội dung file và log test đều nằm trong đó.
/contextXem token đang bị chiếm dụng bởi nguồn nào, dưới dạng lưới trực quan. Gõ mỗi 30–45 phút để không bị bất ngờ.
/compactGiữ lại tóm tắt task hiện tại, dọn các log read/grep cũ. Dùng khi vẫn đang dở task.
/clearReset sạch, bắt đầu phiên mới không bị ám bởi ngữ cảnh cũ. Dùng khi chuyển sang task khác.
/compactGiữ mạch việc, chỉ dọn rác
/clearSang việc mới thì dọn sạch
CLAUDE.md là một file Markdown được tự động nhúng vào system prompt mỗi khi khởi tạo phiên. Nói cách khác: Claude biết dự án của bạn trước khi bạn kịp gõ prompt đầu tiên.
| Tầng | Vị trí | Dùng cho |
|---|---|---|
| Project-level | /CLAUDE.md | Check vào Git, cả team dùng chung: kiến trúc, lệnh build/test, các cạm bẫy đã biết. |
| User-level | ~/.claude/CLAUDE.md | Thói quen cá nhân: ngôn ngữ trả lời, format commit bạn thích. Không ảnh hưởng đồng đội. |
| Nested | /api/CLAUDE.md | Rule riêng cho một sub-folder trong monorepo. Claude tự gộp các tầng lại. |
/initĐừng ngồi viết từ đầu. Claude sẽ quét codebase, package.json và tự tạo bản draft đầu tiên khá chuẩn để bạn sửa lại.
#Bất cứ khi nào bạn phải sửa sai Claude, gõ # [rule mới]. Claude tự parse và ghi rule đó vào bộ nhớ vĩnh viễn. Ví dụ: # Luôn dùng named export thay vì default export.
@Đừng copy-paste tài liệu vào file. Dùng @README.md hay @schema.prisma để Claude nạp file đó đúng lúc cần, tránh phình context vô nghĩa.
#. Sau vài tuần, CLAUDE.md sẽ tự tích luỹ thành tài liệu onboarding tốt nhất mà dự án bạn từng có — cho cả người mới lẫn AI.Đọc, sửa, tạo, xoá file. Hiểu cấu trúc thư mục lớn nhờ Glob/Grep.
Chạy mọi lệnh shell (npm/git/docker/aws cli…), đọc stdout/stderr để quyết định bước tiếp.
Đọc tài liệu online (API doc, changelog), tìm thông tin mới ngoài training data.
Spawn agent con để chạy nhiệm vụ song song (vd. quét nhiều thư mục cùng lúc) — không tốn context cuộc chat chính.
Package quy trình tái sử dụng (vd. seo, review, security-review) — gọi bằng /skill-name.
Buộc Claude xuất kế hoạch trước khi thực thi — bạn duyệt rồi mới cho chạy. Cốt lõi cho task lớn.
Tự động chạy script khi sự kiện xảy ra (vd. format sau khi Claude sửa file, gửi notification khi xong).
Kết nối Claude Code với hệ thống ngoài: GitHub, Linear, Notion, Postgres, browser… qua giao thức MCP.
Giá trị thật của subagent nằm ở chỗ khác: nó có context window hoàn toàn độc lập. Bạn giao cho nó một việc nặng về đọc (ví dụ: quét 50 file docs), nó xử lý trong môi trường riêng rồi chỉ trả về một bản tóm tắt 1 trang. Context chính của bạn vẫn sạch.
Đây là use case đắt giá nhất. Claude vừa viết xong một đoạn code sẽ mang theo thiên kiến của chính người viết — rất dễ kết luận "looks good" với sản phẩm của mình. Một subagent review được cấp quyền read-only không hề biết về hành trình gian nan để viết ra đoạn code đó, nên nó soi ra vấn đề khách quan và sắc bén hơn hẳn.
Build feature từng bước, debug tương tác — bạn cần thấy từng nước đi
Research, review code, audit — bạn chỉ cần kết luận
.claude/agents/, chỉ cấp đúng quyền nó cần. Với một agent review: cấp Glob, Grep, Read, Bash — và tuyệt đối không cấp Edit. Một reviewer sửa được code là một reviewer không còn đáng tin.Ba cơ chế mở rộng này hay bị dùng lẫn lộn. Phân biệt được chúng là bạn tiết kiệm rất nhiều token và công sức.
| Cơ chế | Bản chất | Nạp khi nào | Dùng khi |
|---|---|---|---|
| CLAUDE.md | Sự thật (facts) | Mọi lúc, mọi task | Chuẩn coding chung, kiến trúc, lệnh build. |
| Skill | Quy trình (procedure) | Chỉ khi ngữ cảnh cần | Quy trình nhiều bước lặp lại. Không làm phình context khi chưa dùng. |
| Hook | Script tất định | Luôn luôn, 100% | Việc bắt buộc phải xảy ra, không được phép quên. |
| MCP | Cầu nối dữ liệu | Ngay khi kết nối | Lấy dữ liệu ngoài codebase: Jira, Figma, database nội bộ. |
Cần Claude BIẾT cách làm? → Dùng Skill.
Cần BẢO ĐẢM việc đó luôn xảy ra? → Dùng Hook.
Prompt, CLAUDE.md và Skill đều mang tính xác suất — model đọc rồi tự quyết định có làm hay không, và đôi khi nó quên. Hook là tất định: một script chạy 100% mọi lần, không ngoại lệ, không phụ thuộc trí nhớ của AI. Ví dụ kinh điển: hook PostToolUse chạy linter sau mỗi lần Claude sửa file — từ đó không bao giờ còn lỗi CI lint nữa.
.claude/settings.json{ "hooks": { "PostToolUse": "./.claude/hooks/lint.sh" } }
/mcpMỗi tháng một lần, liệt kê các server đang bật.
Nếu câu trả lời là không, đó là server zombie.
Bật lại lúc cần chỉ mất vài giây, còn để bật suốt thì tốn token mọi phiên.
gh) chạy qua Bash gần như miễn phí về context, trong khi một GitHub MCP server có thể ngốn cả chục nghìn token chỉ để nằm đó.Claude Code không chỉ chạy trong lúc bạn ngồi trước máy. Ba cơ chế dưới đây cho phép công việc tiếp diễn khi bạn đã đóng laptop.
Đóng gói quy trình "gom diff → viết Conventional Commit → push đúng branch → tạo PR có mô tả đầy đủ" thành một skill của riêng bạn. Từ đó chỉ cần gọi một lệnh thay vì lặp lại bốn bước.
--from-prSáng hôm sau CI báo lỗi hoặc có comment review. Chạy claude --from-pr 123 để mở lại đúng phiên đã gắn với PR đó — không phải kể lại từ đầu.
Cài Claude Code GitHub Action rồi tag @claude ngay trong comment của PR để AI sửa trực tiếp trên GitHub, không cần ai mở máy.
"Thêm trang /pricing với 3 tier, tích hợp Stripe checkout, viết test E2E." — Claude lên kế hoạch, sửa 5-10 file, viết test, chạy test, sửa lỗi đến khi pass.
"Đổi tất cả callback sang async/await trong /src/api." — Claude quét, sửa từng file, không bỏ sót.
"Test login_test.ts fail với 'timeout', kiểm tra lý do và sửa." — Claude đọc stack trace, log, sửa lỗi gốc.
"Module billing.ts đang 40% coverage — viết test để lên 90%." — Claude tự sinh test case bao phủ branch còn thiếu.
"/review PR#234" — dùng skill có sẵn để review PR đầy đủ: logic, security, edge case, suggest sửa.
"Nâng Next.js 13 → 15 cho cả dự án, đọc CHANGELOG và xử lý breaking change." — Claude làm dần, kiểm chứng từng bước.
Mỗi câu trong CLAUDE.md tiết kiệm hàng chục câu hỏi qua lại. Bao gồm: tech stack, lệnh chạy/test/deploy, convention, vùng cấm sửa, định nghĩa thuật ngữ riêng của dự án.
Buộc Claude lập kế hoạch trước — bạn phát hiện sớm hiểu nhầm, đỡ tốn token và thời gian. Bật bằng Shift+Tab hai lần.
Hook PostToolUse chạy formatter sau khi Claude sửa file. Hook Notification ping bạn khi Claude xong và cần duyệt. Cấu hình trong .claude/settings.json.
Cho phép chạy git status, npm test, ls… mà không cần duyệt từng lần. Skill fewer-permission-prompts tự sinh allowlist từ lịch sử dùng.
Lưu prompt hay dùng thành slash command (ví dụ /release-notes, /deploy-staging) — gọi 1 lần thay vì gõ lại prompt dài.
Luôn dùng subagent để review code. Chạy test, đọc kỹ diff trước khi commit lên nhánh chính. Tốc độ có được từ AI không đáng đổi bằng một sự cố production.
Viết prompt cẩn thận như viết function. Đưa CLAUDE.md vào quy trình PR review của team — nó là tài sản chung, không phải file nháp cá nhân.
Cứ 30 phút kiểm tra /context. Đổi task thì /clear. Không quăng file bừa bãi vào bộ nhớ chỉ vì "biết đâu cần".
Làm tay một việc đến lần thứ ba thì đóng gói thành Skill. Thấy một lỗi nguy hiểm lặp lại thì cắm Hook phòng vệ.
Claude mang đến Intelligence. Bạn mang đến Context, Expertise và Judgment. Judgment là thứ duy nhất không thể outsource — output của AI luôn là điểm bắt đầu, không bao giờ là điểm kết thúc.
Đừng để Claude đọc trực tiếp .env chứa key thật. Dùng biến giả khi test hoặc thêm vào .gitignore + bảo Claude bỏ qua.
Claude rất giỏi nhưng không hoàn hảo. Nếu bạn không thể đọc-hiểu code nó viết, đừng merge vào main — học bài 1-10 trước rồi quay lại.
Đổi tên 1 biến, sửa 1 typo — gõ trực tiếp nhanh hơn. Claude Code mạnh ở task nhiều bước, đa file.
Bản thân CLI miễn phí, nhưng cần subscription Claude (Pro $20/tháng, Max 5x $100/tháng, Max 20x $200/tháng, Team Standard $25/chỗ/tháng trả năm) hoặc API key Anthropic (tính theo token). Gói Free trên claude.ai không kích hoạt được Claude Code. Xem chi tiết ở trang Claude Price.
Copilot là autocomplete trong IDE, Cursor là IDE riêng tích hợp AI. Claude Code chạy trên terminal và là agent — tự sửa nhiều file, chạy lệnh, lặp đến khi xong. Phù hợp cho task đa bước (refactor lớn, migration, build feature A→Z) hơn là gõ từng dòng. Nhiều dev dùng song song Copilot (gõ nhanh) + Claude Code (task lớn).
Có. Claude Code chạy tự nhiên trên Windows 11 (PowerShell), macOS, Linux và WSL. Trên Windows nó tự nhận biết môi trường và dùng cú pháp PowerShell khi cần.
Có. Hai công cụ WebFetch và WebSearch cho phép Claude đọc tài liệu online, tra cứu API mới phát hành, đọc changelog… Mặc định bạn duyệt từng request trước khi thực hiện.
Không, theo chính sách mặc định của Anthropic — dữ liệu code và prompt qua Claude Code không được dùng để train mô hình. Với gói Team/Enterprise, admin có thể cấu hình thêm về data residency và retention. Chi tiết ở trang Bảng giá → phần bảo mật.
Được. Người làm ops dùng để chạy script tự động, copywriter edit hàng loạt file Markdown, nhà phân tích xử lý CSV… Tuy nhiên cần quen terminal cơ bản (lệnh cd, ls). Nếu hoàn toàn mới với CLI, học Bài 1-10 trước rồi quay lại.
Còn đang dở task hiện tại thì dùng /compact — nó giữ lại tóm tắt việc đang làm và chỉ dọn các log read/grep cũ. Chuyển hẳn sang task khác thì dùng /clear để bắt đầu phiên sạch, không bị ám bởi ngữ cảnh cũ. Nên gõ /context mỗi 30–45 phút để biết token đang bị chiếm bởi nguồn nào.
Không. Claude đã có sẵn kiến thức đó, nên câu role-playing chỉ tốn token và làm loãng ngữ cảnh. Muốn tách việc thì tách subagent — mỗi subagent có context window độc lập và trả về bản tóm tắt gọn, giữ context chính của bạn sạch sẽ.
Hỏi một câu: bạn cần Claude BIẾT cách làm, hay cần BẢO ĐẢM việc đó luôn xảy ra? Cần biết cách làm → viết Skill (nạp theo ngữ cảnh, không phình context). Cần bảo đảm 100% mọi lần → cắm Hook, vì hook là script tất định, không phụ thuộc việc model có nhớ hay không.
Phần 4–5 và 7–14, 17 được biên soạn dựa trên tài liệu “Claude Code 101 — AI engineer ngay trong terminal” (nguồn: Anthropic Academy, bản tiếng Việt do Nguyen Ngoc Tuan trình bày), viết lại và đối chiếu với tài liệu chính thức Claude Code tháng 8/2026.
Chạy lệnh npm install -g @anthropic-ai/claude-code rồi bắt đầu task đầu tiên. Khi quen rồi, ghép với Claude Cowork trên web để xử lý cả việc cần GUI. Chưa rõ gói nào phù hợp? Xem trang Claude Price.
Cập nhật lần cuối: 15/08/2026. Lệnh, cờ và tính năng đối chiếu theo tài liệu chính thức: tổng quan Claude Code, danh sách lệnh và CLI reference. Lineup model tháng 8/2026: Fable 5, Opus 5, Sonnet 5 (context tới 1.000.000 token) và Haiku 4.5 (200.000 token).