SpyBara
Go Premium

self-hosted-environments-quickstart.md 2026-10-09 23:02 UTC to 2026-10-10 08:02 UTC

This page contains 46 additions and 8 deletions.

2026
Sun 4 23:58 Sat 10 09:00

Démarrage rapide des environnements auto-hébergés

Configurez votre premier environnement auto-hébergé : installez Claude Code, créez l'environnement, démarrez un runner et routez une session vers celui-ci.

Un environnement auto-hébergé exécute les sessions cloud de Claude Code sur l'infrastructure que votre organisation exploite, exécutées par des processus runner que vous déployez. Ce démarrage rapide en configure votre premier, le plus petit qui fonctionne : un runner sur un seul hôte, exécutant une session de test. Il y a deux étapes : créer l'environnement, démarrer un runner et router une session vers celui-ci, puis envoyer un message à cette session depuis votre terminal. Vous vous déplacerez entre deux surfaces : claude.ai pour créer l'environnement, vérifier son statut et router une session, et un terminal sur l'hôte pour tout ce que le runner fait.

À la fin, vous aurez un environnement sur la page d'administration Environnements cloud, un runner interrogeant le travail, et une session s'exécutant sur votre hôte. Avant de connecter des référentiels réels ou des systèmes internes, travaillez sur Déployer en production, qui couvre la posture de sécurité, le contrôle de sortie, les identifiants git et l'orchestration.

Prérequis

Organisation et rôles

Le côté claude.ai a besoin de :

  • Autoriser les environnements auto-hébergés activé par un Propriétaire sur la page d'administration Environnements cloud ; le bouton Nouveau n'apparaît pas tant qu'il ne l'est pas. Si vous ne tenez pas le rôle, quelqu'un qui le tient peut créer l'environnement et vous remettre son secret ; les étapes du runner et du terminal sur cette page ne nécessitent aucun rôle claude.ai, et où une étape vérifie le statut dans l'interface d'administration, les propres lignes de journal du runner vous donnent le même signal.
  • Une connexion GitHub pour votre organisation, afin que les développeurs puissent sélectionner des référentiels lorsqu'ils démarrent des sessions.

Hôte et réseau

L'hôte du runner a besoin de :

  • Un hôte ou conteneur Linux ou macOS avec HTTPS sortant vers api.anthropic.com, vers claude.ai et les hôtes de téléchargement vers lesquels il redirige pour l'étape d'installation ci-dessous, et vers votre hôte git pour le clone ; le tableau des exigences réseau a la liste complète. Windows n'est pas pris en charge en tant qu'hôte runner ; exécutez le runner dans un conteneur Linux à la place. Les postes de travail des développeurs ne sont pas affectés, car les sessions démarrent à partir de claude.ai dans un navigateur.
  • Un dépôt pour la session de test : un dépôt public, ou un dépôt que cet hôte peut déjà cloner via son URL HTTPS sans que des identifiants lui soient demandés.
  • Une horloge synchronisée à l'heure réelle, par exemple avec NTP. L'authentification échoue lorsque l'horloge est décalée de plus de cinq minutes ; consultez Dépannage.

Logiciel sur l'hôte du runner

Installez sur l'hôte avant de commencer :

  • Claude Code v2.1.224 ou ultérieur, avec l'une des méthodes d'installation standard. Le runner fait partie du binaire claude standard, et les versions antérieures ne reconnaissent pas la sous-commande self-hosted-runner. Le canal latest par défaut du programme d'installation natif porte chaque version dès sa publication ; le canal stable, le cask Homebrew claude-code, et les référentiels apt, dnf et apk stables traînent d'environ une semaine. Pour épingler la version exacte que votre flotte exécute, consultez Installer une version spécifique. Pour les images de conteneur, consultez le Dockerfile dans Déployer en production.
  • Git 2.24 ou plus récent. Certaines options git sur la page de déploiement nécessitent des versions plus récentes ; Configurer git indique chaque plancher.

Confirmez que l'hôte est prêt :

claude self-hosted-runner --help

Un hôte prêt imprime le texte d'utilisation du runner, listant les drapeaux tels que --environment-secret-file. Sur les versions antérieures à 2.1.224, la commande imprime la sortie générale claude --help à la place ; mettez à jour avec claude update ou réinstallez à partir du canal latest.

Configurer un environnement et un runner

Utilisez soit la configuration guidée, soit les étapes manuelles. La configuration guidée est une commande unique qui démarre une session Claude Code interactive et vous guide à travers le reste. Utilisez plutôt les étapes manuelles sur un hôte où une session interactive n'est pas possible. Utilisez-les également lorsqu'une personne détenant le rôle Propriétaire a créé l'environnement et vous a remis son secret, car la configuration guidée nécessite une connexion Propriétaire.

Exécuter la configuration guidée

La configuration guidée vous accompagne dans la création de l'environnement dans l'interface d'administration, démarre un runner local avec le fichier secret que vous enregistrez, confirme que le runner s'enregistre, et écrit une feuille de triche dans ./runner-setup/CHEAT-SHEET.md. Avant de l'exécuter, vérifiez votre connexion et votre version :

  • Connexion : exécutez-la sur une machine où vous vous êtes connecté avec claude auth login en utilisant un compte qui détient un rôle Propriétaire. Avec seulement une clé API ou un fournisseur de modèles tiers, la session démarre mais ses vérifications d'organisation échouent.
  • Version : confirmez que la vérification de version a réussi. Sur les versions antérieures à 2.1.224, la commande setup démarre une session Claude avec les mots comme prompt au lieu de la configuration guidée.

Pour démarrer la configuration guidée, exécutez la sous-commande setup dans votre shell et suivez les instructions :

claude self-hosted-runner setup

La configuration ne démarre pas elle-même de session de test : elle vous indique d'en démarrer une sur claude.ai/code. La dernière étape de la configuration arrête le runner qu'elle a démarré. Si vous quittez la configuration avant cette étape, le runner continue de s'exécuter. Pour continuer après la dernière étape, redémarrez le runner dans votre shell avec la commande figurant dans ./runner-setup/CHEAT-SHEET.md, puis routez une session vers l'environnement.

Configurer manuellement

Créez l'environnement sur claude.ai, démarrez le runner depuis un terminal sur l'hôte, puis revenez sur claude.ai pour confirmer que le runner apparaît et y router une session. Si une personne détenant le rôle Propriétaire a déjà créé l'environnement et vous a remis son secret, commencez à l'étape 2.

1

Créer un environnement

Allez à la page Environnements cloud dans les paramètres d'administration. Sous Environnements auto-hébergés, sélectionnez Nouveau, nommez l'environnement, et sélectionnez Créer. À la deuxième étape de l'assistant, sélectionnez Copier la clé d'environnement pour copier le secret d'environnement, que l'interface d'administration étiquette comme clé d'environnement. claude.ai affiche le secret une fois, et vous ne pouvez pas le récupérer plus tard ; il expire 365 jours après sa création. L'ID ccpool_... de l'environnement reste visible dans sa boîte de dialogue de détail ; vous en aurez besoin pour la vérification aud dans vérification de token et pour dispatcher les sessions de test à partir de CI.

Si vous perdez le secret ou avez besoin de le faire tourner, créez un nouveau secret à partir de l'onglet Configuration de l'environnement, déployez le nouveau secret sur vos runners, puis révoquez l'ancien. Les runners détenant un secret révoqué échouent leur prochain sondage authentifié et se terminent, en consignant poll auth failed, et votre orchestrateur les redémarre avec le nouveau secret.

2

Démarrer un runner

Créez le répertoire secret. Cette commande et la suivante utilisent /etc/claude, qui nécessite root, et le fichier secret qu'elles créent n'est lisible que par l'utilisateur qui les exécute. Si le runner s'exécute sous un autre utilisateur, il se termine avec error: Failed to read environment secret file <path> (EACCES: permission denied, open '<path>'). Dans ce cas, exécutez les deux commandes en tant qu'utilisateur du runner avec un répertoire dans lequel cet utilisateur peut écrire à la place de /etc/claude, et passez le même chemin à --environment-secret-file. N'importe quel chemin que le processus runner peut lire fonctionne.

mkdir -p /etc/claude

Écrivez le secret d'environnement dans un fichier. La commande ci-dessous lit depuis votre terminal afin que le secret reste hors de l'historique du shell : collez la valeur que vous avez copiée, appuyez sur Entrée, puis Ctrl-D, et le umask du sous-shell rend le fichier lisible uniquement par son propriétaire.

(umask 077 && cat > /etc/claude/environment-secret)

Choisissez un répertoire de base, en remplaçant <writable-dir> dans la commande du runner ci-dessous par un chemin absolu que le runner peut écrire ou créer. Le runner crée le répertoire au démarrage, puis extrait les référentiels et crée des répertoires par session sous celui-ci. Sans --base-dir, il utilise /workspace, qui ne fonctionne que si ce répertoire existe déjà et est accessible en écriture ou si vous démarrez le runner en tant que root.

Si le runner ne peut pas créer ou écrire dans le chemin, il se termine au démarrage avec une erreur nommant le répertoire au lieu de s'enregistrer. Consultez Dépannage.

Ensuite, démarrez le runner avec --environment-secret-file et --base-dir :

claude self-hosted-runner --environment-secret-file '/etc/claude/environment-secret' --base-dir '<writable-dir>'

Le runner consigne Registered: runner_id=<runner-id> une fois qu'il s'est enregistré auprès de votre environnement, puis commence à interroger pour obtenir du travail. Si le runner se termine plus tard, redémarrez-le vous-même. Consultez Si le runner se termine pour savoir quand cela se produit.

3

Vérifier que le runner apparaît

Retournez à la page Environnements cloud. Le statut de votre environnement passe de Aucun runner déployé à Sain en quelques secondes après le démarrage du runner ; ouvrez l'environnement et sélectionnez Activité pour voir le runner lui-même. Si vous n'avez pas accès à la page d'administration, la ligne Registered: runner_id=<runner-id> dans le log du runner de l'étape précédente vous donne le même signal.

4

Router une session vers l'environnement

Démarrez une session sur claude.ai/code et sélectionnez votre environnement dans le sélecteur d'environnement, où les environnements auto-hébergés apparaissent aux côtés des environnements hébergés par Anthropic. Pour le dépôt, choisissez celui des prérequis : un dépôt public, ou un dépôt que cet hôte peut déjà cloner. Le runner clone avec les identifiants git dont l'hôte dispose déjà.

Le prochain runner disponible récupère la session en attente et consigne Picked up session <session-id> ainsi que son nombre de sessions actives et sa capacité, afin que vous puissiez confirmer à partir de la propre sortie du runner quel hôte a pris la session. Regardez la session travailler et lisez les réponses de Claude sur claude.ai/code.

Si la session ne commence pas à travailler, identifiez ce que vous observez :

  • La session reste en attente : consultez Dépannage.
  • La session ne démarre pas en raison d'une erreur git : l'erreur apparaît dans la session et dans le log du runner. Si elle contient le message git could not read Username for suivi de l'URL de votre hôte git, le runner ne disposait d'aucun identifiant HTTPS pour cet hôte. Consultez Configurer git, qui couvre également les options d'identifiants pour les dépôts privés en production.

Si le runner se termine

Si le runner se termine pendant ce démarrage rapide, redémarrez-le avec la même commande. Le runner peut se terminer de lui-même :

  • Sessions terminées : le log affiche [runner:exit] account workload drained — exiting. Le runner se termine par conception une fois que ses sessions actives se terminent. Consultez Cycle de vie du runner.
  • Contact perdu : le log affiche une ligne [runner:fatal] avec runner record gone server-side ou avec poll auth failed. Si le runner perd le contact avec Anthropic pendant un certain temps, par exemple parce que l'hôte se met en veille, il peut se terminer lorsqu'il joint à nouveau Anthropic.

Un tour terminé ne met pas fin à votre session de test. Après le premier tour, la session est toujours attachée et le runner est toujours actif, vous pouvez donc envoyer un message de suivi à la session sans redémarrer le runner au préalable.

Pour la production, déployez le runner sous un orchestrateur qui le redémarre à la sortie et attend plus longtemps entre les redémarrages lorsque le runner continue à se terminer juste après son démarrage. Consultez Déployer en production et Quand le runner se termine.

Envoyer un message de suivi à une session en cours d'exécution

Une fois qu'une session s'exécute sur votre environnement, envoyez-lui un suivi à partir de la CLI claude sur n'importe quelle machine où vous êtes connecté avec claude auth login ; la commande n'a pas besoin de s'exécuter à partir de la machine qui a démarré la session. La commande publie un message :

claude -p "your message" --cloud <session-id>

Pour <session-id>, passez l'ID nu session_... ou cse_... ou l'URL claude.ai/code de la session. Un envoi réussi imprime Sent to cloud session. avec l'ID de session et un lien de visualisation. Les formes d'ID acceptées, la sortie JSON, ainsi que les exigences de compte et de politique sont sur Envoyer des suivis à partir de la CLI, car la commande fonctionne de la même manière contre les sessions hébergées par Anthropic.

Étapes suivantes

  • Déployer en production : durcir le déploiement, contrôler la sortie, configurer les identifiants git et exécuter la flotte sous Kubernetes ou Compose
  • Personnaliser les sessions : scripts wrapper, hooks de cycle de vie, runners à la demande, serveurs MCP et permissions
  • Tester de bout en bout : un test de fumée CI qui dispatche une session et lit les réponses de Claude