Tới nội dung chính
hstation
Dịch vụDự ánVề tôiBlogThư viện nhạc

Tự động hoá · 7 phút đọc · 2026-10-02

Claude Code trên Windows: cài, sửa lỗi không nhận lệnh, cập nhật và giá

Cài xong mà PowerShell báo không nhận lệnh claude là do thư mục chưa nằm trong PATH. Bài có lệnh cài chính thức, cách sửa đã chạy thật, cách kiểm bản đang chạy và giá các gói.

Bài này hướng dẫn cài Claude Code CLI, tức bản dòng lệnh, trên Windows, sửa lỗi gõ claude mà Windows báo "not recognized", cập nhật, và chọn gói trả tiền. Mọi lệnh cài lấy từ Claude Code docs, tài liệu chính thức của Anthropic, đọc ngày 02/10/2026. Phần sửa lỗi thì mình chạy thật trên máy viết bài.

Lý do bài có phần sửa lỗi: chính máy mình đang gặp. Nó có hai bản Claude Code cùng lúc, một bản dòng lệnh 2.1.159 và một bản trong extension VS Code 2.1.287. Gõ claude trong PowerShell thì Windows báo không tìm thấy lệnh, vì thư mục chứa bản dòng lệnh chưa nằm trong PATH.

Trước khi bắt đầu: bạn cần có gì

  • Windows 10 bản 1809 trở lên, hoặc Windows Server 2019 trở lên; RAM từ 4 GB; máy x64 hoặc ARM64 (yêu cầu hệ thống). Không hỗ trợ Windows 32-bit.
  • Một tài khoản có Claude Code: gói Pro, Max, Team, Enterprise, hoặc tài khoản Console trả theo lượng dùng API. Gói Free của claude.ai không có Claude Code.
  • Không cần quyền Administrator.
  • Git for Windows là tuỳ chọn: có nó thì Claude Code chạy lệnh bằng Git Bash, không có thì dùng PowerShell.
  • Thời gian: khoảng 5 phút, chưa tính đăng nhập.

Giá các gói trên trang giá của Claude ngày 02/10/2026:

  • Pro: 17 USD/tháng nếu trả theo năm (200 USD trả trước), 20 USD nếu trả theo tháng.
  • Max: từ 100 USD/tháng, chọn mức dùng gấp 5 hoặc 20 lần Pro.
  • Free: không có Claude Code.

Muốn dùng Claude Code giá rẻ nhất theo gói cố định thì chọn Pro trả theo năm. Tài khoản Console trả theo lượng dùng không có mức cố định: dùng ít có thể rẻ hơn, dùng nhiều thì dễ vượt.

Bước 1: Cài Claude Code bằng một lệnh

  1. Mở PowerShell (bấm Start, gõ PowerShell, mở bình thường, không cần chạy với quyền admin). Dấu nhắc của PowerShell bắt đầu bằng PS C:\.
  2. Chạy:
powershell
irm https://claude.ai/install.ps1 | iex
  1. Chờ trình cài báo xong, đóng cửa sổ PowerShell, mở cửa sổ mới, rồi chạy:
powershell
claude --version

Xong khi: máy in ra một số phiên bản, dạng 2.1.159 (Claude Code).

Nếu bạn đang ở CMD (dấu nhắc là C:\ không có chữ PS), dùng lệnh này thay cho bước 2:

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

Nếu báo lỗi ngay khi cài, nhìn câu báo:

  • The token '&&' is not a valid statement separator: bạn đang dán lệnh của CMD vào PowerShell. Dùng lệnh irm ở bước 2.
  • 'irm' is not recognized as an internal or external command: bạn đang dán lệnh PowerShell vào CMD. Dùng lệnh curl ở trên.

Có thể cài bằng WinGet (winget install Anthropic.ClaudeCode), nhưng bản cài kiểu này không tự cập nhật; bạn phải chạy winget upgrade Anthropic.ClaudeCode định kỳ. Cài bằng lệnh irm ở trên thì tự cập nhật. Mình không chạy lại lệnh cài trên máy viết bài vì máy đang dùng Claude Code để làm việc; các lệnh trên lấy nguyên văn từ tài liệu.

Bước 2: Sửa lỗi "'claude' is not recognized"

Đây là lỗi mình gặp thật. Cài xong, mở PowerShell gõ claude, Windows báo không có lệnh nào tên như vậy. Nguyên nhân: trình cài đặt đặt tệp trong thư mục .local\bin của tài khoản Windows, ví dụ tài khoản tên Lan thì là C:\Users\Lan\.local\bin\claude.exe, nhưng thư mục đó chưa nằm trong biến PATH, danh sách thư mục Windows tìm lệnh.

Cửa sổ PowerShell, đầu ra thật chạy ngày 02/10/2026 trên máy viết bài. Gõ claude --version thì báo lỗi màu đỏ: The term 'claude' is not recognized as the name of a cmdlet, function, script file, or operable program. Sau khi thêm thư mục .local\bin vào biến Path của phiên đó, gõ lại claude --version thì in 2.1.159 (Claude Code), và lệnh Get-Command claude cho thấy tệp nằm ở C:\Users\Windows\.local\bin\claude.exe.
Cửa sổ PowerShell, đầu ra thật chạy ngày 02/10/2026 trên máy viết bài. Gõ claude --version thì báo lỗi màu đỏ: The term 'claude' is not recognized as the name of a cmdlet, function, script file, or operable program. Sau khi thêm thư mục .local\bin vào biến Path của phiên đó, gõ lại claude --version thì in 2.1.159 (Claude Code), và lệnh Get-Command claude cho thấy tệp nằm ở C:\Users\Windows\.local\bin\claude.exe.
  1. Kiểm thư mục đã có trong PATH chưa:
powershell
$env:PATH -split ';' | Select-String '\.local\\bin'

Không in ra gì nghĩa là chưa có. Sang bước 2.

  1. Thêm thư mục vào PATH của tài khoản bạn, đúng lệnh trong tài liệu sửa lỗi cài đặt:
powershell
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
  1. Đóng hết cửa sổ PowerShell, mở cửa sổ mới, chạy claude --version.

Xong khi: in ra số phiên bản thay vì câu báo lỗi.

Muốn thử trước mà chưa đổi PATH vĩnh viễn, như mình đã làm trong ảnh, chỉ thêm thư mục cho riêng cửa sổ đang mở:

powershell
$env:Path += ';' + $env:USERPROFILE + '\.local\bin'
claude --version

Đóng cửa sổ là thay đổi này mất.

Nếu đã cài mà vẫn báo lỗi: kiểm tệp có thật không bằng Test-Path "$env:USERPROFILE\.local\bin\claude.exe". Trả False nghĩa là bước 1 chưa cài xong; chạy lại lệnh cài.

Bước 3: Đăng nhập

  1. Mở PowerShell trong thư mục dự án bạn muốn làm việc, ví dụ cd C:\du-an-cua-toi.
  2. Gõ claude. Trình duyệt mở trang đăng nhập; đăng nhập bằng tài khoản Claude có gói Pro hoặc Max, hoặc tài khoản Console.
  3. Quay lại PowerShell. Xong khi: một phiên làm việc mở ra ngay trong cửa sổ đó.

Nếu máy đã có biến môi trường ANTHROPIC_API_KEY, lệnh claude không mở trình duyệt mà hỏi một lần có dùng khoá đó không. Khoá API tính tiền theo lượng dùng, tách khỏi gói Pro, Max; nếu bạn đã trả gói thì đừng để biến này chạy lẫn.

Bước 4: Kiểm bản nào đang chạy, và đừng để hai bản lệch nhau

Một máy có thể có nhiều bản mà bạn không để ý. Máy mình là ví dụ:

Hai bản Claude Code trên cùng máy viết bài, kiểm ngày 02/10/2026. Bản dòng lệnh cài native: phiên bản 2.1.159, nằm ở thư mục .local\bin của tài khoản Windows, gõ claude trong PowerShell hay Git Bash không chạy vì thư mục chưa có trong PATH, chỉ kiểm cập nhật khi lệnh claude khởi động nên không ai chạy thì đứng yên, tệp nặng 236 MB. Bản trong extension VS Code: phiên bản 2.1.287, nằm trong thư mục extension, mở bằng khung Claude Code trong VS Code, cập nhật theo extension nên mới hơn nhiều bản, còn sót thư mục bản 2.1.286 của lần cập nhật trước.
Hai bản Claude Code trên cùng máy viết bài, kiểm ngày 02/10/2026. Bản dòng lệnh cài native: phiên bản 2.1.159, nằm ở thư mục .local\bin của tài khoản Windows, gõ claude trong PowerShell hay Git Bash không chạy vì thư mục chưa có trong PATH, chỉ kiểm cập nhật khi lệnh claude khởi động nên không ai chạy thì đứng yên, tệp nặng 236 MB. Bản trong extension VS Code: phiên bản 2.1.287, nằm trong thư mục extension, mở bằng khung Claude Code trong VS Code, cập nhật theo extension nên mới hơn nhiều bản, còn sót thư mục bản 2.1.286 của lần cập nhật trước.

Theo tài liệu, extension VS Code giữ một bản riêng cho khung chat của nó và không thêm vào PATH. Chỉ cài extension thì gõ claude ở terminal sẽ không chạy; phải cài thêm bản dòng lệnh ở bước 1.

Bản dòng lệnh kiểm cập nhật mỗi khi bạn khởi động claude và trong lúc chạy (tự cập nhật). Trên máy mình, vì gõ claude không chạy được, bản đó không có dịp tự cập nhật nên dừng ở 2.1.159.

  1. Xem tất cả bản claude mà Windows tìm thấy:
powershell
where.exe claude
  1. Nếu ra nhiều dòng, giữ bản cài ở .local\bin và gỡ các bản thừa. Bản cài qua npm gỡ bằng npm uninstall -g @anthropic-ai/claude-code, bản WinGet gỡ bằng winget uninstall Anthropic.ClaudeCode.
  2. Cập nhật ngay không cần chờ:
powershell
claude update

Xong khi: lệnh báo một dòng mở đầu bằng Successfully updated from, kèm số bản cũ và bản mới, hoặc Claude Code is up to date nếu đã là bản mới nhất.

Nếu `claude update` hoặc `claude doctor` treo không in gì: tài liệu ghi lỗi này ở các bản trước 2.1.214 khi một trong các tệp cấu hình shell như .bashrc là thư mục. Cách vượt là chạy lại lệnh cài ở bước 1 thay cho claude update.

Nếu gõ `claude` mà lại mở ứng dụng Claude Desktop: bản Claude Desktop cũ có thể chiếm tên lệnh claude; cập nhật Claude Desktop lên bản mới là hết.

Tuỳ chọn: tắt tự cập nhật hoặc đi theo bản ổn định

Bản cài bằng lệnh irm tự cập nhật ở chế độ nền. Hai cách điều chỉnh, đặt trong tệp cài đặt của bạn ở %USERPROFILE%\.claude\settings.json (tạo mới nếu chưa có; nếu tệp đã có nội dung thì thêm khoá vào, đừng ghi đè):

  • Đi theo bản stable, thường chậm khoảng một tuần và bỏ qua bản có lỗi lớn:
json
{ "autoUpdatesChannel": "stable" }
  • Tắt hẳn tự cập nhật nền (vẫn cập nhật tay được bằng claude update):
json
{ "env": { "DISABLE_AUTOUPDATER": "1" } }

Gỡ cài đặt

powershell
Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force

Hai lệnh trên chỉ gỡ bản dòng lệnh. Cài đặt và lịch sử nằm trong thư mục .claude ở thư mục người dùng; extension VS Code và ứng dụng Desktop cũng ghi vào đó, nên còn dùng chúng thì đừng xoá thư mục này.

Kiểm lại sau khi Claude Code cài đặt xong

  • claude --version in ra số phiên bản trong một cửa sổ PowerShell mới.
  • where.exe claude chỉ ra đúng một dòng, ở .local\bin.
  • Đăng nhập xong bằng tài khoản có Claude Code, không phải gói Free.
  • Không có biến ANTHROPIC_API_KEY chạy lẫn nếu bạn đã trả gói Pro hoặc Max.

Cài xong rồi, bạn có thể đọc tiếp cách viết prompt cho Claude và cách dùng Agent Skills trong Claude Code.

Những gì mình chưa kiểm

  • Chạy lại lệnh cài irm trên máy viết bài, cài bằng WinGet, và cài trong WSL.
  • Claude Code Desktop, tức Claude Code chạy trong ứng dụng Claude Desktop, và plugin JetBrains.
  • claude doctor trong một cửa sổ terminal thật trên bản mới nhất.