Nếu bạn đã thử trỏ Claude Code tới DeepSeek V4, OpenRouter, hoặc bất kỳ nhà cung cấp mô hình bên thứ ba nào khác, bạn có thể đã gặp phải lỗi này: `Invalid custom3p enterprise config`. Lỗi này khó hiểu, tài liệu không giải thích rõ ràng, và nó ngăn bạn thực hiện một điều mà Claude Code chính thức hỗ trợ. Hướng dẫn này sẽ phân tích chính xác ý nghĩa của “custom3p”, sáu lý do phổ biến nhất khiến cấu hình thất bại, và các bước khắc phục cho từng trường hợp. Nếu bạn đang cố gắng chạy vòng lặp agent của Claude Code thông qua DeepSeek hoặc một gateway LLM như LiteLLM, bạn sẽ tìm thấy các ví dụ cấu hình hoạt động tại đây. button
TL;DR
`Invalid custom3p enterprise config` có nghĩa là Claude Code không thể xác thực cấu hình nhà cung cấp bên thứ ba của bạn. “custom3p” là nhãn nội bộ của Claude Code cho bất kỳ điểm cuối API nào không phải của Anthropic được cấu hình qua `ANTHROPIC_BASE_URL`. Các nguyên nhân phổ biến nhất là: URL cơ sở có `/v1` thừa ở cuối, biến thông tin xác thực sai, tệp `settings.json` bị lỗi định dạng, và quá trình onboarding chưa hoàn tất trên cài đặt mới. Hãy khắc phục định dạng URL trước, nó giải quyết khoảng 60% các trường hợp.
Ý nghĩa thực sự của “custom3p”
Claude Code định tuyến các yêu cầu thông qua một trong bốn chế độ:
| Chế độ | Cách kích hoạt |
|---|---|
| API của Anthropic (mặc định) | Không có thiết lập ghi đè |
| Amazon Bedrock | CLAUDE_CODE_USE_BEDROCK=1 |
| Google Vertex AI | CLAUDE_CODE_USE_VERTEX=1 |
| Microsoft Foundry | CLAUDE_CODE_USE_FOUNDRY=1 |
| Bên thứ ba tùy chỉnh | ANTHROPIC_BASE_URL trỏ đến bất kỳ thứ gì khác |
Dòng cuối cùng là “custom3p”, tức là bên thứ ba tùy chỉnh. Khi `ANTHROPIC_BASE_URL` được đặt thành một máy chủ không phải của Anthropic (LiteLLM, OpenRouter, máy chủ vLLM cục bộ, một gateway doanh nghiệp), Claude Code sẽ dán nhãn nội bộ cho đường dẫn đó là “custom3p” và chạy một kiểm tra xác thực trước khi thực hiện cuộc gọi API đầu tiên. Nếu kiểm tra đó thất bại, bạn sẽ nhận được: `Invalid custom3p enterprise config`. Lỗi này đã xuất hiện trước các hạn chế năm 2026 của Anthropic đối với các công cụ bên thứ ba. Đây là một lỗi xác thực cấu hình, không phải là một chặn chính sách, nghĩa là bạn có thể khắc phục nó.
Tại sao các nhà phát triển lại gặp lỗi này bây giờ
Vào tháng 4 năm 2026, Anthropic đã chặn quyền truy cập gói đăng ký Claude Pro và Max đối với các công cụ agent bên thứ ba đã giả mạo ID client của Claude Code. Các công cụ như OpenClaw, vốn định tuyến các phiên Claude Code qua các backend của riêng họ, đã ngừng hoạt động chỉ sau một đêm. Đó là một vấn đề riêng biệt so với những gì bài viết này đề cập. Điều xảy ra tiếp theo là lý do bạn đang đọc bài viết này: các nhà phát triển bắt đầu sử dụng hỗ trợ nhà cung cấp bên thứ ba chính thức của Claude Code để định tuyến qua các backend rẻ hơn. Một chủ đề trên Reddit đã ghi lại việc chuyển vòng lặp agent của Claude Code sang DeepSeek V4 Pro qua OpenRouter, với chi phí 0.87 USD cho mỗi triệu token đầu ra so với 15 USD của Anthropic, tức là giảm chi phí khoảng 17 lần. Các dự án như DeepClaude đã đóng gói điều này thành một thiết lập bằng một lệnh. Vấn đề là: hỗ trợ nhà cung cấp bên thứ ba chính thức của Anthropic yêu cầu cấu hình doanh nghiệp (enterprise config) chính xác. Chỉ cần sai một trường là bạn sẽ gặp lỗi `Invalid custom3p enterprise config`. Hầu hết các hướng dẫn trực tuyến đều bỏ qua cấu hình doanh nghiệp hoặc hiển thị định dạng URL sai.
Nguyên nhân gốc 1: Ký tự /v1 thừa ở cuối ANTHROPIC_BASE_URL
Đây là lỗi phổ biến nhất. Claude Code tự động thêm `/v1/messages` vào bất kỳ URL nào bạn đặt. Nếu URL cơ sở của bạn đã bao gồm `/v1`, đường dẫn cuối cùng sẽ trở thành `/v1/v1/messages`, dẫn đến lỗi 404. Sai:
export ANTHROPIC_BASE_URL="https://api.openrouter.ai/api/v1"
Sai:
export ANTHROPIC_BASE_URL="https://litellm.yourcompany.com/v1"
Đúng:
export ANTHROPIC_BASE_URL="https://api.openrouter.ai/api"
Đúng:
export ANTHROPIC_BASE_URL="https://litellm.yourcompany.com"
Để xác minh URL cuối cùng mà Claude Code đang truy cập, hãy chạy lệnh curl này:
curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
"${ANTHROPIC_BASE_URL}/v1/messages" \
-d '{"model":"claude-sonnet-4-6","max_tokens":1,"messages":[{"role":"user","content":"hi"}]}'
Mã `200` hoặc `400` (yêu cầu không hợp lệ, nhưng điểm cuối tồn tại) có nghĩa là URL đã đúng. Mã `404` có nghĩa là bạn vẫn còn vấn đề với `/v1`.
Nguyên nhân gốc 2: Biến thông tin xác thực sai
Claude Code sử dụng hai biến môi trường khác nhau để xác thực tùy thuộc vào ngữ cảnh, và việc nhầm lẫn chúng sẽ khiến cấu hình doanh nghiệp thất bại trong quá trình xác thực mà không báo lỗi.
| Biến | Gửi dưới dạng | Khi nào sử dụng |
|---|---|---|
ANTHROPIC_API_KEY |
header x-api-key |
Các gateway định dạng Anthropic mong đợi xác thực bằng API key |
ANTHROPIC_AUTH_TOKEN |
header Authorization: Bearer |
Các gateway kiểu OAuth, LiteLLM, hầu hết các thiết lập OpenRouter |
Ví dụ, OpenRouter mong đợi một bearer token:
export ANTHROPIC_AUTH_TOKEN="sk-or-your-openrouter-key"
export ANTHROPIC_BASE_URL="https://openrouter.ai/api"
Sử dụng `ANTHROPIC_API_KEY` với OpenRouter sẽ gửi một header `x-api-key` mà OpenRouter bỏ qua — yêu cầu xác thực thất bại, và Claude Code báo cáo đó là một cấu hình doanh nghiệp không hợp lệ. Đối với LiteLLM:
export ANTHROPIC_AUTH_TOKEN="sk-litellm-your-virtual-key"
export ANTHROPIC_BASE_URL="https://your-litellm-server:4000"
Đối với một gateway DeepSeek hoặc một máy chủ vLLM cục bộ chạy bằng API key:
export ANTHROPIC_API_KEY="your-key-here"
export ANTHROPIC_BASE_URL="https://your-vllm-server"
Kiểm tra tài liệu xác thực của gateway của bạn để xác nhận nó mong đợi header nào.
Nguyên nhân gốc 3: Tệp settings.json bị lỗi định dạng
Nếu bạn đang đặt URL cơ sở và thông tin xác thực trong `~/.claude/settings.json` thay vì các biến môi trường, lỗi định dạng JSON sẽ khiến cấu hình doanh nghiệp thất bại trước khi bất kỳ yêu cầu nào được thực hiện. Những lỗi phổ biến nhất: Dấu phẩy thừa ở cuối (JSON không hợp lệ):
{
"env": {
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-your-key", ← dấu phẩy thừa ở cuối
}
}
Dấu ngoặc kép uốn lượn/thông minh (copy-paste từ tài liệu hoặc Word):
{
"env": {
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api" ← dấu ngoặc kép sai
}
}
Định dạng đúng:
{
"env": {
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-your-openrouter-key"
}
}
Xác thực tệp cài đặt của bạn trước khi khởi chạy Claude Code:
python3 -c "import json; json.load(open('~/.claude/settings.json'.replace('~', __import__('os').path.expanduser('~'))))" && echo "Valid JSON"
Hoặc sử dụng `jq`:
jq . ~/.claude/settings.json
Lỗi phân tích cú pháp ở đây có nghĩa là quá trình xác thực cấu hình doanh nghiệp không bao giờ hoàn tất — Claude Code không thể đọc cấu hình, vì vậy nó đánh dấu toàn bộ là không hợp lệ.
Nguyên nhân gốc 4: Cài đặt mới chưa hoàn tất quá trình onboarding
Claude Code kiểm tra tệp `~/.claude.json` để tìm `hasCompletedOnboarding: true` trước khi đọc cấu hình doanh nghiệp từ `settings.json`. Trên một cài đặt mới, cờ này không được đặt, vì vậy Claude Code bỏ qua cấu hình bên thứ ba tùy chỉnh của bạn và cố gắng xác thực thông qua luồng chuẩn của nó — điều này sẽ thất bại nếu bạn chưa cấu hình gói đăng ký Anthropic. Kiểm tra trạng thái hiện tại của bạn:
cat ~/.claude.json | python3 -m json.tool 2>/dev/null | grep hasCompletedOnboarding
Nếu khóa đó bị thiếu hoặc là false, Claude Code đang ở chế độ onboarding và cấu hình doanh nghiệp trong `settings.json` của bạn sẽ không được đọc. Cách khắc phục: Thêm cờ onboarding vào `~/.claude.json`:
{
"hasCompletedOnboarding": true,
"primaryApiKey": "sk-placeholder"
}
Giá trị `primaryApiKey` là một giá trị giữ chỗ — nó sẽ bị ghi đè bởi cấu hình doanh nghiệp của bạn. Đặt nó thành bất kỳ giá trị nào bắt đầu bằng `sk-` để vượt qua kiểm tra định dạng. Sau khi lưu, hãy khởi động lại Claude Code.
Nguyên nhân gốc 5: Gateway không chuyển tiếp các header cần thiết
Quá trình xác thực cấu hình doanh nghiệp của Claude Code bao gồm một bắt tay tính năng — nó gửi một header `anthropic-beta` tới gateway để thương lượng về các khả năng có sẵn. Nếu gateway của bạn loại bỏ header này, Claude Code sẽ nhận được một phản hồi không khớp với những gì nó mong đợi, và báo cáo `Invalid custom3p enterprise config`. Các header bắt buộc mà gateway của bạn phải chuyển tiếp:
anthropic-beta
anthropic-version
X-Claude-Code-Session-Id
Đối với LiteLLM, điều này hoạt động mặc định từ v1.82.9 trở lên. Đối với các proxy tùy chỉnh hoặc thiết lập nginx, hãy thêm chuyển tiếp header một cách rõ ràng:
location /v1/ {
proxy_pass http://backend;
proxy_set_header anthropic-beta $http_anthropic_beta;
proxy_set_header anthropic-version $http_anthropic_version;
proxy_set_header X-Claude-Code-Session-Id $http_x_claude_code_session_id;
}
Nếu bạn không thể sửa đổi gateway để chuyển tiếp header beta, hãy đặt biến này trước khi khởi chạy:
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
Điều này yêu cầu Claude Code bỏ qua các tính năng yêu cầu header beta để các yêu cầu thành công thông qua các gateway không thể chuyển tiếp nó. Bạn sẽ mất quyền truy cập vào một số tính năng thử nghiệm, nhưng vòng lặp agent cốt lõi vẫn hoạt động.
Nguyên nhân gốc 6: Xung đột chính sách doanh nghiệp
Nếu bạn đang sử dụng gói Claude Team hoặc Enterprise và quản trị viên của bạn đã triển khai các cài đặt được quản lý, thì các cài đặt đó sẽ ưu tiên hơn mọi thứ khác — bao gồm cả tệp `~/.claude/settings.json` và các biến môi trường của bạn. Một chính sách được quản lý mà hạn chế `availableModels` hoặc chặn các URL cơ sở tùy chỉnh sẽ gây ra lỗi `Invalid custom3p enterprise config` ngay cả khi cấu hình cục bộ của bạn là chính xác. Kiểm tra xem các cài đặt được quản lý có đang hoạt động hay không:
ls ~/.claude/managed-settings.json 2>/dev/null && echo "Managed settings found"
Hoặc từ bên trong Claude Code:
/status
Nếu “Cài đặt được quản lý” (Managed settings) hiển thị là đang hoạt động, bạn cần nói chuyện với quản trị viên của mình. Họ có thể:
- Thêm miền gateway của bạn vào danh sách các URL cơ sở được phép
- Tạo danh sách
availableModelsbao gồm các ID mô hình của gateway - Miễn trừ bạn khỏi hạn chế URL cơ sở tùy chỉnh
Đối với các triển khai doanh nghiệp mà bạn kiểm soát, các cài đặt được quản lý nằm trong `/Library/Application Support/ClaudeCode/managed-settings.json` (macOS) hoặc đường dẫn tương đương trên Windows/Linux.
Các cấu hình hoạt động hoàn chỉnh
Claude Code + OpenRouter (DeepSeek V4 Pro)
OpenRouter cung cấp một API tương thích với Anthropic. Cấu hình này chạy toàn bộ vòng lặp agent của Claude Code thông qua DeepSeek V4 Pro: Trong tệp ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-your-openrouter-key",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek/deepseek-v4-pro"
}
}
Việc ghi đè tên mô hình là bắt buộc vì Claude Code mặc định là `claude-sonnet-4-6` ngay cả khi bạn đã thay đổi URL cơ sở. Nếu không ghim mô hình, yêu cầu sẽ đến OpenRouter yêu cầu `claude-sonnet-4-6`, điều này có thể thành công (OpenRouter cũng hỗ trợ Claude) hoặc có thể định tuyến không chính xác tùy thuộc vào gói của bạn. Lưu ý: OpenRouter không triển khai đầy đủ đặc tả streaming của Anthropic cho các lệnh gọi công cụ — các đối số của lệnh gọi hàm có thể trống trong một số trường hợp ngoại lệ. Vòng lặp agent chính vẫn hoạt động, nhưng các chuỗi đa công cụ phức tạp có thể bị lỗi. Hãy theo dõi trạng thái tương thích của OpenRouter để biết các cập nhật.
Claude Code + LiteLLM (bất kỳ nhà cung cấp nào)
LiteLLM là gateway tương thích nhất với Claude Code — nó xử lý chuyển tiếp header một cách chính xác và hỗ trợ định tuyến mô hình qua các mô hình của OpenAI, Anthropic, Vertex, Bedrock và Hugging Face. Tệp config.yaml của LiteLLM:
model_list:
- model_name: claude-sonnet-4-6
litellm_params:
model: deepseek/deepseek-v4
api_key: "sk-your-deepseek-key"
- model_name: claude-opus-4-7
litellm_params:
model: deepseek/deepseek-v4-pro
api_key: "sk-your-deepseek-key"
Tệp ~/.claude/settings.json của Claude Code:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:4000",
"ANTHROPIC_AUTH_TOKEN": "sk-litellm-your-key"
}
}
Với thiết lập này, Claude Code gửi `claude-sonnet-4-6` trong trường mô hình. LiteLLM chặn yêu cầu đó và định tuyến nó tới DeepSeek V4, vì vậy bạn không cần phải ghi đè tên mô hình trong cấu hình Claude Code.
Claude Code + vLLM cục bộ
Để suy luận mô hình cục bộ với vLLM, hãy khởi động máy chủ ở chế độ tương thích với Anthropic:
python -m vllm.entrypoints.openai.api_server \
--model deepseek-ai/DeepSeek-V3 \
--dtype auto \
--api-key local-key \
--port 8000
Sau đó cấu hình Claude Code:
export ANTHROPIC_BASE_URL="http://localhost:8000"
export ANTHROPIC_API_KEY="local-key"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-ai/DeepSeek-V3"
Gỡ lỗi lỗi
Nếu không có cách khắc phục nào ở trên hiệu quả, hãy chạy Claude Code với chế độ ghi nhật ký gỡ lỗi:
claude --debug 2>&1 | head -100
Kết quả gỡ lỗi hiển thị URL chính xác đang được gọi, các header đã gửi và phản hồi nhận được. Hãy tìm:
Sending request to:— xác nhận URL cơ sởResponse status:— trạng thái HTTP từ gateway của bạnenterprise config error:— thông báo xác thực nội bộ
Để gỡ lỗi phía gateway, hãy kiểm tra yêu cầu chính xác mà Claude Code gửi:
curl -v -X POST "${ANTHROPIC_BASE_URL}/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${ANTHROPIC_AUTH_TOKEN}" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: max-tokens-3-5-sonnet-2024-07-15" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 10,
"messages": [{"role": "user", "content": "hi"}]
}'
Một gateway hợp lệ sẽ trả về mã 200 cùng với cấu trúc tin nhắn. Nếu bạn nhận được 401, 403, hoặc 422, đó là vấn đề xác thực hoặc định dạng ở phía gateway — không phải vấn đề cấu hình của Claude Code.
Kiểm tra API với Apidog
Khi bạn đang gỡ lỗi tích hợp nhà cung cấp bên thứ ba, Apidog giúp bạn dễ dàng kiểm tra chính xác các yêu cầu và phản hồi đi qua gateway LLM của bạn. Bạn có thể tạo một bộ sưu tập cho điểm cuối `/v1/messages` của gateway, lưu các mẫu yêu cầu hoạt động và so sánh các phản hồi giữa các nhà cung cấp mà không cần chạy lại Claude Code mỗi lần. buttonTải xuống Apidog và tạo một bộ sưu tập mới trỏ đến URL gateway của bạn. Thêm các header `anthropic-version`, `anthropic-beta` và `Authorization` làm biến cấp bộ sưu tập — bằng cách đó, bạn có thể kiểm tra các cấu hình gateway khác nhau bằng cách thay đổi một biến thay vì chỉnh sửa từng yêu cầu.

Điều này đặc biệt hữu ích khi gỡ lỗi các vấn đề chuyển tiếp header gây ra lỗi `Invalid custom3p enterprise config`. Bạn có thể xác nhận các header nào mà gateway của bạn chuyển tiếp trước khi lãng phí thời gian tìm kiếm lỗi trong cấu hình Claude Code.
Các cấu hình Claude Code liên quan đáng biết
Vô hiệu hóa sự phụ thuộc vào header beta
Một số gateway doanh nghiệp không thể chuyển tiếp các header tùy chỉnh. Nếu đó là trường hợp của bạn:
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
Điều này loại bỏ bước bắt tay tính năng beta khỏi quá trình xác thực cấu hình doanh nghiệp. Vòng lặp agent vẫn hoạt động; bạn sẽ mất quyền truy cập vào các tính năng được bảo vệ bởi header beta (một số biến thể tư duy mở rộng, một số định dạng gọi công cụ nhất định).
Trình chọn mô hình với tính năng phát hiện gateway
Kể từ Claude Code v2.1.129, bạn có thể tự động điền trình chọn `/model` từ danh sách mô hình của gateway của bạn:
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
Claude Code truy vấn điểm cuối `/v1/models` của gateway của bạn khi khởi động và thêm các mô hình được phát hiện vào trình chọn. Chỉ những mô hình có ID bắt đầu bằng `claude` hoặc `anthropic` mới được thêm vào — đối với các mô hình khác như DeepSeek, hãy ghim chúng thủ công bằng `ANTHROPIC_DEFAULT_SONNET_MODEL`.
Mục nhập trình chọn mô hình tùy chỉnh
Thêm một mô hình tùy chỉnh duy nhất vào trình chọn mà không ảnh hưởng đến các cài đặt khác:
export ANTHROPIC_CUSTOM_MODEL_OPTION="deepseek/deepseek-v4-pro"
export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="DeepSeek V4 Pro"
export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="17x cheaper than Claude Opus"
Điều này xuất hiện ở cuối trình chọn `/model`, giúp dễ dàng chuyển đổi giữa mô hình gateway của bạn và mô hình Claude mặc định trong suốt phiên làm việc.
Các hướng dẫn liên quan
Nếu bạn đang khám phá khả năng agent của Claude Code với các backend mô hình tùy chỉnh, các bài đăng này đề cập đến các chủ đề liền kề:
- Cách viết tệp AGENTS.md cho nhóm phát triển API — cấu hình hành vi của Claude Code cho ngăn xếp cụ thể của bạn
- Ruflo: Điều phối đa tác nhân cho Claude Code — thêm bầy tác nhân, bộ nhớ bền vững và hơn 100 công cụ MCP vào Claude Code
- Nhận API Claude không giới hạn miễn phí qua Puter.js — giải pháp thay thế dựa trên trình duyệt nếu bạn đang xây dựng ứng dụng client
- Các LLM cục bộ tốt nhất năm 2026 — nếu bạn muốn chạy suy luận cục bộ thông qua vLLM
Câu hỏi thường gặp
Sử dụng nhà cung cấp bên thứ ba với Claude Code có vi phạm điều khoản của Anthropic không? Không. Anthropic tài liệu hóa và chính thức hỗ trợ mẫu `ANTHROPIC_BASE_URL` để định tuyến qua Bedrock, Vertex AI, Foundry và các gateway tùy chỉnh. Điều mà Anthropic đã chặn vào tháng 4 năm 2026 là các công cụ bên thứ ba giả mạo ID client của Claude Code để truy cập API của Anthropic với giá gói đăng ký. Việc sử dụng gateway của riêng bạn hoặc một nhà cung cấp như OpenRouter với API key của riêng bạn hoàn toàn là một vấn đề khác. Vòng lặp agent của Claude Code có hoạt động với DeepSeek V4 Pro không? Vòng lặp cốt lõi hoạt động — chỉnh sửa tệp, lệnh shell, các tác vụ đa bước. Hai điều không hoạt động thông qua các nhà cung cấp bên thứ ba: công cụ máy chủ MCP và đầu vào hình ảnh/thị giác. Nếu quy trình làm việc của bạn cần những tính năng đó, bạn cần duy trì sử dụng API của Anthropic hoặc Bedrock/Vertex. Tại sao lỗi lại ghi “enterprise config” (cấu hình doanh nghiệp) khi tôi không sử dụng gói doanh nghiệp? Claude Code sử dụng nhãn “enterprise config” (cấu hình doanh nghiệp) cho bất kỳ thiết lập nhà cung cấp bên thứ ba nào, bất kể cấp độ gói đăng ký của bạn. Đó là một nhãn ở cấp độ mã, không phải là hạn chế của gói. Các nhà phát triển cá nhân sử dụng gói miễn phí hoặc Pro đều có thể cấu hình và sử dụng các nhà cung cấp bên thứ ba tùy chỉnh. Tôi có thể chuyển đổi giữa Anthropic và nhà cung cấp bên thứ ba trong quá trình phiên làm việc không? Không thể trong một phiên làm việc duy nhất. URL cơ sở được đọc khi khởi động. Để chuyển đổi nhà cung cấp, hãy thoát Claude Code, thay đổi các biến môi trường hoặc cài đặt của bạn, và bắt đầu một phiên làm việc mới. Công cụ DeepClaude gói gọn việc này trong một cờ CLI (`--backend ds`, `--backend anthropic`) tự động xử lý việc chuyển đổi môi trường cho bạn. Gateway của tôi nằm sau tường lửa công ty. Claude Code có hỗ trợ cấu hình proxy không? Có. Đặt `HTTPS_PROXY` trước khi khởi chạy:
export HTTPS_PROXY="http://your-proxy:8080"
export ANTHROPIC_BASE_URL="https://your-internal-gateway"
Để proxy công ty chặn TLS, hãy thêm chứng chỉ CA của bạn:
export NODE_EXTRA_CA_CERTS="/path/to/corporate-ca-bundle.pem"
Lỗi vẫn xuất hiện mặc dù lệnh curl của tôi hoạt động. Điều gì khác biệt? Claude Code thực hiện một yêu cầu xác thực preflight bổ sung mà curl không tái tạo. Hãy chạy Claude Code với `--debug` để xem yêu cầu preflight chính xác và so sánh nó với kiểm tra curl của bạn. Các điểm khác biệt phổ biến: header `anthropic-beta`, header `X-Claude-Code-Session-Id` và định dạng JSON body chính xác cho yêu cầu xác thực.
Kết luận
`Invalid custom3p enterprise config` là một lỗi xác thực cấu hình, không phải là một chặn chính sách. Trước tiên hãy khắc phục định dạng `ANTHROPIC_BASE_URL` (bỏ `/v1`), sau đó kiểm tra biến thông tin xác thực của bạn (`ANTHROPIC_AUTH_TOKEN` so với `ANTHROPIC_API_KEY`), xác thực tệp `settings.json` của bạn để tìm lỗi JSON và đảm bảo quá trình onboarding đã hoàn tất trên các cài đặt mới. Sau khi cấu hình được xác thực, vòng lặp agent đầy đủ của Claude Code sẽ chạy qua backend bạn đã chọn. DeepSeek V4 Pro thông qua OpenRouter hoặc LiteLLM đáp ứng phần lớn các trường hợp sử dụng của Claude Code với một phần nhỏ chi phí API của Anthropic — các hạn chế chính là công cụ MCP và đầu vào hình ảnh/thị giác, vốn yêu cầu API của Anthropic. button
