Claude Code có thể xác thực theo hai cách khác nhau, và cách bạn cần dùng sẽ quyết định mọi phần còn lại. Đăng nhập bằng gói claude.ai bao phủ mức sử dụng trong gói Pro hoặc Max của bạn. Khóa API tính phí theo token mà không có giới hạn của gói. Hướng dẫn này giải thích nơi lấy khóa, chính xác vị trí đặt khóa, hai biến thông tin xác thực và lý do chọn sai biến sẽ gây lỗi im lặng, cũng như cách kiểm soát chi phí sau khi thiết lập xong.
Có thực sự cần khóa không?
| Tình huống | Nên dùng gì |
|---|---|
| Bạn có Claude Pro / Max và vẫn trong giới hạn | Đăng nhập bằng gói đăng ký — không cần khóa |
| Không có gói đăng ký hoặc chạm giới hạn giữa tác vụ | Khóa API, tính phí theo token |
| Bạn muốn mức phí theo token thấp hơn | Khóa API từ gateway |
| Mức sử dụng nhóm cần phân bổ theo từng người dùng | Khóa API cho từng nhà phát triển |
Điều cần biết trước khi bắt đầu: đặt khóa sẽ tạm dừng gói đăng ký của bạn. Khi một biến thông tin xác thực đang hoạt động, Claude Code sẽ dùng biến đó thay cho thông tin đăng nhập claude.ai đã lưu, các giới hạn của gói sẽ không còn áp dụng, và mức sử dụng sẽ được tính cho chủ sở hữu khóa. Bỏ đặt biến thì Claude Code sẽ quay lại dùng gói đăng ký.
Tùy chọn 1 — khóa Anthropic chính thức
- Đăng nhập tại console.anthropic.com (tài khoản riêng với claude.ai).
- Nạp tiền trong Billing. API là dịch vụ trả trước và tách biệt với mọi gói đăng ký — gói Pro không thanh toán cho dịch vụ này.
- Tạo khóa trong API Keys. Khóa bắt đầu bằng
sk-ant-và chỉ được hiển thị một lần.
export ANTHROPIC_API_KEY=sk-ant-...
# Then approve it once, interactively:
# /config -> Use custom API key
claudeLưu ý bước thứ hai trong đoạn mã đó. ANTHROPIC_API_KEY được gửi trong tiêu đề x-api-key và cần phê duyệt tương tác một lần trước khi Claude Code sử dụng. Nếu lời nhắc đó từng bị từ chối, khóa sẽ bị bỏ qua về sau mà hoàn toàn không hiển thị lời nhắc nào — trông hệt như biến không được đọc. Bật lại trong /config → Use custom API key.
Tùy chọn 2 — khóa có chi phí trên mỗi token thấp hơn
Claude Code đọc trực tiếp ANTHROPIC_BASE_URL, vì vậy nó hoạt động với mọi endpoint cung cấp Anthropic Messages API — không cần plugin, proxy hay binary đã vá. Đây là cách được hỗ trợ cho các gateway, và là cách chạy cùng các model Claude với mức phí thấp hơn:
export ANTHROPIC_BASE_URL=https://api.kunavo.com
export ANTHROPIC_AUTH_TOKEN=sk-kn-...
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5ANTHROPIC_BASE_URL chỉ là origin — Claude Code tự thêm /v1/messages. Giữ nguyên các dòng mô hình: mặc định tích hợp sẵn của Claude Code và bí danh opus đều trỏ đến Opus mới nhất; nếu Kunavo chưa cung cấp mô hình đó, yêu cầu đầu tiên sẽ trả về 404. Dòng opus ghim mô hình vào Claude Opus 5.5, yêu cầu Claude Code v2.1.280 trở lên (hãy chạy claude update trên phiên bản cũ hơn). Bí danh sonnet yêu cầu Sonnet 5.5, mô hình Kunavo không cung cấp, vì vậy nếu không có ANTHROPIC_DEFAULT_SONNET_MODEL, /model sonnet, giai đoạn thực thi của opusplan và các subagent được đặt thành sonnet đều trả về 404. Hãy tạo khóa sk-kn- trong bảng điều khiển sau khi đăng ký và nạp $10. Không có phí hàng tháng và số dư không hết hạn.
| Mô hình | Kunavo vào / ra trên mỗi 1M | Dùng cho |
|---|---|---|
claude-sonnet-5 | $1,40 / $7,00 | Lập trình hằng ngày |
claude-opus-5-5 | $2,80 / $14,00 | Tái cấu trúc phức tạp, chế độ lập kế hoạch |
claude-haiku-4-5 | $0,70 / $3,50 | Tác vụ chạy nền |
Mức này thấp hơn khoảng 30% so với giá niêm yết của model chính. Bảng giá đầy đủ có trong hướng dẫn giá Claude API, còn giá Claude Code so sánh tuyến này với phí gói Pro và Max; toàn bộ thiết lập, bao gồm định tuyến model theo từng tác vụ và những thay đổi khi đi qua gateway, có trong hướng dẫn định tuyến Claude Code. Nếu CLI chưa được cài đặt, hãy bắt đầu tại cài đặt Claude Code.
Khóa thực sự được đặt ở đâu
Hai biến, hai tiêu đề HTTP khác nhau. Khóa trong tiêu đề mà máy chủ không đọc sẽ thất bại với 401:
| Biến | Tiêu đề | Dùng khi |
|---|---|---|
ANTHROPIC_AUTH_TOKEN | Authorization: Bearer | Khóa bearer-token; có hiệu lực ngay |
ANTHROPIC_API_KEY | x-api-key | Khóa từ Anthropic Console; cần phê duyệt một lần |
apiKeyHelper | Cả hai | Thông tin xác thực được luân phiên hoặc lưu trong vault |
Nếu bạn không được cho biết mình có loại nào, hãy bắt đầu với ANTHROPIC_AUTH_TOKEN, loại này không cần bước phê duyệt. Trên Kunavo, cả hai biến đều cho phép Claude Code phát hiện danh sách model, vì /v1/models đọc khóa từ cả hai tiêu đề.
Export trong shell so với tệp settings
Export trong shell chỉ áp dụng cho terminal đó và các tiến trình con. Trình soạn thảo được khởi chạy từ dock sẽ không nhìn thấy biến này, và các agent chạy nền cũng vậy. Để thiết lập lâu dài, hãy dùng khối env của ~/.claude/settings.json — cùng các khóa, áp dụng ở mọi nơi Claude Code chạy. Đừng đặt khóa trong .claude/settings.json của dự án; tệp đó được commit và chia sẻ với mọi người clone repository.
Chạy /status để xác nhận thông tin xác thực nào đang hoạt động. Dòng Auth token hoặc API key có tên biến của bạn nghĩa là khóa đang hoạt động; dòng Login method có tên tài khoản claude.ai nghĩa là khóa không hoạt động.
Luân phiên khóa mà không sửa tệp
Nếu thông tin xác thực hết hạn theo lịch hoặc lấy từ vault, hãy trỏ apiKeyHelper đến một lệnh in ra khóa hiện tại:
#!/bin/bash
# Any command that prints the current key to stdout works.
vault kv get -field=api_key secret/claude-codeTham chiếu nó dưới dạng "apiKeyHelper": "~/bin/get-key.sh" trong tệp settings. Claude Code lưu kết quả trong năm phút và chạy lại sau mỗi 401; điều chỉnh bằng CLAUDE_CODE_API_KEY_HELPER_TTL_MS. Giá trị được gửi trong cả hai tiêu đề, nên hoạt động theo cả hai cách.
Giữ chi phí có thể dự đoán
Lập trình dạng agent tiêu tốn nhiều token — mỗi bước gửi lại system prompt, lịch sử tác vụ và ngữ cảnh tệp mới. Bốn điều quan trọng hơn mọi thứ khác:
- Giữ dòng Haiku. Nếu thiếu
ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5, bí danhhaikucủa Claude Code sẽ yêu cầu một model ID mà Kunavo không cung cấp (Haiku 5.5 từ v2.1.293), khiến/model haikuvà các tác tử con được đặt dùnghaikutrả về 404. Dòng này cũng chuyển phần tóm tắt và tiêu đề mà Claude Code tự tạo khỏi mô hình chính của bạn; khoản tiết kiệm sẽ tăng lên khi công việc được phân thành nhiều tác vụ, như thể hiện trong chi phí của một quy trình Claude Code. - Cùng hai biến đó định tuyến Agent SDK. Nó không có tùy chọn base-URL riêng — nó khởi chạy CLI này và truyền thẳng môi trường của bạn, vì vậy một chương trình Agent SDK được định tuyến chính xác theo cấu hình trên.
- Bắt đầu tác vụ mới thay vì kéo dài một tác vụ mãi. Ngữ cảnh được gửi lại ở mỗi bước, nên một phiên dài sẽ tốn chi phí theo cấp số nhân. Việc chọn tier nào cho model chính được phân tích trong Opus so với Sonnet so với Haiku, theo chi phí cho mỗi tác vụ hoàn tất thay vì chi phí cho mỗi token.
- Để bộ nhớ đệm prompt hoạt động. Input được lưu trong bộ nhớ đệm được tính phí bằng 10% mức phí input, và tuyến Messages API nguyên bản truyền
cache_controlmà không dịch (chi tiết). - Cấp cho trình soạn thảo khóa riêng với giới hạn chi tiêu trong trang quản trị, sau đó kiểm tra mức sử dụng sau một tuần. Giới hạn theo từng khóa biến một vòng lặp chạy mất kiểm soát thành vòng lặp có mức trần.
Khắc phục sự cố
| Triệu chứng | Cách khắc phục |
|---|---|
401 token không hợp lệ hoặc không được nhận diện | Khóa nằm trong sai tiêu đề — chuyển đổi giữa hai biến. Hoặc khóa đã bị thu hồi; hãy tạo lại khóa. |
| Đã đặt biến nhưng Claude Code vẫn yêu cầu bạn đăng nhập | Đặt biến ở nơi được đọc trước khi thiết lập lần chạy đầu tiên: export trong shell hoặc ~/.claude/settings.json. Tệp settings cấp dự án chỉ có hiệu lực sau lời nhắc tin cậy. |
ANTHROPIC_API_KEY bị bỏ qua mà không hiển thị lời nhắc | Đã từng bị từ chối. /config → Use custom API key. |
| Cảnh báo khởi động nêu tên hai nguồn thông tin xác thực | Cả khóa và thông tin đăng nhập đã lưu đều đang hoạt động. Chạy /logout để dùng khóa, hoặc bỏ đặt biến để dùng thông tin đăng nhập. |
| Hết credit giữa phiên | Nạp thêm tiền; xem credit không đủ. |
Câu hỏi thường gặp
Claude Code có cần khóa API không?
Không nhất thiết. Claude Code có thể xác thực theo hai cách: đăng nhập bằng gói claude.ai (Pro hoặc Max), trong đó mức sử dụng được tính trong giới hạn của gói, hoặc dùng khóa API và tính phí theo token. Bạn cần khóa khi không có gói đăng ký, khi liên tục chạm giới hạn của gói, hoặc khi muốn định tuyến Claude Code qua một endpoint khác.
Tôi lấy khóa API cho Claude Code ở đâu?
Để lấy khóa chính thức, hãy đăng nhập tại console.anthropic.com, nạp tiền trong Billing, sau đó tạo khóa trong API Keys — khóa bắt đầu bằng sk-ant- và chỉ được hiển thị một lần. Claude Code cũng chấp nhận khóa từ bất kỳ endpoint nào cung cấp Anthropic Messages API, đây là cách các gateway như Kunavo hoạt động; khóa đó được tạo trong trang quản trị riêng của gateway.
Tôi đặt khóa API ở đâu trong Claude Code?
Trong một biến môi trường hoặc khối env của ~/.claude/settings.json. Dùng ANTHROPIC_AUTH_TOKEN cho khóa bearer-token và ANTHROPIC_API_KEY cho khóa x-api-key — hai khóa này được gửi trong các tiêu đề HTTP khác nhau, và khóa đặt sai tiêu đề sẽ thất bại với lỗi 401. Tệp settings phù hợp hơn việc export trong shell vì nó cũng áp dụng cho các trình soạn thảo và agent chạy nền.
Tại sao ANTHROPIC_API_KEY của tôi bị bỏ qua?
ANTHROPIC_API_KEY yêu cầu phê duyệt một lần trong phiên tương tác, và nếu lời nhắc đó từng bị từ chối thì khóa sẽ bị bỏ qua về sau mà không hiển thị thêm lời nhắc nào. Bật lại trong /config bằng tùy chọn 'Use custom API key', hoặc chuyển sang ANTHROPIC_AUTH_TOKEN, tùy chọn này có hiệu lực ngay mà không cần bước phê duyệt.
Tôi có thể dùng khóa API rẻ hơn với Claude Code không?
Có. Claude Code đọc ANTHROPIC_BASE_URL, vì vậy mọi endpoint cung cấp Anthropic Messages API đều hoạt động mà không cần phần mềm bổ sung. Trỏ Claude Code đến Kunavo sẽ chạy cùng các model Claude với giá thấp hơn bảng giá của Anthropic, tính phí theo mức sử dụng từ khoản nạp $10, không có phí hằng tháng và số dư không hết hạn.
Khóa API Claude Code có giống thông tin đăng nhập claude.ai của tôi không?
Không. Đây là hai hệ thống riêng với cơ chế thanh toán riêng — console.anthropic.com cấp khóa API, còn claude.ai xử lý các gói đăng ký. Gói Pro không dùng để thanh toán mức sử dụng API.
Tôi có thể dùng một khóa cho cả Claude và GPT không?
Trên Kunavo thì có — cùng một khóa sk-kn- dùng được cho mọi model trong danh mục. Bản thân Claude Code chỉ giao tiếp với Anthropic Messages API, vì vậy trong Claude Code bạn sẽ dùng các model Claude; các công cụ khác có thể dùng cùng khóa cho những model còn lại.
Giữ một khóa có tốn phí không?
Không tốn gì. Kunavo tính phí theo mức sử dụng từ khoản nạp $10, không có phí hằng tháng và số dư không hết hạn — bạn trả tiền cho token, không phải cho việc sở hữu khóa.
Làm thế nào để lấy khóa API cho Anthropic API nói chung?
Xem tài liệu khóa API Claude cho trường hợp không dùng Claude Code, bao gồm thiết lập SDK và quản lý khóa.