Claude Code base URL 怎麼填:ANTHROPIC_BASE_URL 的正確設定
Wokey Team · 2026-09-24
簡短回答: Claude Code 的 base URL 用環境變數 ANTHROPIC_BASE_URL 設定。只填閘道的網域(origin),不要加 /v1。Wokey 就是 https://api.wokey.ai;/v1/messages 由 Claude Code 自己接上。金鑰放在 ANTHROPIC_AUTH_TOKEN,它會以 Authorization: Bearer 送出。只設定 base URL 而沒有設定金鑰時,Claude Code 會繼續使用已儲存的 claude.ai 登入。
最小設定
export ANTHROPIC_BASE_URL="https://api.wokey.ai"
export ANTHROPIC_AUTH_TOKEN="your Wokey API key"
claude
在 Claude Code 中執行 /status。Status 分頁出現以下內容時,請求就是經過 Wokey:
Anthropic base URL為https://api.wokey.ai- 有一行
Auth token標示ANTHROPIC_AUTH_TOKEN
如果沒有 Anthropic base URL 這一行,表示變數根本沒有傳進工作階段。
為什麼加了 /v1 就不行
Claude Code 把 ANTHROPIC_BASE_URL 當成前綴,請求 $ANTHROPIC_BASE_URL/v1/messages。設成 https://api.wokey.ai/v1 的話,請求會送到 /v1/v1/messages,Wokey 會回應:
{"message":"Route POST:/v1/v1/messages not found","error":"Not Found","statusCode":404}
Cursor、Cherry Studio 等 OpenAI 相容用戶端慣例上要填 .../v1。Claude Code 則遵循 Anthropic 的慣例,兩者不能混用。也不要加上 /v1/messages 或結尾的斜線。
AUTH_TOKEN 還是 API_KEY
| 變數 | 送出形式 | 適用情況 |
|---|---|---|
ANTHROPIC_AUTH_TOKEN |
Authorization: Bearer <key> |
閘道要求 Bearer token,或你不確定時 |
ANTHROPIC_API_KEY |
x-api-key: <key> |
閘道要求 x-api-key 標頭時 |
Wokey 兩種標頭都接受,差別在 Claude Code 這一端:
ANTHROPIC_AUTH_TOKEN立即生效。ANTHROPIC_API_KEY在互動模式下會先要求確認一次才生效。之前拒絕過的金鑰會被默默忽略。
不要把兩者設成不同的值。 兩個標頭帶著不同的金鑰時,Wokey 會拒絕請求:
{"error":{"code":"conflicting_api_key_headers","message":"conflicting_api_key_headers","type":"invalid_request_error"}}
兩個標頭帶相同的金鑰則沒有問題。
只設定 base URL 會怎樣
base URL 不是憑證。只設定 ANTHROPIC_BASE_URL、沒有 AUTH_TOKEN 或 API_KEY 時,Claude Code 仍會用已儲存的 claude.ai 登入送出請求。Wokey 不會把它認成 Wokey 金鑰,因此回傳 401。
設定閘道憑證後,claude.ai 登入仍會保存,只是不會被使用;取消設定變數就會回到原本的登入。
啟動時你可能會看到結尾是 auth may not work as expected 的警告。較舊的版本則會顯示 Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set。兩者都表示閘道憑證和已儲存的登入同時存在。如果只想使用閘道,請在 Claude Code 中執行 /logout 清除已儲存的登入。
在 settings.json 中永久設定
export 只在目前的終端機有效,從 Dock 或開始選單啟動的編輯器看不到它。日常使用請把值寫進 ~/.claude/settings.json 的 env 區塊:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.wokey.ai",
"ANTHROPIC_AUTH_TOKEN": "your Wokey API key"
}
}
- shell 和設定檔設定了同一個變數時,以設定檔為準。如果改了 shell 變數卻好像沒有效果,請先檢查這裡。
- 只用在單一專案時,請使用該專案的
.claude/settings.local.json,並確認它已被 gitignore。 - 絕對不要把金鑰寫進專案的
.claude/settings.json。 這個檔案會被提交到儲存庫。
選擇模型
Wokey 使用和 Anthropic 相同的 Claude 模型 ID,例如 claude-opus-5、claude-sonnet-5 和 claude-haiku-4-5。工作階段中可以用 /model 切換。若要固定 Claude Code 的 Opus、Sonnet、Haiku 各層級使用哪個模型,在 env 中加入:
{
"env": {
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
}
}
ANTHROPIC_DEFAULT_HAIKU_MODEL 也決定工作階段標題等背景任務所用的模型。
VS Code 擴充功能與桌面版
VS Code 擴充功能的登入檢查不使用 shell 變數,要改在 VS Code 自己的使用者設定中設定:從命令選擇區執行 Preferences: Open User Settings (JSON),加入:
{
"claudeCode.environmentVariables": [
{ "name": "ANTHROPIC_BASE_URL", "value": "https://api.wokey.ai" },
{ "name": "ANTHROPIC_AUTH_TOKEN", "value": "your Wokey API key" }
]
}
~/.claude/settings.json 中的值會傳到擴充功能啟動的程序,但不會傳到擴充功能本身的登入檢查。如果擴充功能一直要求登入,請使用上面的設定。
Claude 桌面版既不讀 ANTHROPIC_BASE_URL,也不讀 settings.json。設定閘道的步驟:
- 開啟 Help → Troubleshooting → Enable Developer Mode。
- 開啟 Developer → Configure Third-Party Inference,輸入閘道位址。
完整步驟請見 Claude Desktop 設定指南。
先用 curl 確認
在同一個終端機中,不經過 Claude Code 直接測試:
curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":1,"messages":[{"role":"user","content":"."}]}'
從回應可以判斷:
- 以
{"id":"msg_開頭: URL 和金鑰都沒問題,問題出在 Claude Code 的設定。 401且代碼為invalid_api_key: 金鑰缺少、打錯或已刪除。404且提到/v1/v1/messages: base URL 多了一個/v1。- curl 正常但 Claude Code 仍要求登入: Claude Code 本身沒有拿到憑證。請確認變數是在啟動
claude的同一個終端機中設定的,或把它們移到~/.claude/settings.json。
常見問題
ANTHROPIC_BASE_URL 要不要加 /v1?
不要。Claude Code 會在 base URL 後面接上 /v1/messages,寫成 https://api.wokey.ai/v1 會請求到 /v1/v1/messages 並回傳 404。串接 Wokey 請填 https://api.wokey.ai。
ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 要用哪個?
ANTHROPIC_AUTH_TOKEN 以 Authorization: Bearer 送出並立即生效;ANTHROPIC_API_KEY 以 x-api-key 送出,互動模式下需要先確認一次。Wokey 兩種都接受,建議使用 ANTHROPIC_AUTH_TOKEN。兩者同時設成不同的值,會得到 401 conflicting_api_key_headers。
只設定了 base URL,為什麼還在用我的 Claude 訂閱?
base URL 不是憑證。沒有設定 ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY 時,Claude Code 會繼續使用已儲存的 claude.ai 登入。補上閘道金鑰;想清除已儲存的登入,請執行 /logout。
改了環境變數,為什麼沒有生效?
~/.claude/settings.json 的 env 區塊優先於 shell 變數。先檢查那裡有沒有舊值,再執行 /status 查看目前的 base URL 和憑證來源。
VS Code 擴充功能裡怎麼設定 base URL?
在 VS Code 使用者設定 JSON 的 claudeCode.environmentVariables 中加入 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN。擴充功能的登入檢查不會讀取 ~/.claude/settings.json。