SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor

Cách cài Claude Code trên Windows: chạy native hay WSL 2

Cài Claude Code CLI trên Windows bằng PowerShell, CMD hoặc WinGet mà không cần quyền Admin. Chọn giữa native và WSL 2, kiểm tra bằng claude doctor và sửa các lỗi hay gặp.

Cài Claude Code trên Windows: câu trả lời ngắn

Để cài Claude Code trên Windows, bạn không cần tải file .exe nào cả. Bạn mở PowerShell, chạy lệnh irm https://claude.ai/install.ps1 | iex, rồi mở một cửa sổ mới và gõ claude để đăng nhập. Lệnh này không cần quyền Administrator. Máy cần Windows 10 bản 1809 trở lên, hoặc Windows Server 2019 trở lên. Nếu bạn cần chế độ sandbox hoặc làm việc với công cụ Linux, hãy cài trong WSL 2 thay vì cài thẳng trên Windows.

Các yêu cầu và lệnh trong bài lấy từ trang cài đặt chính thức tại code.claude.com/docs/en/setup, đọc ngày 1/10/2026. Anthropic cập nhật Claude Code rất thường xuyên. Nếu có chỗ nào khác với màn hình của bạn, hãy tin trang đó trước. Mọi lệnh dưới đây đều do bạn tự chạy trên máy Windows của mình.

Ứng dụng Claude Desktop và Claude Code CLI khác nhau thế nào?

Nhiều người gõ "Claude Code download Windows" và mong thấy một nút tải file cài đặt. Trang claude.com/download đúng là có file cài cho Windows. Nhưng đó là ứng dụng Claude Desktop, một chương trình có giao diện đồ họa. Ứng dụng này cũng chạy được Claude Code: bạn chọn thư mục dự án, gõ yêu cầu và xem kết quả trong cửa sổ, không cần mở terminal.

Claude Code CLI là một thứ khác. CLI (command-line interface) nghĩa là giao diện dòng lệnh. Đây là chương trình claude chạy trong terminal, ví dụ trong Windows Terminal hoặc terminal tích hợp của VS Code. Bản CLI chạy được ở những nơi không có giao diện đồ họa, như một VPS bạn kết nối qua SSH. Nó cũng dễ đưa vào script hơn. Bài này hướng dẫn cài bản CLI. Nếu bạn chưa rõ công cụ này làm được gì, hãy đọc Claude Code là gì và nó khác chatbot thông thường ở điểm nào trước khi cài.

Trước khi cài: tài khoản và máy tính cần gì?

Gói miễn phí của claude.ai không có quyền dùng Claude Code. Bạn cần một trong các loại tài khoản sau: Pro, Max, Team, Enterprise, hoặc tài khoản Console trả tiền theo API. Nếu bạn vừa mua gói Pro, hãy đọc gói Claude Pro có bao gồm Claude Code không để biết giới hạn sử dụng của gói đó. Giá của từng gói được giải thích trong bài Claude Code tốn bao nhiêu tiền mỗi tháng. Giá theo khu vực nằm ở bài giá Claude Code theo từng quốc gia. Bài này không nhắc lại con số nào, vì giá thay đổi nhanh hơn cách cài.

Về máy tính, tài liệu chính thức yêu cầu những điều sau:

  • Windows 10 bản 1809 trở lên, hoặc Windows Server 2019 trở lên. Gõ winver vào ô tìm kiếm của Start menu để xem bản Windows của bạn.
  • Hệ điều hành 64-bit, CPU x64 hoặc ARM64. Claude Code không hỗ trợ Windows 32-bit.
  • RAM từ 4 GB trở lên, và có kết nối internet.
  • Bạn ở một quốc gia nằm trong danh sách quốc gia Anthropic hỗ trợ.

Để kiểm tra Windows là bản 64-bit, mở PowerShell và chạy lệnh này:

[Environment]::Is64BitOperatingSystem

Kết quả True nghĩa là máy bạn dùng được. Kết quả False nghĩa là bạn đang dùng bản Windows 32-bit, và Claude Code sẽ không chạy trên máy này.

Nên chạy Claude Code native trên Windows hay trong WSL 2?

Đây là lựa chọn quan trọng nhất trong bài. "Native" nghĩa là Claude Code chạy trực tiếp trên Windows, như mọi chương trình Windows khác. WSL (Windows Subsystem for Linux) là tính năng của Windows cho phép chạy một bản Linux ngay trên laptop. WSL 2 dùng một nhân Linux thật chạy trong máy ảo nhẹ. WSL 1 là bản cũ, dịch lệnh Linux sang Windows chứ không có nhân Linux thật.

Theo tài liệu, khác biệt lớn nhất là sandbox. Sandbox là chế độ cô lập: các lệnh mà Claude Code chạy bị giới hạn trong phạm vi file và mạng mà bạn cho phép. Sandbox chỉ hoạt động trong WSL 2. Bản native trên Windows và bản trong WSL 1 đều không có sandbox.

  • Chọn native Windows khi dự án của bạn là dự án Windows: .NET, Visual Studio, script PowerShell, hoặc mã nguồn nằm sẵn trong C:\. Bạn không cần cài thêm gì. Git for Windows là tùy chọn.
  • Chọn WSL 2 khi bạn viết web bằng Node.js hoặc Python và sau này triển khai lên máy chủ Linux. Chọn WSL 2 cả khi bạn muốn bật sandbox cho các lệnh Claude chạy.
  • Chỉ dùng WSL 1 khi máy không bật được WSL 2. Bạn sẽ không có sandbox, và có thể gặp lỗi Exec format error nói ở phần dưới.
  • Nếu bạn còn phân vân, cài bản native trước. Cài thêm bản WSL 2 sau cũng không mất gì, vì hai bản nằm ở hai hệ thống file riêng.

Nếu bạn đang cân nhắc chạy môi trường phát triển trên máy chủ thay vì trên laptop, bài so sánh WSL và VPS làm môi trường phát triển phân tích kỹ hai hướng này.

Cách 1: cài Claude Code bằng PowerShell

Đây là cách tài liệu khuyên dùng. Mở Start menu, gõ "PowerShell" và chọn Windows PowerShell. Không chọn mục Windows PowerShell (x86). Mục x86 chạy ở chế độ 32-bit, nên trình cài sẽ báo lỗi Claude Code does not support 32-bit Windows dù máy bạn là 64-bit. Bạn biết mình đang ở PowerShell khi dòng nhắc bắt đầu bằng PS, ví dụ PS C:\Users\Lan>.

Chạy lệnh sau. Không cần mở PowerShell bằng quyền Administrator:

irm https://claude.ai/install.ps1 | iex

irm là viết tắt của Invoke-RestMethod, lệnh tải nội dung script về. iex là viết tắt của Invoke-Expression, lệnh chạy nội dung đó. Nếu bạn chỉ chạy nửa đầu irm https://claude.ai/install.ps1, PowerShell sẽ in nội dung script ra màn hình mà không cài gì. Trình cài đặt chương trình vào %USERPROFILE%\.local\bin\claude.exe. Đây là thư mục riêng của tài khoản bạn, vì vậy không cần quyền Administrator.

Cài theo kênh stable

Claude Code có hai kênh phát hành. Kênh latest là mặc định và nhận bản mới ngay khi ra mắt. Kênh stable dùng bản thường cũ hơn khoảng một tuần, và bỏ qua các bản có lỗi lớn. Nếu bạn dùng Claude Code cho công việc hằng ngày, kênh stable ít bất ngờ hơn:

& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable

Kênh bạn chọn lúc cài sẽ thành kênh mặc định cho việc tự cập nhật. Bản cài native tự cập nhật trong nền. Bản mới có hiệu lực từ lần mở claude tiếp theo.

Cách 2: cài Claude Code bằng CMD

Nếu bạn quen dùng Command Prompt (CMD), dòng nhắc sẽ có dạng C:\Users\Lan> và không có chữ PS ở đầu. Chạy lệnh này:

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

Lệnh này tải file install.cmd, chạy file đó, rồi xóa nó đi. Dấu && nghĩa là lệnh sau chỉ chạy khi lệnh trước thành công. Bản cài theo kênh stable chỉ khác ở chữ stable thêm vào sau install.cmd:

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd stable && del install.cmd

Bạn đang gõ lệnh ở nhầm shell? Đọc thông báo lỗi

Lỗi hay gặp nhất khi cài Claude Code trên Windows là dán lệnh của shell này vào shell kia. Mỗi trường hợp có một thông báo riêng, nên bạn đọc lỗi là biết ngay mình đang ở đâu:

  • The token '&&' is not a valid statement separator: bạn đang ở PowerShell nhưng dán lệnh của CMD. Windows PowerShell có sẵn trong Windows không nhận && làm dấu nối lệnh. Hãy dùng lệnh irm ở Cách 1.
  • 'irm' is not recognized as an internal or external command: bạn đang ở CMD. irm là lệnh của PowerShell, nên CMD không biết nó. Hãy mở PowerShell, hoặc dùng lệnh curl ở Cách 2.
  • A parameter cannot be found that matches parameter name 'fsSL': bạn dán lệnh dành cho macOS và Linux vào PowerShell. Trong Windows PowerShell, curl là tên gọi khác của Invoke-WebRequest, và lệnh này không hiểu tham số -fsSL.
  • 'bash' is not recognized as the name of a cmdlet: bạn cũng đang chạy lệnh cài của Linux trên Windows. Quay lại Cách 1.

Cách 3: cài bằng WinGet, và vì sao phải tự cập nhật

WinGet là trình quản lý gói có sẵn trên Windows 11 và các bản Windows 10 mới. Nếu bạn đã quen cài phần mềm bằng WinGet, chạy lệnh này trong PowerShell:

winget install Anthropic.ClaudeCode

Có một khác biệt cần nhớ: bản cài bằng WinGet không tự cập nhật. Bạn phải tự chạy lệnh nâng cấp định kỳ để nhận tính năng mới và bản vá bảo mật:

winget upgrade Anthropic.ClaudeCode

Hãy đóng mọi cửa sổ đang chạy claude trước khi nâng cấp. Windows khóa file .exe đang chạy, nên WinGet không ghi đè được file đó và lần nâng cấp sẽ thất bại. Nếu muốn Claude Code tự chạy lệnh nâng cấp này cho bạn, đặt biến môi trường CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE bằng 1.

Chỉ chọn một cách cài. Nếu bạn cài cả bằng PowerShell lẫn WinGet, máy sẽ có hai file claude, và bạn khó biết lệnh claude đang gọi bản nào. Tài liệu khuyên giữ bản native tại %USERPROFILE%\.local\bin\claude.exe và gỡ bản kia bằng winget uninstall Anthropic.ClaudeCode.

Git for Windows có bắt buộc không?

Không bắt buộc. Claude Code cần một shell để chạy lệnh thay bạn, ví dụ chạy test hoặc gọi git status. Không có Git for Windows, Claude Code dùng công cụ PowerShell của nó. Có Git for Windows, Claude Code dùng Git Bash cho công cụ Bash, và công cụ PowerShell vẫn có sẵn bên cạnh. Nhiều README và script trong các dự án mã nguồn mở viết cho bash, nên cài Git for Windows giúp Claude chạy chúng đúng như hướng dẫn.

Tải Git for Windows tại git-scm.com/downloads/win. Khi cài, chọn mục "Add to PATH", rồi mở lại terminal. PATH là biến môi trường chứa danh sách thư mục mà Windows tìm chương trình trong đó. Claude Code tìm bash.exe theo thứ tự sau: trước tiên trong C:\Program Files\Git và C:\Program Files (x86)\Git, sau đó qua lệnh git có trên PATH.

Nếu bạn cài Git ở nơi khác, ví dụ ổ D:, Claude Code có thể không tìm thấy. Tìm vị trí của Git bằng lệnh này:

where.exe git

Sau đó mở file cấu hình người dùng của Claude Code:

notepad "$env:USERPROFILE\.claude\settings.json"

Thêm đường dẫn tới bin\bash.exe của bản Git đó. Ví dụ dưới đây dùng vị trí mặc định. Hãy thay bằng đường dẫn thật trên máy bạn:

{
  "env": {
    "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
  }
}

Mỗi dấu gạch chéo ngược phải viết thành hai dấu \\, vì đây là file JSON. File được trỏ tới phải tên là bash.exe hoặc sh.exe. Nếu bạn trỏ tới git-bash.exe, Claude Code sẽ bỏ qua biến này và tự dò tìm như khi chưa đặt. Nếu máy không có cả Git Bash lẫn PowerShell trên PATH, Claude Code báo lỗi Claude Code on Windows requires either Git for Windows (for bash) or PowerShell.

Cách 4: cài Claude Code trong WSL 2

Nếu máy chưa có WSL, mở PowerShell bằng quyền Administrator và chạy lệnh dưới đây. Riêng bước này cần quyền Administrator, vì nó bật một tính năng của Windows. Bản thân Claude Code thì không cần:

wsl --install

Khởi động lại máy khi Windows yêu cầu. Mặc định Windows cài Ubuntu. Sau đó kiểm tra phiên bản WSL bằng một cửa sổ PowerShell thường:

wsl -l -v

Cột VERSION phải là 2. Nếu cột đó là 1, đổi bản phân phối sang WSL 2 bằng lệnh sau, thay Ubuntu bằng tên trong cột NAME:

wsl --set-version Ubuntu 2

Bây giờ mở Ubuntu từ Start menu. Bạn cài và chạy claude bên trong terminal Linux này, không phải trong PowerShell hay CMD. Dùng lệnh cài của Linux, theo kênh stable:

curl -fsSL https://claude.ai/install.sh | bash -s stable

Bản trong WSL không cần Git for Windows, vì Linux đã có bash. Nên để mã nguồn trong thư mục home của Linux, ví dụ ~/projects, thay vì trong /mnt/c/.... File trong /mnt/c nằm trên ổ Windows. Mỗi lần đọc ghi phải đi qua lớp chuyển đổi giữa hai hệ thống file, nên các lệnh như git status hay npm install chạy chậm hơn rõ rệt.

Nếu bạn ở WSL 1, chạy claude có thể báo cannot execute binary file: Exec format error. Đây là lỗi đã biết: trình nạp chương trình của WSL 1 không đọc được file claude bản mới. Cách sửa gọn nhất là chuyển sang WSL 2 bằng lệnh wsl --set-version ở trên.

Kiểm tra cài đặt bằng claude --version và claude doctor

Mở một cửa sổ terminal mới. Cửa sổ cũ vẫn giữ PATH từ trước khi cài, nên nó có thể không thấy claude. Sau đó chạy:

claude --version

Bản cài tốt sẽ in ra một số phiên bản, theo sau là chữ (Claude Code). Để kiểm tra kỹ hơn, chạy:

claude doctor

claude doctor chỉ đọc, không thay đổi gì và không mở phiên làm việc. Nó báo tình trạng bản cài, lỗi trong file settings.json nếu có, kết quả lần tự cập nhật gần nhất, kèm cảnh báo và cách sửa. Khi gặp lỗi lạ, đây là lệnh nên chạy đầu tiên.

Vì sao Windows báo "claude is not recognized"?

Trong CMD bạn sẽ thấy 'claude' is not recognized as an internal or external command. Trong PowerShell là claude : The term 'claude' is not recognized as the name of a cmdlet. Cả hai có cùng nguyên nhân: thư mục %USERPROFILE%\.local\bin chưa có trong PATH, nên Windows không tìm thấy claude.exe. Kiểm tra trong PowerShell:

$env:PATH -split ';' | Select-String '\.local\\bin'

Nếu lệnh không in ra gì, thêm thư mục đó vào PATH của tài khoản bạn:

$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

Đóng terminal, mở cửa sổ mới và chạy lại claude --version.

Có một trường hợp khác dễ nhầm: gõ claude nhưng lại mở ra ứng dụng Claude Desktop. Một số bản Claude Desktop cũ đăng ký file Claude.exe trong thư mục WindowsApps, và thư mục này được ưu tiên trong PATH. Cập nhật Claude Desktop lên bản mới nhất sẽ sửa lỗi này.

Đăng nhập lần đầu qua trình duyệt

Di chuyển vào thư mục dự án và khởi động Claude Code:

cd C:\Users\Lan\projects\shop-api
claude

Lần đầu chạy, Claude Code mở trình duyệt để bạn đăng nhập. Chọn tài khoản claude.ai nếu bạn trả tiền theo gói Pro hoặc Max. Chọn tài khoản Console nếu bạn trả tiền theo API. Hai cách tính tiền này khác nhau nhiều, và bài nên đăng nhập Claude Code bằng gói thuê bao hay API key giải thích khi nào nên dùng cách nào.

Nếu trình duyệt không tự mở, nhấn phím c trong terminal để sao chép đường link đăng nhập, rồi dán vào trình duyệt. Nếu bạn thấy OAuth error: Invalid code. Please make sure the full code was copied, mã đăng nhập đã hết hạn hoặc bị cắt mất khi sao chép. Nhấn Enter để thử lại, và hoàn tất bước đăng nhập ngay sau khi trình duyệt mở.

Trong WSL 2, trình duyệt mở trên Windows, còn Claude Code chạy trong Linux. Vì vậy trình duyệt không chuyển hướng ngược về Claude Code được. Sau khi bạn đăng nhập, trang web hiện một mã. Dán mã đó vào dòng Paste code here if prompted trong terminal. Nếu Ctrl+V không có tác dụng trong Windows Terminal, thử nhấp chuột phải hoặc Shift+Insert. Bạn cũng có thể chạy claude auth login, lệnh này đọc mã bạn dán vào từ đầu vào chuẩn (standard input).

Nếu biến môi trường ANTHROPIC_API_KEY đã được đặt trên máy, Claude Code không mở trình duyệt. Nó hỏi bạn một lần có dùng key này không. Khi bạn đồng ý, Claude Code dùng key đó thay cho gói thuê bao, và tiền được tính theo API. Nếu bạn đã trả tiền gói Max mà hóa đơn API vẫn tăng, hãy kiểm tra biến này trước. Khi key bị từ chối, bài sửa lỗi Invalid API key trong Claude Code liệt kê các nguyên nhân thường gặp.

Đổi sang kênh stable sau khi đã cài

Nếu bạn đã cài theo kênh latest, vẫn đổi sang stable được. Gõ /config trong Claude Code và chọn Auto-update channel. Hoặc thêm dòng sau vào %USERPROFILE%\.claude\settings.json:

{
  "autoUpdatesChannel": "stable"
}

Nếu file đã có khối env từ phần Git Bash ở trên, hãy thêm "autoUpdatesChannel": "stable" vào cùng một đối tượng JSON, ngăn cách bằng dấu phẩy. Muốn cập nhật ngay mà không chờ, chạy claude update. Lệnh này dành cho bản cài native. Bản cài bằng WinGet vẫn dùng winget upgrade Anthropic.ClaudeCode.

Khi nào nên chạy Claude Code trên VPS thay vì laptop?

Claude Code trên laptop dừng lại khi bạn gập máy hoặc mất Wi-Fi. Với tác vụ dài, như chạy toàn bộ bộ test hay sửa lỗi qua nhiều bước, việc này gây phiền. Một VPS Linux chạy liên tục giải quyết được vấn đề đó. Bạn SSH vào từ Windows Terminal, chạy claude trong một phiên tmux, rồi đóng laptop mà phiên vẫn tiếp tục. Bài chạy Claude Code trên VPS bên trong tmux hướng dẫn từng bước. Lệnh cài trên VPS giống hệt lệnh cài trong WSL 2 ở trên.

FAQ

Tải Claude Code cho Windows ở đâu, có file .exe không?

Claude Code CLI không có file .exe để tải về rồi nhấp đúp. Bạn cài nó bằng một dòng lệnh: irm https://claude.ai/install.ps1 | iex trong PowerShell, hoặc winget install Anthropic.ClaudeCode. File cài trên trang claude.com/download là ứng dụng Claude Desktop. Ứng dụng đó cũng chạy được Claude Code qua giao diện đồ họa, nhưng không cài lệnh claude vào terminal.

Gói Claude miễn phí có dùng được Claude Code không?

Không. Gói miễn phí của claude.ai không có quyền dùng Claude Code. Bạn cần gói Pro, Max, Team hoặc Enterprise, hoặc một tài khoản Console trả tiền theo API. Bạn vẫn cài được chương trình khi chưa trả tiền, nhưng sẽ không dùng được sau bước đăng nhập.

Có cần quyền Administrator để cài Claude Code trên Windows không?

Không. Trình cài đặt chương trình vào %USERPROFILE%\.local\bin, thư mục mà tài khoản của bạn có quyền ghi. Vì vậy bạn chạy PowerShell hoặc CMD như bình thường. Chỉ có một bước cần quyền Administrator: lệnh wsl --install, khi bạn chọn cài trong WSL 2 và máy chưa bật WSL.

Vì sao PowerShell báo "The token '&&' is not a valid statement separator"?

Bạn đã dán lệnh cài dành cho CMD vào PowerShell. Windows PowerShell có sẵn trong Windows không nhận && làm dấu nối lệnh, nên nó dừng ở đó. Hãy dùng lệnh dành cho PowerShell: irm https://claude.ai/install.ps1 | iex. Ngược lại, lỗi 'irm' is not recognized nghĩa là bạn đang ở CMD và cần lệnh curl dành cho CMD.

Trình cài báo "The process cannot access the file" thì làm gì?

Thông báo đầy đủ là Failed to download binary: The process cannot access the file ... because it is being used by another process. Trình cài không ghi được vào thư mục %USERPROFILE%\.claude\downloads. Lý do thường là một lần cài trước vẫn đang chạy, hoặc phần mềm diệt virus đang quét file tải dở. Đóng các cửa sổ PowerShell khác và chờ phần mềm diệt virus quét xong. Sau đó chạy Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads" rồi chạy lại lệnh cài.

#claude-code#windows#installation#wsl#powershell