Tâches planifiées et mode headless
Une fois que vous faites confiance à Claude pour effectuer une tâche, l'étape suivante consiste à arrêter de la faire manuellement. S'il s'agit de la même requête sur un déclencheur récurrent, vous ne devriez pas avoir à rester là pour la lancer vous-même à chaque fois. Cette leçon présente deux façons de déléguer ce travail : les tâches planifiées cloud (anciennement appelées routines), où vous ne construisez rien, et le mode headless, où vous obtenez un contrôle total depuis vos propres scripts.
Considérez cela comme un spectre. À une extrémité, vous avez les tâches planifiées cloud qui s'exécutent sur l'infrastructure gérée d'Anthropic. À l'autre extrémité, vous avez le mode headless et l'Agent SDK, qui exécutent Claude Code depuis votre propre code. Commençons par l'extrémité où vous construisez le moins.
Tâches planifiées : une requête enregistrée qui s'exécute dans le cloud
Une tâche planifiée cloud est le moyen le plus direct d'automatiser le travail répétitif. Il n'y a ni script ni serveur. Elle regroupe trois éléments : une requête, le dépôt sur lequel elle travaille, et les connecteurs dont elle a besoin. Elle exécute ensuite cet ensemble dans le cloud chaque fois qu'elle est déclenchée.
L'élément clé est que l'infrastructure appartient à Anthropic. Aucune de vos machines ne reste allumée toute la nuit, et il n'y a aucun fichier de flux de travail à maintenir. Vous décrivez la tâche une fois, et elle s'exécute tout simplement.
Une tâche planifiée n'a pas besoin d'une planification. Elle peut se déclencher selon plusieurs types de déclencheurs :
- Une planification cron, comme tous les matins à 9h.
- Une requête HTTP POST vers son point de terminaison API, afin que votre propre code puisse la lancer.
- Un événement GitHub, comme l'arrivée d'une nouvelle pull request.
Tout ce qui correspond à la même requête sur un déclencheur récurrent convient parfaitement. Un audit matinal des dépendances. Un trieur de PR qui se déclenche à l'arrivée d'une nouvelle pull request. Une analyse quotidienne de vos tickets Sentry pour déterminer ce qui est le plus urgent.
Voici le modèle mental de ce qu'une tâche planifiée relie entre eux : une requête, le dépôt, des connecteurs et un déclencheur.
Deux façons d'en créer une
Vous pouvez créer une tâche planifiée depuis le web à l'adresse claude.ai/code/routines. Vous lui donnez un nom, rédigez les instructions décrivant ce que Claude doit faire à chaque session, choisissez un dépôt et sélectionnez un déclencheur.
Vous pouvez également en créer une directement depuis Claude Code sans quitter votre terminal. Il suffit d'exécuter la commande /schedule et de décrire ce que vous voulez en langage naturel, par exemple :
/schedule audit quotidien des dépendances à 9hMême principe, quel que soit le point d'entrée. Choisissez celui qui convient le mieux à votre flux de travail.
Trois choses à savoir avant de vous fier aux tâches planifiées cloud
Avant de vous appuyer sur les tâches planifiées cloud pour quoi que ce soit d'important, gardez ces trois limites à l'esprit.
- Les tâches planifiées cloud sont en aperçu de recherche. Le comportement et les limites continueront d'évoluer, ne soyez donc pas surpris si les choses changent.
- Une planification récurrente s'exécute au maximum toutes les heures. Si vous avez besoin de quelque chose de plus fréquent, une tâche planifiée cloud n'est pas l'outil adapté.
- Les exécutions démarrent à partir d'un clone récent de votre branche par défaut et poussent vers une branche
claude/, sauf si votre requête nomme une autre branche. Lorsqu'un événement de pull request GitHub déclenche l'exécution, le dépôt de la pull request démarre plutôt à partir du commit de tête de la pull request, à condition qu'il s'agisse du premier dépôt de la tâche planifiée. Pour contrôler vers quelles branches une exécution peut pousser, utilisez des règles de protection de branche ou des ensembles de règles sur GitHub. GitHub les applique à l'accès GitHub que vous avez connecté, donc une règle que votre accès peut contourner ne bloquera pas le push.
Mode headless : lorsque vous avez besoin de votre propre environnement
Les tâches planifiées cloud sont idéales lorsque le travail peut s'exécuter sur l'infrastructure d'Anthropic. Mais parfois, la tâche nécessite votre environnement, ou une logique enveloppant l'exécution. C'est là que vous passez au mode headless, que la documentation appelle désormais le mode non interactif.
Le cœur du mode headless est l'option -p (abréviation de --print). Elle exécute Claude Code comme une commande ponctuelle sans interface utilisateur interactive. Elle lit l'entrée standard et écrit la sortie standard, elle se connecte donc par pipe comme n'importe quel autre outil shell :
claude -p "summarize the changes in this diff"Une chose à savoir : à elle seule, -p charge le même contexte qu'une session interactive, y compris les hooks, les Skills, les plug-ins, les serveurs MCP et le fichier CLAUDE.md. Pour ignorer tout cela, ajoutez --bare, abordé plus loin.
Récupérer une sortie structurée
Comme le mode headless se connecte par pipe comme n'importe quel outil shell, vous voudrez souvent récupérer des données structurées plutôt que du texte libre. Vous pouvez associer un schéma JSON au format de sortie JSON, et Claude contraindra sa sortie pour qu'elle corresponde à votre schéma.
L'objet correspondant à votre schéma se retrouve dans le champ structured_output de la réponse JSON. Vous pouvez donc l'extraire avec une commande jq et le transmettre par pipe vers une base de données ou un autre script :
claude -p "Extract the exported function names from src/core/style.js" \
--output-format json \
--json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}},"required":["functions"]}' \
| jq '.structured_output.functions'Cela vous donne un tableau propre que vous pouvez transmettre à la suite du processus.
Automatisation multi-étapes avec les sessions
Pour un travail qui se déroule en plusieurs étapes, vous n'avez pas besoin de tout entasser dans une seule commande. Capturez l'ID de la session à partir de la sortie JSON et reprenez-la plus tard :
claude --resume "$(jq -r .session_id /tmp/plan.json)"Un script lance le travail. Un autre le reprend plus tard avec le contexte complet. C'est pratique lorsque la première passe produit un plan et qu'une seconde passe l'exécute.
Exécutions cohérentes pour l'intégration continue
Lorsque l'intégration continue a besoin de la même configuration sur chaque machine, il existe un mode conçu pour cela.
L'option --bare ignore la découverte automatique des hooks, des Skills, des plug-ins, des serveurs MCP et du fichier CLAUDE.md. Vous obtenez Claude avec les outils Bash, de lecture de fichiers et d'édition de fichiers, plus tout ce que vous transmettez avec une option comme --settings ou --mcp-config. Ainsi, chaque machine démarre à partir de la même configuration, et le démarrage est plus rapide. Le mode bare n'utilise pas votre connexion par abonnement, définissez donc d'abord ANTHROPIC_API_KEY.
L'Agent SDK : Claude Code au sein de votre propre application
La dernière étape du spectre est l'Agent SDK. Cela vous donne une bibliothèque qui intègre Claude Code au sein de vos propres applications TypeScript ou Python.
Les deux langages exposent une fonction query et les mêmes primitives que la CLI. Vous transmettez une requête ainsi que des options, comme :
allowedToolspour contrôler ce que Claude peut faire,- une invite système,
- et un mode de permission.
Vous parcourez ensuite les messages que Claude renvoie en streaming et les traitez selon les besoins de votre application. C'est le même moteur que la CLI, simplement appelable depuis l'intérieur de votre produit.
Lequel choisir ?
Voici un guide de décision rapide :
- Les tâches planifiées cloud sont l'option par défaut pour le travail répétitif. Elles s'exécutent sur l'infrastructure d'Anthropic, sans rien à héberger de votre côté.
- Le mode headless avec
-pconvient lorsque la tâche nécessite votre pipeline et que vous voulez faire transiter des données par pipe à travers un script. --bareconvient lorsque l'intégration continue a besoin de la même configuration sur chaque machine.- L'Agent SDK convient lorsque le travail doit se trouver au sein de votre propre produit.
Commencez par les tâches planifiées cloud. Ne descendez dans le spectre que lorsque la tâche a besoin de ce contrôle supplémentaire.