Claude Code proxy: cấu hình HTTPS_PROXY, chứng chỉ và mTLS
Claude Code proxy là cách cho công cụ dòng lệnh Claude Code đi ra Internet qua proxy của công ty hoặc proxy riêng. Claude Code đọc biến môi trường proxy chuẩn, nhưng có nhiều chi tiết dễ trượt: không hỗ trợ SOCKS, chứng chỉ CA riêng, mTLS và tiến trình chạy nền. ProxyVN đối chiếu tài liệu chính thức để dựng sơ đồ đường mạng và bộ ca kiểm kết nối.
Claude Code proxy và các điểm đến của CLI
CLI nói chuyện với những máy chủ nào

CLI cần tới nhiều tên miền
Claude Code là trợ lý lập trình chạy trong terminal, ứng dụng desktop và IDE. Khi chạy, nó không chỉ gọi một API duy nhất. Trang cấu hình mạng doanh nghiệp của Claude Code liệt kê nhiều tên miền với vai trò khác nhau. api.anthropic.com nhận request mô hình, claude.ai và platform.claude.com lo đăng nhập. downloads.claude.ai phục vụ bộ cài và cập nhật, còn registry.npmjs.org phục vụ plugin và máy chủ MCP chạy bằng npx.
Danh sách này quyết định cách cấu hình proxy. Nếu proxy công ty chỉ mở api.anthropic.com, đăng nhập lần đầu sẽ thất bại vì không tới được platform.claude.com. Nếu chặn registry.npmjs.org, các máy chủ MCP khởi chạy bằng npx sẽ không tải được gói.
Cấu hình Claude Code proxy bắt đầu bằng việc biết CLI cần tới đâu, không phải bằng việc gõ biến môi trường. Phần sau có bảng rút gọn các tên miền chính.
Sơ đồ đường mạng
Đường đi điển hình trong mạng công ty có bốn chặng. CLI trên máy lập trình viên gửi request tới proxy công ty. Proxy kiểm danh sách cho phép rồi mở đường hầm tới máy chủ Anthropic. Nếu công ty có thiết bị kiểm tra TLS, chứng chỉ trả về cho CLI là chứng chỉ do CA nội bộ ký. Nếu tổ chức dùng mTLS, CLI còn phải trình chứng chỉ máy khách.
Ngoài đường tới Anthropic, CLI còn có những đường phụ: tải plugin từ github.com, tải gói npm, gửi số liệu vận hành tới máy chủ Datadog nếu không tắt. Mỗi đường phụ đều phải đi qua proxy hoặc được cho phép rõ ràng. Lỗi của đường phụ thường hiện ra rất muộn, khi lần đầu dùng tới tính năng đó.
Ranh giới với các bài proxy cho AI
Bài proxy cho API OpenAI và ChatGPT và bài proxy cho AI agent tự động nói về proxy cho ứng dụng tự viết gọi mô hình. Bài browser automation với agent-browser nói về công cụ trình duyệt mà Claude Code có thể gọi. Bài này chỉ nói về mạng của chính tiến trình Claude Code: biến proxy, chứng chỉ, mTLS và tiến trình chạy nền.
Proxy không cấp thêm quyền, không tăng hạn mức sử dụng và không thay thế tài khoản. Hạn mức gắn với tài khoản và gói, không gắn với IP. Bài không hướng dẫn dùng proxy để lách giới hạn hay đổi vùng tài khoản.
Cấu hình Claude Code proxy bằng biến môi trường
HTTPS_PROXY, HTTP_PROXY và NO_PROXY
Tài liệu ghi Claude Code tôn trọng các biến proxy chuẩn. HTTPS_PROXY là lựa chọn được khuyên, HTTP_PROXY dùng khi không có HTTPS. Chữ thường cũng được, và Claude Code lấy biến đầu tiên có giá trị theo thứ tự https_proxy, HTTPS_PROXY, http_proxy, HTTP_PROXY.
# Proxy HTTPS (khuyen dung)
export HTTPS_PROXY=https://proxy.example.com:8080
# Proxy HTTP neu khong co HTTPS
export HTTP_PROXY=http://proxy.example.com:8080
# Bo qua proxy, phan cach bang dau cach hoac dau phay
export NO_PROXY="localhost,192.168.1.1,example.com,.example.com"
Thứ tự ưu tiên có hệ quả thực tế. Nếu máy đã có https_proxy chữ thường từ một công cụ khác, giá trị đó thắng HTTPS_PROXY chữ hoa mà anh em vừa đặt. Gặp tình trạng đặt biến mà không thấy thay đổi, kiểm cả bốn biến bằng lệnh env hoặc Get-ChildItem Env: trên PowerShell.
NO_PROXY nhận danh sách cách nhau bằng dấu cách hoặc dấu phẩy, giá trị * bỏ qua proxy cho mọi request. Tài liệu ghi Claude Code không bao giờ gửi kết nối WebSocket tới localhost, ::1 hay 127.0.0.0/8 qua proxy, nên không cần thêm loopback vào NO_PROXY cho các kết nối đó. Bài no_proxy là gì giải thích thêm quy ước viết danh sách bỏ qua.
Biến được đọc một lần khi khởi động
Tài liệu nhấn mạnh: đặt biến trước khi chạy Claude Code. Biến trong shell được đọc một lần lúc khởi động, phiên đang chạy không nhận thay đổi sau đó. Đổi proxy giữa chừng thì phải thoát và mở lại phiên.
Đây là nguồn nhầm lẫn hay gặp. Lập trình viên đổi HTTPS_PROXY trong cùng terminal, thấy request vẫn lỗi, nghĩ cấu hình mới sai. Thực ra phiên cũ vẫn dùng giá trị cũ. Mở phiên mới rồi mới đánh giá.
Không hỗ trợ SOCKS

Không hỗ trợ SOCKS
Tài liệu ghi ngắn gọn: Claude Code không hỗ trợ proxy SOCKS. Nếu gói proxy chỉ có cổng SOCKS5, cần một proxy HTTP trung gian chuyển tiếp sang SOCKS, hoặc dùng cổng HTTP của nhà cung cấp. Đặt socks5:// vào HTTPS_PROXY sẽ không có tác dụng như mong đợi.
Bài proxy HTTP và SOCKS5 so sánh hai loại. Với Claude Code, lựa chọn chỉ còn proxy HTTP hoặc HTTPS.
Xác thực Claude Code proxy
Basic auth trong URL
Khi proxy cần tên và mật khẩu, tài liệu hướng dẫn ghi thẳng vào URL proxy theo dạng http://username:[email protected]:8080. Tài liệu kèm cảnh báo không ghi cứng mật khẩu trong script, nên dùng biến môi trường hoặc kho bí mật.
export HTTPS_PROXY="http://$PROXY_USER:$PROXY_PASS_ENCODED@$PROXY_HOST:$PROXY_PORT"
Vì tài khoản nằm trong URL, mật khẩu có ký tự @, #, : hay / phải mã hóa phần trăm. Ví dụ mật khẩu p@ss#2026 viết thành p%40ss%232026. Biến PROXY_PASS_ENCODED trong ví dụ là mật khẩu đã mã hóa. Bài định dạng proxy có bảng mã hóa các ký tự hay gặp.
URL sai định dạng bị chặn ngay lúc khởi động
Tài liệu ghi phần lớn thiết lập mạng không được kiểm khi đọc, lỗi chỉ lộ ra ở request sau. Ngoại lệ duy nhất là URL proxy: nếu không đọc được, ví dụ thiếu tiền tố http://, Claude Code dừng khởi động và báo tên biến cần sửa.
Đây là hành vi có lợi. Một chuỗi kiểu proxy.example.com:8080 thiếu tiền tố sẽ không âm thầm bị bỏ qua mà báo lỗi rõ ràng. Nếu thấy lỗi này, thêm http:// hoặc https:// vào đầu giá trị.
NTLM, Kerberos và cổng LLM
Với proxy cần xác thực nâng cao như NTLM hay Kerberos, tài liệu gợi ý dùng dịch vụ LLM Gateway hỗ trợ phương thức xác thực đó. Claude Code không tự nói NTLM với proxy. Trong mạng công ty dùng Active Directory, đây là điểm cần trao đổi với đội hạ tầng trước khi triển khai rộng.
Một cách khác hay gặp là chạy một proxy cục bộ trên máy lập trình viên, proxy này tự xác thực NTLM với proxy công ty và mở cổng HTTP không xác thực cho Claude Code. Cách này phổ biến với nhiều công cụ dòng lệnh, nhưng làm tăng bề mặt cần quản lý. Chỉ dùng khi chính sách công ty cho phép.
Claude Code chỉ hiểu proxy HTTP hoặc HTTPS với Basic auth trong URL. SOCKS không được hỗ trợ, NTLM và Kerberos cần một cổng trung gian.
Claude Code proxy với chứng chỉ CA riêng
Kho chứng chỉ mặc định
Theo tài liệu, mặc định Claude Code tin cả bộ chứng chỉ Mozilla đi kèm và kho chứng chỉ của hệ điều hành. Việc đọc kho hệ điều hành cần runtime có tls.getCACertificates: bộ cài native luôn có, bản cài qua npm cần Node 22.15 trở lên. Với Node cũ hơn, chỉ có bộ đi kèm và NODE_EXTRA_CA_CERTS.
Điều này giải thích vì sao cùng một máy, bản cài native chạy tốt sau proxy kiểm tra TLS, còn bản npm trên Node cũ báo lỗi chứng chỉ. Proxy kiểm tra TLS của công ty chạy được không cần cấu hình thêm khi chứng chỉ gốc đã cài vào kho hệ điều hành và runtime đọc được kho đó.
CLAUDE_CODE_CERT_STORE
Biến CLAUDE_CODE_CERT_STORE nhận danh sách nguồn cách nhau bằng dấu phẩy: bundled cho bộ Mozilla đi kèm, system cho kho hệ điều hành. Mặc định là bundled,system. Tài liệu ghi biến này không có khóa riêng trong settings.json, phải đặt qua khối env hoặc môi trường tiến trình.
# Chi tin kho chung chi cua he dieu hanh
export CLAUDE_CODE_CERT_STORE=system
# Them chung chi CA noi bo
export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/corp-ca.pem
Dùng system khi chính sách công ty quản lý mọi CA tin cậy qua kho hệ điều hành. Dùng NODE_EXTRA_CA_CERTS khi có tệp PEM của CA nội bộ mà kho hệ điều hành chưa có. Đừng tắt kiểm tra chứng chỉ để chữa lỗi, vì làm vậy mở cửa cho tấn công xen giữa.
Proxy làm hỏng thân request nén
Tài liệu có một ghi chú cụ thể: nếu proxy kiểm tra TLS xử lý sai thân request nén gzip, đặt CLAUDE_CODE_GZIP_REQUEST_BODIES=0 để tắt nén cho request API, số liệu vận hành và đăng artifact. Triệu chứng thường là request bị từ chối hoặc lỗi lạ chỉ khi qua proxy công ty, trong khi mạng nhà chạy bình thường.
Đây là ví dụ điển hình cho việc proxy không chỉ chuyển tiếp mà còn can thiệp vào nội dung. Với proxy HTTP thông thường kiểu CONNECT, thân request được mã hóa đầu cuối, proxy không chạm tới. Chỉ thiết bị giải mã TLS mới gây ra vấn đề này.
Claude Code proxy với mTLS
Ba biến cho chứng chỉ máy khách
Với môi trường yêu cầu chứng chỉ máy khách, tài liệu dùng ba biến: CLAUDE_CODE_CLIENT_CERT cho tệp chứng chỉ, CLAUDE_CODE_CLIENT_KEY cho khóa riêng, CLAUDE_CODE_CLIENT_KEY_PASSPHRASE cho mật khẩu khóa nếu khóa được mã hóa.
export CLAUDE_CODE_CLIENT_CERT=/path/to/client-cert.pem
export CLAUDE_CODE_CLIENT_KEY=/path/to/client-key.pem
export CLAUDE_CODE_CLIENT_KEY_PASSPHRASE="$KEY_PASSPHRASE"
mTLS thường đi cùng cổng LLM của công ty, nơi cổng kiểm chứng chỉ máy khách trước khi chuyển request tới mô hình. Proxy chuyển tiếp thông thường không cần mTLS, nhưng hai cơ chế có thể dùng cùng lúc.
Xoay chứng chỉ khi đang chạy
Tài liệu mô tả kỹ cách Claude Code nhận chứng chỉ mới. Nó đọc tệp lúc khởi động và đọc lại mỗi khi áp dụng cấu hình. Khi request API lỗi ở mức kết nối như reset hay lỗi bắt tay TLS, nó đọc lại cả hai tệp và thử lại với cặp mới. Hành vi đọc lại khi lỗi kết nối có từ bản 2.1.232.
Có vài điểm cần nhớ. Claude Code không theo dõi tệp, chỉ đọc lại khi có lỗi phù hợp hoặc khi áp dụng cấu hình. Nếu cổng hoàn tất bắt tay rồi trả lỗi HTTP, nó không đọc lại. Nếu đọc lại đúng lúc tệp đang ghi dở, cặp không khớp, nó giữ cặp cũ. Thay tệp trước khi cặp hiện tại hết hạn để lần khởi động sau không nạp cặp đã hết hạn.
Phiên trên cloud và desktop
Với phiên chạy trên cloud, tài liệu ghi môi trường lưu trữ tự quản lý kết nối tới API. Vì vậy Claude Code bỏ qua các biến mTLS, NODE_EXTRA_CA_CERTS và vài biến khác khi chúng đến từ khối env của tệp cấu hình. Với Claude Desktop khi ứng dụng quản lý kết nối nhà cung cấp, biến proxy và chứng chỉ chỉ được đọc từ managed settings và ~/.claude/settings.json, không đọc từ tệp cấu hình trong kho mã.
Quy tắc này chặn một rủi ro bảo mật cụ thể: một kho mã lấy về từ bên ngoài không thể tự đổi đường proxy hay chứng chỉ của phiên. Với nhóm làm việc trên nhiều kho mã, đây là lý do nên đặt proxy ở cấp người dùng hoặc cấp quản lý, không đặt trong kho.
Đặt Claude Code proxy trong settings.json
Khối env
Tài liệu ghi mọi biến trên trang mạng doanh nghiệp đều có thể đặt trong settings.json của Claude Code. Khối env trong ~/.claude/settings.json áp cho mọi phiên của người dùng.
{
"env": {
"HTTPS_PROXY": "http://proxy.corp.example:8080",
"NO_PROXY": "localhost,127.0.0.1,.corp.example",
"NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/corp-ca.pem"
}
}
Không đặt mật khẩu proxy trong tệp này nếu tệp có thể bị sao lưu hay đồng bộ ra ngoài. Với proxy có tài khoản, cân nhắc proxy xác thực theo IP máy hoặc theo chứng chỉ, hoặc để đội hạ tầng cấp qua managed settings.
Tiến trình chạy nền cần cấu hình trong settings

Phiên nền đọc cấu hình từ settings
Tài liệu có phần riêng cho agent chạy nền. Các phiên nền không chạy trong terminal đã khởi động chúng. Một tiến trình giám sát theo người dùng khởi động khi cần, sống lâu hơn shell và chứa mọi phiên nền. Tiến trình này thừa hưởng môi trường của shell nào khởi động nó đầu tiên.
Hệ quả là nếu chỉ export biến proxy trong shell, phiên nền có khi nhận được, có khi không, tùy shell nào khởi động tiến trình giám sát. Tài liệu khuyên đặt cùng các biến đó trong khối env của ~/.claude/settings.json hoặc managed settings, vì đó là cấu hình duy nhất tới được mọi phiên nền trên mọi máy.
Thứ tự ưu tiên giữa các tầng cấu hình
Claude Code có nhiều tầng cấu hình: managed settings của tổ chức, cấu hình người dùng, cấu hình dự án và biến môi trường của tiến trình. Với proxy, cách gọn nhất là chọn một tầng và ghi rõ trong tài liệu nội bộ. Đội hạ tầng dùng managed settings cho toàn công ty, cá nhân dùng ~/.claude/settings.json.
Tránh đặt proxy ở nhiều tầng cùng lúc với giá trị khác nhau. Khi có sự cố, rất khó biết giá trị nào đang có hiệu lực. Lệnh /status ở phần sau giúp xem giá trị đang dùng.
Danh sách tên miền cho Claude Code proxy
Các tên miền chính
Bảng dưới rút gọn từ tài liệu, chỉ giữ các tên miền mà hầu hết cài đặt CLI đều cần. Danh sách đầy đủ và cập nhật nằm trong trang cấu hình mạng.
Tên miền |
Dùng cho |
|---|---|
api.anthropic.com |
Request mô hình, kiểm tra an toàn WebFetch, cờ tính năng |
claude.ai, claude.com |
Đăng nhập tài khoản claude.ai |
platform.claude.com |
Đăng nhập Console, trao đổi và làm mới token OAuth |
sso.claude.com |
Đăng nhập SSO của tổ chức |
mcp-proxy.anthropic.com |
Connector MCP từ claude.ai |
downloads.claude.ai |
Bộ cài native, tự cập nhật, tải plugin |
registry.npmjs.org |
Plugin, máy chủ MCP chạy bằng npx, cài qua npm |
github.com |
Kho plugin và marketplace |
raw.githubusercontent.com |
Ghi chú phát hành |
Hai tên miền Datadog trong tài liệu chỉ mang số liệu vận hành tùy chọn. Đặt CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC tắt cả hai. Với tổ chức chặt chẽ, đây là cách rút gọn danh sách cho phép.
Khi dùng nhà cung cấp đám mây hoặc cổng LLM
Khi dùng Amazon Bedrock, Google Cloud hay Microsoft Foundry, request mô hình và xác thực đi tới nhà cung cấp đó thay vì api.anthropic.com. Tài liệu lưu ý công cụ WebFetch vẫn gọi api.anthropic.com cho bước kiểm an toàn tên miền, trừ khi đặt skipWebFetchPreflight: true trong settings.
Với cổng LLM đặt qua ANTHROPIC_BASE_URL, tài liệu ghi bước kiểm tính năng fast mode vẫn đi tới api.anthropic.com qua proxy HTTP đã cấu hình, không đi tới cổng. Nếu chặn hẳn api.anthropic.com trong mô hình này, một số tính năng có thể không hoạt động.
Danh sách IP của tổ chức
Nếu tổ chức bật danh sách IP cho phép với Claude, tài liệu khuyên đưa bridge.claudeusercontent.com đi cùng đường ra với claude.ai và api.anthropic.com. Nếu proxy đưa tên miền này ra bằng một IP không có trong danh sách, phần kết nối với tiện ích Claude in Chrome sẽ lỗi dù phần còn lại chạy bình thường.
Điểm này cũng cho thấy một nguyên tắc chung: khi dùng proxy có nhiều IP ra, các dịch vụ kiểm IP sẽ thấy các IP khác nhau cho từng tên miền. Muốn hành vi ổn định, giữ một IP ra cố định cho nhóm tên miền liên quan.
Kiểm Claude Code proxy đã nạp đúng

Kiểm Claude Code proxy đã nạp
claude --debug
Tài liệu hướng dẫn chạy claude --debug để xác nhận cấu hình đã nạp trước khi gửi request. Log ghi vào ~/.claude/debug/<session-id>.txt chứ không in ra terminal, hoặc vào đường dẫn đặt bằng --debug-file. Tìm các dòng xác nhận từng tệp đã nạp.
claude --debug --debug-file ./claude-net-debug.txt
Các dòng mẫu trong tài liệu gồm CA certs: Appended extra certificates from NODE_EXTRA_CA_CERTS, mTLS: Loaded client certificate from CLAUDE_CODE_CLIENT_CERT và mTLS: Loaded client key from CLAUDE_CODE_CLIENT_KEY. Nếu không đọc được tệp, log có dòng Failed to read hoặc Failed to load kèm lý do.
Lệnh /status
Trong phiên tương tác, lệnh /status hiển thị các dòng liên quan tới mạng. Dòng Proxy cho biết URL proxy đang dùng, đánh dấu giá trị không đọc được là không hợp lệ và bị bỏ qua. Dòng mTLS client cert và mTLS client key chỉ xuất hiện khi tệp nạp thành công.
Dòng Additional CA cert(s) hiện đường dẫn NODE_EXTRA_CA_CERTS nhưng không kiểm tệp đã nạp được chưa. Tài liệu khuyên xác nhận dòng này qua log debug. Khi chia sẻ ảnh chụp /status cho đội hạ tầng, nhớ che phần tài khoản trong URL proxy nếu có.
Bộ ca kiểm kết nối
Ngoài hai cách trên, mình đề xuất bộ ca kiểm sau khi triển khai cho một nhóm. Mỗi ca có kết quả mong đợi rõ ràng.
- Đăng nhập lần đầu: hoàn tất không lỗi, chứng tỏ platform.claude.com và claude.ai đi qua được.
- Một câu hỏi ngắn: có trả lời, chứng tỏ api.anthropic.com đi qua được.
- /status: dòng Proxy hiện đúng máy và cổng, không có chữ invalid.
- Log debug: có dòng nạp CA hoặc mTLS nếu dùng.
- Cài một plugin hoặc khởi chạy máy chủ MCP bằng npx: chứng tỏ registry.npmjs.org và github.com đi qua được.
- Phiên nền: mở một phiên nền rồi kiểm nó cũng đi qua proxy, nhất là khi biến chỉ đặt trong shell.
- Nhật ký proxy: đội hạ tầng xác nhận thấy CONNECT tới các tên miền trên từ máy thử.
Ca phiên nền là ca dễ bỏ sót nhất. Nếu phiên nền lỗi kết nối trong khi phiên thường chạy tốt, chuyển biến proxy vào settings.json như tài liệu khuyên.
Đọc lỗi Claude Code proxy hay gặp
Bảng tra nhanh
Bảng dưới gom các tình huống từ tài liệu và từ cách proxy hoạt động. Mình chưa tái hiện từng ca trên máy lab.
Hiện tượng |
Thường do |
Xử lý |
|---|---|---|
Không khởi động, báo tên biến proxy |
URL thiếu http:// hoặc sai định dạng |
Thêm tiền tố, mã hóa mật khẩu |
Đổi biến mà không thấy khác |
Phiên cũ đọc biến lúc khởi động |
Mở phiên mới |
Lỗi chứng chỉ chỉ khi ở công ty |
Proxy kiểm tra TLS, CA chưa được tin |
Cài CA vào kho hệ điều hành hoặc NODE_EXTRA_CA_CERTS |
Request lỗi lạ sau proxy công ty |
Proxy xử lý sai thân nén gzip |
CLAUDE_CODE_GZIP_REQUEST_BODIES=0 |
Đăng nhập lỗi, hỏi đáp được |
Chặn tên miền đăng nhập |
Mở platform.claude.com, claude.ai |
Plugin hoặc MCP npx không cài được |
Chặn registry.npmjs.org, github.com |
Mở hai tên miền này |
Phiên nền lỗi, phiên thường chạy |
Biến chỉ đặt trong shell |
Đặt trong settings.json |
Proxy SOCKS không tác dụng |
Claude Code không hỗ trợ SOCKS |
Dùng cổng HTTP |
Tài liệu cũng có trang lỗi riêng cho nhóm lỗi mạng và kết nối. Khi gặp thông điệp cụ thể, tra trang đó trước khi đổi cấu hình proxy.
Request treo lâu
Tài liệu mô tả bốn bộ đếm thời gian theo dõi luồng phản hồi bị im lặng, để kết nối chết được hủy và thử lại thay vì treo. Ví dụ, với API trực tiếp của Anthropic, hạn chờ byte đầu tiên mặc định 180 giây cộng thêm theo kích thước thân request. Các biến như API_TIMEOUT_MS và CLAUDE_STREAM_IDLE_TIMEOUT_MS điều chỉnh các bộ đếm này.
Khi đi qua proxy chậm hoặc chập chờn, các bộ đếm này giúp phát hiện kết nối chết. Đừng tăng chúng quá cao chỉ để giấu một proxy kém. Nếu thường xuyên phải tăng, vấn đề nằm ở proxy hoặc đường mạng, nên kiểm từ phía hạ tầng.
Chọn loại proxy cho Claude Code proxy
Proxy công ty hay proxy riêng
Với doanh nghiệp, Claude Code thường đi qua proxy công ty có sẵn, cấu hình qua managed settings. Với cá nhân hoặc nhóm nhỏ, có khi cần proxy riêng để có IP ra cố định, ví dụ khi tổ chức bật danh sách IP cho phép hoặc khi mạng văn phòng đổi IP liên tục.
Với nhu cầu IP ra cố định, proxy tĩnh phù hợp hơn proxy xoay. Proxy xoay làm IP ra đổi giữa các request, dễ xung đột với danh sách IP cho phép. Chọn proxy HTTP có hỗ trợ CONNECT tới cổng 443, vì Claude Code không dùng được SOCKS.
ProxyVN có proxy dân cư tĩnh và datacenter với IP cố định, hỗ trợ HTTP và SOCKS5, cấp tài khoản user và mật khẩu. Nếu cần proxy HTTP có IP cố định cho máy lập trình, anh em có thể mua proxy tại trang chủ ProxyVN rồi chạy bộ ca kiểm ở trên. Nhớ rằng proxy chỉ đổi đường mạng, không đổi điều khoản sử dụng hay hạn mức của tài khoản.
Giữ bí mật
Tài khoản proxy trong URL dễ lộ qua lịch sử lệnh, ảnh chụp /status hay tệp cấu hình đồng bộ. Đặt mật khẩu qua kho bí mật của hệ điều hành rồi dựng biến lúc khởi động, xóa lịch sử lệnh có chuỗi proxy. Không commit tệp có URL proxy kèm mật khẩu vào kho mã.
Với mTLS, khóa riêng là bí mật quan trọng nhất. Đặt quyền tệp chỉ người dùng đọc được, mã hóa khóa bằng passphrase và đưa passphrase qua biến lấy từ kho bí mật.
Câu hỏi thường gặp về Claude Code proxy
Claude Code có dùng proxy SOCKS5 được không. Không. Tài liệu ghi rõ Claude Code không hỗ trợ SOCKS. Dùng proxy HTTP hoặc HTTPS.
Đặt HTTPS_PROXY rồi mà vẫn đi thẳng. Kiểm xem có biến https_proxy chữ thường đang thắng không, và mở phiên mới vì biến chỉ được đọc khi khởi động.
Có cần thêm localhost vào NO_PROXY không. Với kết nối WebSocket tới loopback thì không, tài liệu ghi Claude Code không gửi chúng qua proxy. Với dịch vụ nội bộ khác, thêm vào NO_PROXY.
Proxy cần NTLM thì sao. Tài liệu gợi ý dùng cổng LLM hỗ trợ phương thức xác thực đó. Claude Code chỉ hỗ trợ Basic qua URL.
Proxy có giúp tăng hạn mức sử dụng không. Không. Hạn mức gắn với tài khoản và gói. Proxy chỉ đổi đường mạng.
Có cần mở github.com không. Có nếu dùng plugin hoặc marketplace lưu trên GitHub. Tài liệu ghi github.com dùng để sao chép kho plugin qua HTTPS hoặc SSH. Nếu mạng chặn SSH, đặt CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 để chỉ dùng HTTPS.
Vì sao phiên nền không theo proxy. Tiến trình giám sát phiên nền thừa hưởng môi trường của shell khởi động nó đầu tiên. Đặt biến trong settings.json.
Checklist Claude Code proxy
Trước khi triển khai cho nhóm
- Proxy HTTP hoặc HTTPS, không dùng SOCKS.
- URL có tiền tố http:// hoặc https://, mật khẩu đã mã hóa phần trăm.
- Kiểm bốn biến proxy, chữ thường thắng chữ hoa.
- Mở đủ tên miền đăng nhập, API, tải plugin và npm.
- CA nội bộ trong kho hệ điều hành hoặc NODE_EXTRA_CA_CERTS.
- Biến đặt trong settings.json nếu dùng phiên nền.
- Xác nhận bằng /status và claude --debug.
- Không đặt proxy trong tệp cấu hình của kho mã.
Giới hạn của bài
Bài viết theo tài liệu cấu hình mạng chính thức của Claude Code đọc ngày 27/10/2026. Mình không chạy Claude Code qua proxy thử trên máy lab để tránh dùng tài khoản thật cho kiểm thử, nên chưa tái hiện từng thông báo lỗi. Tài liệu cập nhật thường xuyên, các con số thời gian và tên biến cần đối chiếu lại trên trang chính thức trước khi áp dụng.
Claude Code proxy và những điều cần nhớ
Claude Code proxy dùng HTTPS_PROXY hoặc HTTP_PROXY, Basic auth trong URL, không hỗ trợ SOCKS. Mở đủ tên miền, tin CA nội bộ, đặt biến trong settings.json cho phiên nền và kiểm bằng /status, claude --debug. Proxy không đổi hạn mức tài khoản. Cần proxy HTTP ổn định cho Claude Code proxy, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam.