Selbst gehostete Umgebungen befinden sich in der öffentlichen Beta für Team- und Enterprise-Pläne und sind standardmäßig deaktiviert. Siehe Verfügbarkeit und Einschränkungen für den Aktivierungspfad und was ausgeschlossen ist.
claude --cloud und geplanten Aufgaben in der Cloud. Standardmäßig werden Cloud-Sitzungen auf der Infrastruktur von Anthropic ausgeführt.
In einer selbst gehosteten Umgebung werden dieselben Sitzungen in Ihrem Netzwerk ausgeführt. Die Entwicklererfahrung ist ansonsten gleich, abgesehen von den Unterschieden in Verfügbarkeit und Einschränkungen und den bekannten Problemen der Bereitstellungsseite.
Wenn Ihr Team keine Cloud-Sitzungen verwendet, gibt es hier nichts zu konfigurieren: Sitzungen in einem Terminal oder einer IDE werden immer auf dem eigenen Rechner des Entwicklers ausgeführt. Wenn Sie Claude Code auf Ihrem eigenen Always-On-Rechner ausführen und es von anderen Geräten aus steuern möchten, verwenden Sie Remote Control, das auch auf Pro- und Max-Plänen verfügbar ist. Wenn Sie bereit sind zu beginnen, gehen Sie direkt zum Schnellstart; um die Sicherheitslage zunächst zu überprüfen, beginnen Sie mit Bereitstellung in der Produktion. Der Rest dieser Seite erklärt, wie Self-Hosting funktioniert und wann Sie es wählen sollten.
Wie selbst gehostete Umgebungen funktionieren
Self-Hosting hat drei Teile:- Umgebung: ein benanntes Ziel, an das Cloud-Sitzungen gesendet werden können. Ihre Organisation erstellt Umgebungen in den claude.ai Admin-Einstellungen, und jede gruppiert einen Satz von Runnern.
- Runner: ein Programm, das auf Hosts in Ihrem Netzwerk ausgeführt wird. Runner führen die Sitzungen aus; die Idee ist die gleiche wie bei einem selbst gehosteten CI-Runner.
- Sitzung: eine Claude Code-Aufgabe, die ein Entwickler gestartet hat.
api.anthropic.com, mit der kurzen Liste weiterer Hosts, die Sitzungen in Netzwerkanforderungen erreichen können. Anthropic verbindet sich niemals mit Ihrem Netzwerk.
Verfügbarkeit und Einschränkungen
Überprüfen Sie diese vor der Planung eines Rollouts:- Pläne: öffentliche Beta für Team- und Enterprise-Organisationen. Selbst gehostete Umgebungen sind standardmäßig deaktiviert; ein Besitzer aktiviert Selbst gehostete Umgebungen zulassen auf der Cloud-Umgebungen Admin-Seite, was erfordert, dass Cloud-Sitzungen für die Organisation aktiviert sind.
- Zero Data Retention und HIPAA: nicht verfügbar für Organisationen, bei denen Zero Data Retention aktiviert oder die HIPAA-Konfiguration angewendet ist.
- Modellinferenz: Sitzungen verwenden die Anthropic API, es sei denn, Sie konfigurieren einen Runner so, dass er Modellanfragen an Amazon Bedrock oder Google Cloud’s Agent Platform sendet. Sitzungsinhalte werden in beiden Fällen an Anthropic übermittelt. Auf einem so konfigurierten Runner erreichen serververwaltete Einstellungen und Organisationsrichtlinien von claude.ai die Sitzungen nicht.
- Oberflächen: Sitzungen, die von claude.ai/code, den mobilen und Desktop-Apps, geplanten Aufgaben in der Cloud und dem Terminal mit
claude --cloudoder einer--environmentDispatch gestartet werden, können in selbst gehosteten Umgebungen ausgeführt werden. Claude Tag Sitzungen können auch darin ausgeführt werden, aber Claude kann Access Bundles in diesen Sitzungen noch nicht verwenden. Claude Security und Code Review Sitzungen werden noch nicht zu ihnen weitergeleitet. Die Unterstützung für diese beiden Oberflächen folgt separat. - Repositories: Sitzungen checken Repositories von GitHub aus; siehe GitHub-Authentifizierungsoptionen. Für einen GitHub Enterprise Server Host siehe dessen Netzwerkanforderungen.
- Abrechnung: Sitzungen in einer selbst gehosteten Umgebung verbrauchen die Claude Code-Nutzung Ihrer Organisation auf die gleiche Weise wie Sitzungen in von Anthropic gehosteten Umgebungen.
Warum Self-Hosting
Die meisten Teams werden besser von von Anthropic gehosteten Umgebungen bedient, die keine Infrastruktur zum Ausführen oder Warten benötigen. Self-Hosting ist für Teams, deren Netzwerk-, Tooling- oder Compliance-Anforderungen erfordern, dass die Sitzungsausführung auf einer Infrastruktur erfolgt, die sie kontrollieren. Wenn das auf Sie zutrifft, planen Sie für die operative Verantwortung, die es mit sich bringt: Sie erstellen und warten das Runner-Image, betreiben die Flotte und kontrollieren sein Netzwerk. Im Gegenzug bietet Self-Hosting Ihnen Netzwerkzugriff, benutzerdefinierte Tools und Compliance-Kontrolle:- Netzwerkzugriff: Sitzungen werden in Ihrem Netzwerk ausgeführt und können interne Services, Datenbanken und Registries erreichen, ohne sie dem öffentlichen Internet auszusetzen
- Benutzerdefinierte Tools: Installieren Sie Compiler, SDKs und interne CLIs in Ihrem Runner-Image vor, damit jede Sitzung bereit zum Erstellen startet
- Compliance: Repository-Checkouts und Build-Artefakte bleiben auf einer Infrastruktur, die Sie kontrollieren. Der Sitzungsinhalt wird weiterhin an
api.anthropic.comgesendet.
Umgebungen, Runner und Sitzungen
Umgebungen werden auf der Seite Cloud environments in den Admin-Einstellungen von claude.ai verwaltet; Runner sind Prozesse, die Sie auf Ihrer eigenen Infrastruktur starten und verwalten.Zentrale Begriffe
Diese Begriffe kommen auf allen Seiten zu selbst gehosteten Umgebungen vor:
In API-Feldern, Token-Claims und Metriknamen erscheint die Umgebung als
pool, und die Umgebungs-ID ist die pool_id. Die Referenz ordnet die beiden Schreibweisen einander zu, einschließlich der veralteten pool-Flag-Namen.
Ein Runner bedient jeweils nur einen Eigentümer. Die erste Sitzung, die ein Runner übernimmt, bindet den Runner an den Eigentümer dieser Sitzung, und der Runner führt anschließend nur Sitzungen für diesen Eigentümer aus, bis zu einer konfigurierten Kapazität. Wer der Eigentümer ist, hängt davon ab, wie die Sitzung gestartet wurde:
- Von einem Benutzer gestartete Sitzungen: Der Eigentümer ist das Konto dieses Benutzers.
- Claude Tag-Channel-Sitzungen: Claude führt sie ohne zugeordnetes Benutzerkonto aus, daher ist der Eigentümer der Claude Tag-Agent, der die Sitzung gestartet hat. Jede Channel-Sitzung, die dieser Agent startet, hat denselben Eigentümer, unabhängig davon, wer die Slack-Nachricht gesendet hat. Ein an ihn gebundener Runner bedient also Sitzungen, die verschiedene Personen gestartet haben, wenn Sie ihn mit einer
--capacityüber eins oder mit einem positiven--drain-grace-secausführen.
Lebenszyklus einer Sitzung
Wenn ein Entwickler eine Sitzung startet und Ihre Umgebung auswählt, stellt die Control Plane von Anthropic die Sitzung in die Warteschlange der Umgebung. Von dort aus:- Ein Runner mit freier Kapazität beansprucht die Sitzung und hält eine Lease darauf.
- Der Runner klont das Repository in sein Arbeitsverzeichnis und startet einen untergeordneten Claude Code-Prozess.
- Der untergeordnete Prozess streamt Ereignisse über HTTPS zurück, während der Runner weiter abfragt; jede Abfrage erneuert die Lease und dient zugleich als Heartbeat.
- Wenn der Runner keine Abfragen mehr sendet, läuft seine Lease nach etwa 60 Sekunden ab. Der Server kann dann einige Minuten und manchmal länger benötigen, um die Sitzung für einen anderen Runner erneut in die Warteschlange zu stellen.
Lebenszyklus eines Runners
Die erste Sitzung, die ein Runner übernimmt, bindet den Runner an den Eigentümer dieser Sitzung, und der Runner führt bis zu--capacity gleichzeitige Sitzungen für diesen Eigentümer aus. Solange der Runner aktive Sitzungen hat, weder ein Shutdown-Signal erhalten noch seinen Retire-Zeitpunkt erreicht hat, beansprucht er weiterhin Arbeit aus der Warteschlange des gebundenen Eigentümers. Was nach dem Ende dieser Sitzungen geschieht, hängt von --drain-grace-sec ab:
- Beim Standardwert
0: Der Runner beendet sich, sobald seine aktiven Sitzungen abgeschlossen sind, ohne nach weiteren abzufragen, sodass der Orchestrator, unter dem Sie ihn deployen, etwa Kubernetes, ihn mit einem frischen Datenträger neu starten kann, bereit für jeden beliebigen Eigentümer. - Bei einem positiven Wert: Der Runner fragt die Warteschlange des gebundenen Eigentümers noch so viele Sekunden lang ab, bevor er sich beendet.
--retire-at benötigen. Ein Beenden, das SIGTERM sendet, erfordert kein Flag: Der Runner leert sich wie unter Zeitpunkt des Herunterfahrens beschrieben oder bedient die bereits gehaltenen Sitzungen weiter, wenn Sie --defer-shutdown-max-min setzen. Wenn Ihre Infrastruktur Hosts stattdessen zu einem bekannten Uhrzeitpunkt ohne Signal zerstört oder mit einer Schonfrist, die zum Leeren zu kurz ist, etwa bei einer Begrenzung der Sandbox-Lebensdauer oder der Rückforderung von Spot-Instanzen, übergeben Sie --retire-at <epoch-seconds> mit einem Wert einige Minuten vor diesem Zeitpunkt. Zum Retire-Zeitpunkt:
- Der Runner nimmt keine neue Arbeit mehr an.
- Der Runner gibt jede aktive Sitzung über denselben Freigabepfad frei, den das Flag
--release-idle-session-minverwendet, sodass die Sitzung auf einem frischen Runner fortgesetzt wird, wenn der Benutzer seine nächste Nachricht sendet. Wann der Runner jede Sitzung freigibt, hängt von ihrem Zustand ab:- Eine Sitzung, die sich mitten in einem Turn befindet, gibt der Runner nach Abschluss dieses Turns frei. Zuvor wartet er darauf, dass der Prozess der Sitzung das Ende des Turns an Anthropic meldet, höchstens jedoch
SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MSlang. Vor v2.1.280 gab der Runner die Sitzung frei, sobald der Turn abgeschlossen war. - Wenn ein Turn endet und Hintergrundaufgaben weiterlaufen lässt, wartet der Runner bis zu 60 Sekunden auf sie und gibt die Sitzung dann frei, auch wenn sie noch laufen. Wenn die Aufgaben abgeschlossen sind, der nachfolgende Turn, der ihre Ergebnisse liest, aber noch nicht gelaufen ist, behält der Runner die Sitzung, bis dieser Turn abgeschlossen ist, und wartet höchstens
SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MSlang darauf, dass dieser Turn beginnt.
- Eine Sitzung, die sich mitten in einem Turn befindet, gibt der Runner nach Abschluss dieses Turns frei. Zuvor wartet er darauf, dass der Prozess der Sitzung das Ende des Turns an Anthropic meldet, höchstens jedoch
- Der Runner beendet sich mit Exit-Code 0, sobald alle seine Sitzungen freigegeben sind.
--retire-at ist ein signalloses Beenden des Hosts nicht von einem Absturz zu unterscheiden: Die Control Plane verzeichnet einen verlorenen Worker statt einer sauberen Freigabe, und die Sitzung wird erneut für einen anderen Runner in die Warteschlange gestellt.
Netzwerkpfade
Der Runner und seine Sitzungen bauen mehrere Arten ausgehender Verbindungen auf, und es ist keine eingehende Konnektivität von Anthropic erforderlich:- Control Plane: Der Runner fragt
api.anthropic.comnach Arbeit ab und sendet Ereignisse zum Einrichtungsfortschritt und zu Fehlern, alles über ausgehendes HTTPS. Die Abfragen dienen zugleich als Heartbeat des Runners. - Git: Der Runner klont von Ihrem Git-Host und pusht dorthin, über HTTPS oder SSH, authentifiziert mit Anmeldedaten, die Ihr Deployment bereitstellt. Unter Git konfigurieren finden Sie die Optionen, einschließlich pro Sitzung erzeugter Anmeldedaten. Mit dem Anthropic-Git-Proxy läuft der Git-Datenverkehr für Repositorys auf github.com stattdessen über
api.anthropic.com. - Untergeordneter Sitzungsprozess: Der untergeordnete Claude Code-Prozess hält den Ereignisstream der Sitzung zu
api.anthropic.comund führt eigene ausgehende Aufrufe für die Modellinferenz und für Git-Befehle aus, die während der Sitzung ausgeführt werden. In einer Sitzung, die von Anthropic verwaltetes Git verwendet, sendet der untergeordnete Prozess seinengit- undgh-Datenverkehr für github.com über eine WebSocket-Verbindung, die er zuapi.anthropic.comöffnet. - SCM-Konnektor: Der optionale SCM-Konnektor des Orchestrators ist nicht verfügbar, daher wird sein Tunnel nicht geöffnet. Der Tunnel ist eine WebSocket-Verbindung zu
api.anthropic.com.
HTTPS_PROXY und NO_PROXY; setzen Sie sie in der Umgebung jedes Prozesses. Die Variablen gelten für Aufrufe an die Control Plane, für den WebSocket des SCM-Konnektors des Orchestrators und für den integrierten Klonvorgang bei HTTPS-Remotes, und Sitzungen erben sie vom Runner. Das Streaming von Sitzungen verwendet Server-Sent Events über HTTPS, daher darf ein Proxy im Pfad Antworten nicht puffern.
- Proxy-Authentifizierung: Wenn Ihr Proxy zusätzlich einen
Proxy-Authorization-Header erfordert, kann der Runner ihn jeder Verbindung hinzufügen, die er zum Proxy öffnet; siehe Bei einem Egress-Proxy authentifizieren. - Langlebige Antworten: Wenn ein Runner eine Sitzung übernimmt, Claude aber nie auf deren erste Nachricht antwortet, kann Ihr Proxy die Ursache sein. Siehe Eine Sitzung wird übernommen, aber Claude antwortet nie auf die erste Nachricht.
Was auf Ihrer Infrastruktur bleibt
Repository-Checkouts, Build-Artefakte, Geheimnisse und alle Dateien, die eine Sitzung erstellt oder ändert, bleiben auf den Maschinen, die Sie bereitstellen. Die Konversation selbst, einschließlich Prompts, Antworten und Tool-Ergebnissen, geht anapi.anthropic.com, und Anthropic speichert das Sitzungstranskript, damit Sie die Sitzung von einer anderen unterstützten Oberfläche aus fortsetzen können. Wenn ein Runner Modellanfragen an Amazon Bedrock oder die Agent Platform von Google Cloud sendet, geht die Konversation weiterhin im Event-Stream der Sitzung an api.anthropic.com.
Eine selbst gehostete Umgebung verschiebt die Sitzungsausführung in Ihr Netzwerk. Die Kontrolleben bleibt von Anthropic gehostet: Sitzungsorchestration, Queueing und die claude.ai Schnittstelle werden weiterhin auf der Infrastruktur von Anthropic ausgeführt.
Erste Schritte
Die Self-Hosting-Umgebungsseiten sind nach dem organisiert, was Sie tun:- Schnellstart: Installieren Sie Claude Code, erstellen Sie eine Umgebung, starten Sie einen Runner und leiten Sie Ihre erste Sitzung weiter
- Bereitstellung in der Produktion: Sicherheitshärtung, Netzwerk-Egress, Git-Anmeldedaten, Kubernetes- und Compose-Rezepte, bekannte Probleme und Fehlerbehebung
- Sitzungen anpassen: Wrapper-Skripte für pro-Sitzung Anmeldedaten, Lifecycle-Hooks, On-Demand-Runner, MCP-Server und Berechtigungen
- End-to-End testen: Ein CI-Smoke-Test, der ein Runner-Image überprüft, bevor Sie es hochstufen
- Referenz: Jedes CLI-Flag, jede Umgebungsvariable, jede Metrik und der Health-Endpunkt
- Sitzungsidentität überprüfen: Validieren Sie das Sitzungs-Token von Ihren eigenen Services, bevor Sie Zugriff gewähren