claude-code-multiplex demo: agents cannot reach the Anthropic API (egress denied by default)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 1/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 76/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- go, kubernetes
- Lĩnh vực
- devops, documentation
Hướng nghiên cứu
Tìm hướng dẫn trong README cho bản demo claude-code-multiplex và so sánh các bước với ví dụ egress-policy trong issue. Ghi lại policy tối thiểu cho phép api.anthropic.com trước khi tạo hoặc tiếp tục agent. Công việc hoàn tất khi hướng dẫn trong README có lệnh cần thiết và các lệnh gọi Claude của bản demo có thể truy cập API.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happened?
The claude-code-multiplex demo's agents cannot reach the Anthropic API: the egress gateway denies every outbound request the workload makes, so claude --print fails on every tick and the demo cannot be run as the README documents.
Steps to Reproduce
- Install substrate and deploy the demo as the README describes:
ANTHROPIC_API_KEY=sk-ant-... BUCKET_NAME=... \ ./hack/install-ate.sh --deploy-demo-claude-code-multiplex - Create and resume an actor:
kubectl ate create actor agent-luna -a claude-multiplex-demo --template agent-luna kubectl ate resume actor agent-luna -a claude-multiplex-demo - Watch the worker pod logs (the ateom container's
atunnelwarnings), or the actor container output.
Actual Behavior
atunnel: egress gateway rejected CONNECT with 403 Forbidden: egress denied
and on the actor side:
[demo-actor:luna] running: Tell me one short, surprising fact about the Moon. One sentence.
Failed to authenticate. API Error: 403 egress denied
[demo-actor:luna] claude exited non-zero
The actor runs, the workload loop ticks, but every Claude call is rejected before it leaves the cluster.
Root Cause
Every Actor starts with no egress policy, and the gateway treats "no policy" the same as "empty policy": deny (cmd/atenet/internal/router/egress/egress.go, lookupPolicy). Neither the demo's deploy step (cmd/ate-setup/internal/demos/claudemultiplex) nor kubectl ate create actor provisions one, and the README's walkthrough has no create egress-policy step. So the agent actors are created into a default-deny posture the demo never opens — on any cluster, GKE included: api.anthropic.com is a public destination that no rule allows.
I verified the causal chain on a kind cluster by toggling one actor's policy:
- delete the policy → the next tick fails (
claude exited non-zero) - re-create the policy → the very next tick succeeds (same actor, same pod, same task)
cat <<'EOF' | kubectl ate create egress-policy agent-luna -a claude-multiplex-demo -f -
rules:
- https:
hostnames: ["api.anthropic.com"]
EOF
is enough to make the demo work. (Where the API is reached through a plain-HTTP proxy instead, an http rule is needed; note that an http and an https rule with the same pattern on the same ports are rejected as a tie, so a wildcard both-protocol allow-all is not expressible as two rules.)
Expected Behavior
One of:
- The README documents the missing step, with a minimal
api.anthropic.comrule for the agents — the documentation fix this issue asks for. - The demo's deploy step provisions the agents' egress policies, so the walkthrough runs with no manual step. The demo already substitutes
ANTHROPIC_API_KEYinto the templates and could substitute the allow rule the same way. - #1324 (default egress policy in ActorTemplate) lands and the templates carry their rule — the platform-level fix; the demo step then disappears again.
Additional context
- #1324 tracks the template-level default policy; this issue is the concrete demo walkthrough that breaks without something like it.
- #820 / #875 were the same class of problem for this demo (walkthrough broken by a control-plane hardening), fixed by updating the demo rather than the platform.
- The egress default-deny posture landed in f980a57d (2026-09-14); the README's current walkthrough predates or missed accounting for it.
- Ngôn ngữ chính
- Go
- Star
- 5k
- Fork
- 563
- Merge trung bình
- 2 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 422
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của agent-substrate/substrate
-
filecache: TestGetFileToPublishedCopyIsWriteProtected fails when tests run as rootCó thể đã có người làm @cloudonly đã nhận 1 ngày trước. Đang mởarea/storage area/tests kind/bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
agent-substrate/substrate#2704 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: e2e color tests fail when NO_COLOR is setCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởarea/tests kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
agent-substrate/substrate#2465 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: snapshot download mishandles reader close errorsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởarea/storage kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
agent-substrate/substrate#2445 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: e2e script flag parsing is brokenCó thể đã có người làm @ericcurtin đã nhận 10 ngày trước. Đang mởarea/dev-infra area/tests kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
agent-substrate/substrate#2217 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
docs/api-guide.md: "an actor occupies its whole worker" contradicts multi-actor workersCó thể đã có người làm @ericcurtin đã nhận 11 ngày trước. Đang mởarea/api kind/docs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
agent-substrate/substrate#2152 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của agent-substrate/substrate
Issue tương tự
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
superplanehq/superplane#8604 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation hacktoberfest priority: low skill: good first issue status: ready for dev
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 85/100
hyperledger-labs/fabric-smart-client#2142 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
numberly/vault-db-injector#107 ·
Maintainer thường phản hồi trong vòng 1 ngày