Claude Code MCP Tasks : comment les utiliser ? Tâches longues en arrière-plan, confirmation en cours de route avec Elicitations, pris en charge depuis la 2.1.304 (testé avec une clé API tierce)

Depuis la v2.1.304, Claude Code propose les MCP Tasks en bêta publique : le serveur MCP prend en charge la tâche longue et l'exécute lui-même, Claude n'a plus à attendre, et les tâches distantes continuent après votre départ. Cet article reprend la documentation officielle pour expliquer les conditions d'activation, l'usage de /tasks, les deux variables pour attendre un résultat et la différence avec le passage automatique en arrière-plan après 2 minutes. Il présente aussi nos tests en v2.1.309 avec une clé API tierce : passage automatique en arrière-plan, /tasks et confirmation Elicitation en cours de route.

14 分钟阅读
Claude Code MCP Tasks : comment les utiliser ? Tâches longues en arrière-plan, confirmation en cours de route avec Elicitations, pris en charge depuis la 2.1.304 (testé avec une clé API tierce)

Publié par @ClaudeDevs le 24 octobre, lepost principalannonce que Claude Code prend en charge les MCP Tasks : un serveur MCP peut transformer un appel d'outil très long en « tâche », l'exécuter lui-même sur le serveur, et Claude, une fois l'ID de la tâche obtenu, passe à autre chose.Un premier message de suiviprésente les Elicitations, c'est-à-dire une fenêtre qui s'ouvre en cours de tâche pour vous demander une saisie ; un autremessage de suiviindique que la CLI est déjà disponible.

Commençons par la conclusion :

  • les MCP Tasks sont actuellement en bêta publique. Le texte officiel dit : MCP tasks are in public beta in the Claude Code CLI and require Claude Code v2.1.304 or later.
  • Pour qu'un appel devienne une MCP task, plusieurs conditions doivent être réunies : le serveur prend en charge les tasks, la connexion utilise le protocole 2026-07-28, la session peut récupérer les feature flags, l'appel provient de la conversation principale, etc.
  • Nous avons testé avec la clé API de ce site sur Claude Code v2.1.309 : le protocole se négocie bien en 2026-07-28, les appels MCP de plus de 2 minutes passent automatiquement en arrière-plan et leur progression est visible dans /tasks, et la fenêtre de confirmation Elicitation en cours de route fonctionne. En revanche, la MCP task côté serveur n'est pas activée, pour une raison liée aux feature flags, détaillée plus bas.
  • Notre ancien tutoriel ne vous demandait pas de définir DISABLE_TELEMETRY ni CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC. Lors de nos tests, le comportement ci-dessus est identique, que ces variables soient définies ou non.

Créer une clé API →

Quel problème cela résout

Auparavant, quand un appel d'outil MCP durait longtemps (export d'un rapport, lancement d'un build, par exemple), Claude restait bloqué à attendre. La documentation officielle définit ainsi une MCP task :

An MCP task is a long job, such as a report export or a build, that an MCP server runs itself using the MCP tasks extension. Claude's tool call returns once the server accepts the job, so Claude keeps working unless you make Claude wait.

Autrement dit : dès que le serveur accepte la tâche, l'appel d'outil se termine et Claude continue de travailler ; à la fin de la tâche, une ligne s'affiche dans la conversation et Claude récupère le résultat. La barre d'état en bas affiche un compteur du type 1 MCP task . Les tâches sur un serveur distant continuent de tourner après votre sortie de Claude Code, et il suffit de reprendre la même session pour les suivre.

Les Elicitations répondent à un autre besoin : quand la tâche a besoin de votre décision en cours de route, par exemple « déployer maintenant sur staging ? », le serveur peut afficher un formulaire pour vous poser la question, au lieu d'échouer ou de deviner.

Ce n'est pas la même chose que le passage automatique en arrière-plan après 2 minutes

C'est le point le plus facile à confondre. Claude Code dispose d'un mécanisme plus ancien : un appel MCP ordinaire de la conversation principale qui dépasse deux minutes est déplacé automatiquement en arrière-plan et ne bloque plus la session. Texte de la documentation :

An MCP tool call in the main conversation that is still running after two minutes moves to a background task instead of blocking the session.

Les différences :

Appel ordinaire passé automatiquement en arrière-planMCP task (tâche côté serveur)
Qui l'exécuteC'est toujours le même appel d'outil, Claude Code l'attend en arrière-planLe serveur MCP l'exécute lui-même, Claude Code interroge son état à intervalles réguliers
Quand passe-t-elle en arrière-planAprès 2 minutes d'exécutionDès que le serveur accepte la tâche
Après avoir quitté Claude CodeTexte de la documentation : it doesn't survive exiting the sessionLa tâche continue sur le serveur distant, et claude --resume permet de revenir chercher le résultat
Détails dans /tasksPas de mention runs on the serverAffiche runs on the server; survives exiting this session
Conditions requisesAucune exigence particulièreVersion, protocole, feature flags, prise en charge côté serveur, etc. : voir la section suivante

La documentation donne aussi un critère : si, dans /tasks, le détail d'un appel en arrière-plan affiche runs on the server; survives exiting this session, c'est alors seulement une MCP task côté serveur.

Version et prérequis

La section « What a call needs to become an MCP task » de la documentation officielle liste toutes les conditions. Un appel d'outil doit toutes les remplir pour devenir une MCP task :

  • Le serveur prend en charge les tasks.
  • Le serveur est HTTP, stdio ou un connecteur claude.ai, et il est connecté avec le protocole 2026-07-28. Texte original : Setting MCP_SDK_GENERATION=v1 or MCP_PROTOCOL_NEGOTIATION=legacy rules that out.
  • La session récupère les feature flags. Texte original : so not on a third-party provider such as Amazon Bedrock, and not with telemetry or flag fetching turned off.
  • Anthropic a activé les MCP tasks pour votre type de session. Depuis la v2.1.304, cela couvre la CLI en terminal, l'Agent SDK et GitHub Actions ; texte original : Other surfaces, such as the VS Code extension and the desktop app, don't have MCP tasks.
  • L'appel provient de la conversation principale, pas d'un sous-agent.
  • La session est interactive ; ou bien il s'agit de l'Agent SDK, qui lit --input-format stream-json dans claude -p, et que CLAUDE_AUTO_BACKGROUND_TASKS vaut 1,CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND n'est pas à 1,CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS n'est pas à 0.

Attention à la dernière condition : l'exécution ordinaire en une seule fois claude -p "..." n'obtient pas de MCP task, comme l'indique le texte original : A one-shot claude -p "" run doesn't get MCP tasks.

Vérifiez d'abord la version :

bash
claude --version
# 低于 2.1.304 就先升级
claude update

Activation et utilisation pas à pas

1. Connecter un serveur MCP compatible avec les tasks

L'ajout se fait comme pour n'importe quel serveur MCP, sans option supplémentaire :

bash
# 远程 HTTP 服务器
claude mcp add --transport http my-server https://mcp.example.com/mcp
# 本地 stdio 服务器
claude mcp add --transport stdio my-server -- python3 /path/to/server.py

Le serveur doit implémenter l'extension MCP tasks. La documentation indique que, sur une connexion en 2026-07-28, Claude Code inclut, dans le champ params._meta["io.modelcontextprotocol/clientCapabilities"] de chaque requête, sous extensions , l'entrée "io.modelcontextprotocol/tasks": {}; pour ce qui ne peut pas devenir une tâche, tools/call ne porte pas cette extension. Ce n'est qu'en la voyant que le serveur peut répondre avec "resultType": "task" . Si le serveur renvoie quand même une task sans l'avoir vue, Claude reçoit Unsupported result type 'task' for tools/call.

Si vous n'avez encore jamais connecté de MCP, consultez d'abord, côté Codex, letutoriel de configuration MCPpour comprendre comment ajouter, supprimer et lister les serveurs, ou lisez l'articleClaude Code pilote Unreal Engine, un exemple complet d'intégration MCP.

2. Suivre l'avancement avec /tasks, arrêter avec x

Une fois la tâche lancée, saisissez /tasks pour ouvrir la liste. Voici la méthode d'arrêt, d'après la documentation :

To stop a running task, select it in /tasks and press x, or ask Claude to.

Quelques détails :

  • Appuyer sur Esc n'arrête pas les tâches en arrière-plan.
  • Après l'arrêt, Claude Code demande au serveur d'annuler la tâche, mais celui-ci peut quand même aller au bout.
  • Si le serveur est déconnecté, reconnectez-le d'abord dans /mcp ; sinon la demande d'annulation ne peut pas partir et Claude Code ne suit plus cette tâche.

À la fin d'une tâche, une ligne comme celle-ci apparaît dans la conversation :

text
MCP task <server task id> (<server>/<tool>) completed.

Le résultat est transmis à Claude et n'est pas affiché directement dans la conversation ; pour le voir, demandez-le à Claude. Si Claude est inactif quand il reçoit le résultat, il le traite de lui-même et poursuit.

3. Récupérer le résultat avec claude --resume après être sorti

Les tâches sur un serveur distant continuent de tourner après la sortie. À votre retour, reprenez la session qui contient la tâche :

bash
claude --resume

Condition : le nom du serveur et les paramètres de connexion ne doivent pas changer. Ni une nouvelle session ni l'usage de --fork-session ne permettent de retrouver la tâche d'origine ; dans une exécution ponctuelle avec claude -p , --resume ne la suit pas non plus. Par ailleurs, le processus d'un serveur stdio s'arrête à la fermeture de Claude Code. Même si /tasks affiche aussi survives exiting this session, la documentation recommande, sauf si celle du serveur indique que le travail survit au processus, de laisser la tâche se terminer ou de l'arrêter avant de quitter.

4. Faire attendre le résultat à Claude avant de continuer

Par défaut, Claude n'attend pas. Pour qu'il attende, choisissez l'un des deux réglages dans settings.json , section env (un seul des deux) :

  • CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS défini sur 0: Claude attend la fin de chaque appel MCP, et cela désactive aussi le passage automatique en arrière-plan au bout de 2 minutes pour les appels ordinaires.
  • CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND défini sur 1: Claude attend les résultats des tâches, mais le passage automatique en arrière-plan des appels ordinaires reste actif. Les appels de plus de 2 minutes sont donc toujours déplacés en arrière-plan, mais il s'agit alors d'appels ordinaires en arrière-plan, pas de MCP tasks, et ils disparaissent à la sortie.
json
{
  "env": {
    "CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS": "0"
  }
}

Définir seulement CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 ou utiliser le mode bare ne fait pas attendre à Claude les MCP tasks.

5. Elicitation : confirmation demandée en cours de tâche

Une boîte de dialogue d'elicitation peut s'afficher pendant l'exécution d'une tâche. Deux points à noter :

  • /tasks est activé, la boîte de dialogue est masquée : fermez d'abord /tasks pour pouvoir répondre.
  • Choisir Decline ou appuyer sur Esc compte aussi comme une réponse ; le serveur décide lui-même de poursuivre ou non la tâche.

Dans une session non interactive, toute tâche qui demande une saisie est annulée. Texte original : In a non-interactive session, Claude Code asks the server to cancel a task that requests input, without running your Elicitation hooks or calling the Agent SDK's onElicitation callback.

Points d'attention avec une API tierce

Nous avons suivi la méthode dututoriel de configuration d'une API tierce pour Claude Code, dans le fichier global ~/.claude/settings.json nous avons renseigné la clé du site (ANTHROPIC_BASE_URL sans /v1) :

json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
    "ANTHROPIC_AUTH_TOKEN": "你的 API Key"
  }
}

J'ai ensuite connecté Claude Code v2.1.309 à un serveur MCP stdio minimal écrit par mes soins. Il implémente l'extension tasks et expose deux outils : un build lent et un déploiement qui demande une confirmation en cours de route. Voici les résultats des tests.

Test 1 : le protocole et les MCP tasks

  • La connexion fonctionne, et le journal de débogage consigne negotiatedProtocolVersion":"2026-07-28", ce qui indique que le nouveau protocole est bien utilisé.
  • Le journal de débogage consigne aussi mcp runtime arm: v2 (source: default). Selon la documentation, une session qui ne récupère pas les feature flags utilise par défaut le runtime v2. Ici, la source de cette ligne est default et non flags.
  • Dans le tools/call reçu par le serveur,clientCapabilities ne contient que roots et elicitation, sans io.modelcontextprotocol/tasks. Le serveur ne peut donc pas répondre par une task, et l'appel est exécuté comme un appel MCP ordinaire.

Conclusion : avec la clé de notre site, les MCP tasks côté serveur n'étaient pas activées lors de ce test, ce qui correspond à la condition de la documentation selon laquelle la session doit pouvoir récupérer les feature flags. Le billet officiel et la documentation parlent encore de bêta publique ; nous mettrons cet article à jour si le périmètre d'ouverture évolue.

Test 2 : passage automatique en arrière-plan d'un appel long, et /tasks

Nous avons lancé l'outil de build lent pendant 150 secondes :

  • Au bout d'environ 2 minutes, l'appel a été basculé en arrière-plan. Claude a répondu que la tâche était passée en arrière-plan, et le bas de l'écran affichait 1 MCP task.
  • En ouvrant /tasks , on voit la progression et les messages de progression envoyés par le serveur, avec l'indication Esc to go back · x to stopen bas de l'écran.
  • À 150 secondes, une notification de fin est apparue, et Claude a immédiatement rapporté le résultat.

claude-code-mcp-tasks-tasks

claude-code-mcp-tasks-done

Attention : il s'agit du passage automatique en arrière-plan d'un appel ordinaire. Même si /tasks l'étiquette aussi comme MCP task, le détail n'indique pas runs on the server, et la tâche disparaît dès que vous quittez la session. Laissez donc vos tâches longues se terminer avant de quitter, ou ajustez le seuil avec CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS .

Test 3 : confirmation en cours de route avec Elicitation

En appelant l'outil de déploiement, le serveur renvoie, sous le protocole 2026-07-28, un résultat demandant une saisie, et Claude Code affiche un formulaire :

claude-code-mcp-tasks-elicitation

Après avoir coché la confirmation et choisi Accept, le serveur reçoit confirm: trueet l'outil renvoie son résultat. Il s'écoule environ 7 secondes entre la question et le résultat. Autrement dit, la confirmation en cours d'appel MCP ordinaire fonctionne avec une clé tierce.

Que faire des variables de télémétrie

Pour limiter les requêtes envoyées, certains lecteurs définissent l'une des deux variables suivantes :

bash
export DISABLE_TELEMETRY=1
# 或
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

Nous avons relancé les tests avec chacune de ces variables : le runtime est le même, à savoir v2 (source: default), le serveur ne reçoit toujours pas l'extension tasks, et la fenêtre Elicitation s'affiche normalement. Pour les utilisateurs d'une clé tierce, définir ou non ces variables ne change donc rien au comportement de la partie MCP.

Nos recommandations :

  • Si vous utilisez un compte officiel et souhaitez les MCP tasks côté serveur : suivez la documentation et ne désactivez ni la télémétrie ni la récupération des flags.
  • Si vous utilisez une clé API tierce : ces deux variables n'affectent pas les fonctionnalités testées ici, décidez selon vos besoins en matière de confidentialité et de réseau. Notre tutoriel Claude Code n'a d'ailleurs jamais demandé de les définir.
  • Ne définissez pas MCP_SDK_GENERATION=v1 ou MCP_PROTOCOL_NEGOTIATION=legacypar souci de « compatibilité » : cela exclurait directement les MCP tasks.

Si vous rencontrez des lenteurs ou des blocages sans lien avec les tâches, consultezle guide de diagnostic des lenteurs de Claude Code.

États et erreurs courants

Les messages ci-dessous apparaissent dans une entrée de /tasks ou sur la ligne de fin d'une tâche. Leur signification est tirée du tableau des états de la documentation officielle. Pendant l'affichage d'un message, la tâche peut encore tourner, et Claude Code continue d'interroger son état.

MessageSignificationQue faire
reconnecting…Le serveur n'a pas encore répondu après la reprise, ou la requête d'état est restée sans réponseS'il ne disparaît pas, reconnectez-vous via /mcp
needs a sign-in to …Le serveur a refusé la requête d'étatConnectez-vous via /mcp
status requests come back with errors; retrying…Le serveur, ou le proxy placé devant lui, a renvoyé une erreurAttendez que Claude Code réessaie
server '…' did not reconnect within 300sAucune requête n'a abouti en 5 minutesReconnectez-vous via /mcp
server '…' is not configured in this session; the task may still be running on itAucun serveur de ce nom dans la sessionRétablissez le serveur sous son nom d'origine, puis reprenez la session
server '…' was reconfigured to a different transport since this task was created Message commençant parL'URL, la commande, les arguments, les variables d'environnement, les en-têtes ou le délai d'expiration du serveur ont été modifiésRevenez aux paramètres d'origine, puis reprenez la session
the server rejected this task's id; asking again…Le serveur indique qu'il ne reconnaît pas cet ID de tâche, vous pouvez réessayer pendant 5 minutes maximumAttente
Avec outcome unknown. en fin de ligneClaude Code a cessé de suivreDemandez d'abord ce que le serveur a réellement fait, puis décidez s'il faut relancer l'appel, afin d'éviter une double exécution

Deux types d'erreurs d'outils fréquents côté auteurs de serveurs, d'après la documentation :

  • Le client n'a pas envoyé l'extension tasks, mais le serveur a tout de même renvoyé une task :Unsupported result type 'task' for tools/call.
  • L'identifiant de tâche n'est pas conforme (128 caractères ASCII imprimables au maximum, sans espace) : le message d'erreur commence par MCP server et contient returned a malformed task handle for tool.

Questions fréquentes

Quelle version faut-il pour utiliser Claude Code MCP Tasks ?

La v2.1.304 ou une version ultérieure. La fonctionnalité est actuellement en bêta publique dans la CLI. Elle est aussi disponible dans l'Agent SDK et GitHub Actions ; l'extension VS Code et l'application de bureau n'en bénéficient pas pour l'instant.

Peut-on utiliser MCP Tasks avec une clé API tierce ?

Lors de nos tests en v2.1.309 avec la clé de ce site, les tâches MCP côté serveur n'étaient pas activées et le client ne déclarait pas l'extension tasks au serveur. En revanche, le passage automatique en arrière-plan au-delà de 2 minutes, la consultation et l'arrêt via /tasks, ainsi que la confirmation en cours de route par Elicitation fonctionnent normalement.

Cela fonctionne-t-il encore si DISABLE_TELEMETRY est défini ?

D'après la documentation, une session pour laquelle la télémétrie ou la récupération des flags est désactivée n'aura pas de MCP task. Avec une clé tierce, nos tests montrent le même comportement, que ce réglage soit activé ou non, et Elicitation reste utilisable.

Les sous-agents et claude -p les transforment-ils en tâches ?

Les appels lancés par un sous-agent ne le sont pas. Un appel ponctuel avec claude -p "" non plus ; avec l'Agent SDK ou en lisant --input-format stream-json , un claude -p ne le peut que si CLAUDE_AUTO_BACKGROUND_TASKS=1 et d'autres conditions sont réunies, et à condition de ne pas fermer l'entrée.

Les tâches subsistent-elles après la fermeture de Claude Code ?

Les MCP tasks hébergées sur un serveur distant subsistent. Utilisez claude --resume pour reprendre la même session et récupérer le résultat, sans modifier le nom du serveur ni les paramètres de connexion. Pour un appel ordinaire passé automatiquement en arrière-plan, la tâche disparaît dès que vous quittez. Le processus d'un serveur stdio s'arrête lui aussi à la sortie.

Comment faire attendre à Claude le résultat d'une tâche avant de continuer ?

Définissez CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS=0(attend tous les appels MCP) ou CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND=1(attend le résultat des tâches, mais celles qui dépassent 2 minutes sont tout de même converties en appels ordinaires en arrière-plan).

Que faire si la fenêtre d'Elicitation n'apparaît pas ?

Vérifiez d'abord que /tasksn'est pas activé : lorsqu'il l'est, la boîte de dialogue est masquée. Dans une session non interactive, une tâche qui demande une saisie est annulée immédiatement.

Créer une clé API →

相关文章

Des pages web générées par IA qui sentent l'IA au premier regard ? Installez Hallmark v2 sur Claude Code / Codex : 48 thèmes, génération de la page et auto-vérification (test réel avec une clé API tierce)

Des pages web générées par IA qui sentent l'IA au premier regard ? Installez Hallmark v2 sur Claude Code / Codex : 48 thèmes, génération de la page et auto-vérification (test réel avec une clé API tierce)

Pourquoi une page web générée par IA sent-elle l'IA au premier regard ? Hallmark v2 est un skill de design web pour Claude Code et Codex : il présélectionne d'abord 3 thèmes parmi 48 pour que vous choisissiez, met ensuite en page selon l'objectif de la landing page, puis s'auto-vérifie dans un vrai navigateur sur 8 largeurs. Cet article teste l'installation avec la clé API de ce site, la création d'une landing page pour une App de comptabilité personnelle, /hallmark audit et /hallmark redesign, avec comparaison avant/après et durée de chaque étape.

Codex CLI 0.164 : quoi de neuf ? Préréglages /presets, changement d'effort de raisonnement en une ligne avec /model, proxy d'entreprise sous Windows (test avec une clé tierce)

Codex CLI 0.164 : quoi de neuf ? Préréglages /presets, changement d'effort de raisonnement en une ligne avec /model, proxy d'entreprise sous Windows (test avec une clé tierce)

Codex CLI 0.164.0 ajoute /presets avec 10 emplacements numérotés, des arguments en ligne pour /model et /permissions, corrige la restauration des paramètres de session avec resume et prend en charge l'authentification Negotiate/NTLM pour les proxys d'entreprise sous Windows. Cet article cite le texte original de la release pour détailler chaque nouveauté, puis teste avec une clé API tierce et un provider personnalisé le taux de cache et resume après un changement d'effort de raisonnement via /presets et /model.

Sortie de Kimi K3.1 Pro : configuration avec Claude Code, différences avec K3 et choix de Highspeed

Sortie de Kimi K3.1 Pro : configuration avec Claude Code, différences avec K3 et choix de Highspeed

Kimi a publié K3.1 Pro et K3.1 Pro Highspeed le 24 octobre à 01h15, heure de Pékin. Cet article récapitule les points clés de l'annonce officielle, les différences entre K3.1 Pro et K3, la configuration de settings.json pour Claude Code (l'ID de modèle officiel de K3.1 Pro et le kimi-k3 actuellement disponible sur ce site), ainsi qu'une tâche de développement exécutée avec kimi-k3 dans Claude Code.