claude-code-multiplex demo: agents cannot reach the Anthropic API (egress denied by default)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- go, kubernetes
- Ambito
- devops, documentation
Direzione di ricerca
Trova la guida del README per la demo claude-code-multiplex e confrontane i passaggi con l’esempio egress-policy nella issue. Documenta la policy minima che consente api.anthropic.com prima di creare o riprendere l’agente. Il lavoro è completo quando la guida del README include il comando richiesto e le chiamate Claude della demo possono raggiungere l’API.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Go
- Stelle
- 5k
- Fork
- 563
- Merge medio
- 2g 15h
- PR unite (30g)
- 422
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di agent-substrate/substrate
-
filecache: TestGetFileToPublishedCopyIsWriteProtected fails when tests run as rootForse già presa @cloudonly l’ha presa 1 giorno fa. Apertaarea/storage area/tests kind/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
agent-substrate/substrate#2704 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: e2e color tests fail when NO_COLOR is setForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaarea/tests kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
agent-substrate/substrate#2465 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: snapshot download mishandles reader close errorsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaarea/storage kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
agent-substrate/substrate#2445 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: e2e script flag parsing is brokenForse già presa @ericcurtin l’ha presa 10 giorni fa. Apertaarea/dev-infra area/tests kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
agent-substrate/substrate#2217 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
docs/api-guide.md: "an actor occupies its whole worker" contradicts multi-actor workersForse già presa @ericcurtin l’ha presa 11 giorni fa. Apertaarea/api kind/docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
agent-substrate/substrate#2152 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di agent-substrate/substrate
Issue simili
-
documentation hacktoberfest priority: low skill: good first issue status: ready for dev
Difficoltà 2/5 Mezza giornata Idoneità per principianti 85/100
hyperledger-labs/fabric-smart-client#2142 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
numberly/vault-db-injector#107 ·
I maintainer di solito rispondono entro 1 giorno
-
area/import kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
[DOC] Wrong sg_egress_ports range in the Terraform Databricks Guide for AWS Hub & Spoke with Network FirewallForse già presa @akhil9tiet l’ha presa oggi. Apertadocs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
databricks/terraform-provider-databricks#6080 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
kind/documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
kubernetes-sigs/dra-driver-nvidia-gpu#1569 ·
I maintainer di solito rispondono entro 1 giorno