Claude Code Mac Desktop + Remote Control : guide pour les utilisateurs du CLI
L’application Claude Code Mac Desktop et la sous-commande claude remote-control résolvent le même problème, mais par des chemins opposés. L’application desktop vous offre une fenêtre avec trois onglets (Chat, Cowork, Code) et un espace de travail que vous pouvez organiser autour de votre code. Remote Control vous donne exactement l’inverse : aucune fenêtre sur votre machine locale, juste un processus qui sert votre session locale à l’application Claude sur votre téléphone ou à claude.ai/code dans n’importe quel navigateur.1
Si vous avez démarré avec claude dans un terminal, les deux surfaces semblent étranges au premier abord. Pourquoi voudrais-je une GUI alors que la TUI fait l’affaire ? Pourquoi voudrais-je piloter mon Mac depuis mon téléphone alors que mon Mac est juste là ? La réponse aux deux questions est la même : votre environnement local est la partie que vous ne pouvez pas déplacer. Système de fichiers, serveurs MCP (Yurei, Cloudflare, GitHub), Xcode, identités de signature de code, votre socket Yurei, votre historique ~/.claude/projects/. Tout cela vit sur la machine. L’application desktop et Remote Control sont deux moyens d’accéder à cet environnement depuis ailleurs : une autre fenêtre, un autre appareil, un canapé, une réunion.
Cet essai est la référence que j’aurais aimé avoir lorsque j’ai changé. Il couvre les trois modes (CLI local, cloud, local + Remote Control), comment configurer chacun, quelles commandes slash fonctionnent où, l’histoire des notifications push, et les endroits précis où l’application desktop diverge de claude dans un terminal. Honnête sur les limitations. Sans remplissage.
TL;DR
- Trois modes qui se ressemblent depuis claude.ai/code mais s’exécutent très différemment : CLI local, session Cloud (
claude --remotedepuis le terminal, l’environnement Remote dans Desktop, ou démarrer une nouvelle session sur claude.ai/code) et Local + Remote Control. Seuls le premier et le troisième ont accès à votre système de fichiers, à vos serveurs MCP et à Xcode.12 - L’onglet Code de l’application Mac Desktop est une session Claude Code graphique : même moteur que le CLI, même configuration
~/.claude.json, même CLAUDE.md, mêmes serveurs MCP. Mais elle dispose de sa propre disposition de panneaux, de chats latéraux et d’une barre latérale de sessions.2 claude remote-control(mode serveur) garde le processus en cours d’exécution localement et vous permet de vous connecter depuis n’importe quel appareil.claude --remote-controlest une session interactive avec Remote Control activé./remote-controlest la même chose en tant que commande slash depuis l’intérieur d’une session existante.1- Les notifications push de l’application iOS fonctionnent via
/config→ « Push when Claude decides » (v2.1.110+). Claude envoie une notification lorsqu’une tâche longue se termine ou qu’il a besoin de votre intervention.13 - Pour les builds natifs macOS ou iOS, le CLI local ou Local + Remote Control est le seul environnement qui fonctionne réellement. Les sessions cloud ne peuvent pas exécuter Xcode, ne peuvent pas signer, ne peuvent pas voir votre socket Yurei local.2
Les trois modes qui comptent
Même URL claude.ai/code, même icône d’application iOS, trois environnements d’exécution complètement différents derrière eux.
1. CLI local
C’est claude dans un terminal. Le processus s’exécute sur votre Mac. La session vit dans ~/.claude/projects/<project-path>/<session-id>.jsonl sur le disque, pas dans votre compte Anthropic.4 Votre iPhone ne peut pas la voir. Il n’y a pas de surface distante.
Ce que vous obtenez :
- Accès complet au système de fichiers :
~/Projects,~/.claude/, partout où l’utilisateur a un accès en lecture/écriture - Tous vos serveurs MCP : Yurei (
/tmp/yurei.sock), Cloudflare, GitHub, Supabase, Playwright, etc. - Xcode, simulateurs (
xcrun simctl), identités de signature de code, App Store Connect - Plugins, skills et hooks installés localement
- Mode vocal (
/voice) - Tous les drapeaux du CLI (
--worktree,--rc,--print,--output-format, etc.)
Ce que vous n’obtenez pas : aucun moyen de voir ou de piloter la session depuis un autre appareil.
Pour un build d’application Mac (Return, Get Bananas, Water, les apps des articles App Intents et serveur MCP), le CLI local fonctionne parfaitement. Local + Remote Control aussi (couvert dans la section 3 ci-dessous) : les deux gardent le processus Claude sur votre Mac, donc les deux atteignent Xcode, les simulateurs et la signature. La session cloud est ce qui ne peut pas exécuter la chaîne d’outils Apple.
2. Session Cloud
Il s’agit de claude --remote "task" depuis le terminal, de la sélection de Remote lors du démarrage d’une session de l’application desktop, ou de la visite de claude.ai/code sur le web et du démarrage d’une nouvelle session là-bas. Le processus Claude Code s’exécute sur l’infrastructure cloud gérée par Anthropic, pas sur votre machine.2 (Les anciens documents et habitudes de shell montrent parfois & task comme raccourci pour le même résultat ; considérez le drapeau explicite --remote comme la forme canonique.)
Ce que vous obtenez :
- Persistance entre les machines et les appareils : visible depuis votre iPhone, iPad, navigateur
- Continue à fonctionner après avoir fermé l’application ou éteint votre ordinateur portable
- Environnement géré par Anthropic, aucune configuration locale requise
- Support multi-dépôts : les sessions cloud peuvent cloner plusieurs dépôts GitHub dans le même espace de travail2
Ce que vous n’obtenez pas :
- Aucun accès au système de fichiers à
~/Projects - Aucun serveur MCP local (le socket Yurei, les scripts de cache Cloudflare locaux, les MCP personnalisés dans
.mcp.jsonne seront pas accessibles) - Pas de Xcode, pas de simulateurs, pas de signature
- Impossible de voir votre configuration
~/.claude/ou vos skills (uniquement ce qui se trouve dans.claude/du dépôt cloné) - Impossible d’utiliser
@mentionsur les fichiers (l’autocomplétion @ tire du projet local ; les sessions cloud n’en ont pas)2
Cas d’usage : une tâche de codage autonome sans dépendance à la chaîne d’outils Apple. Ouvrir une revue de PR, lancer une suite de tests, refactoriser un fichier, écrire un script Python. Tout ce dont vous avez besoin n’est que git + Linux standard + Python/Node.
3. Local + Remote Control
C’est la troisième option, celle que la plupart des utilisateurs du CLI négligent. Il y a trois façons de l’activer : claude remote-control (mode serveur), claude --remote-control (ou --rc, une session interactive avec Remote Control activé), ou /remote-control depuis l’intérieur d’une session existante. Le processus Claude Code continue de s’exécuter sur votre Mac avec un accès local complet, mais il s’enregistre également auprès du API Anthropic afin que vous puissiez le piloter depuis votre iPhone, iPad ou navigateur.1
Ce que vous obtenez : tout ce que le CLI local possède, plus un téléphone à partir duquel vous pouvez envoyer des prompts. La conversation reste synchronisée sur tous les appareils connectés. Vous pouvez envoyer un message depuis le terminal du Mac, le voir sur l’iPhone, taper un suivi sur l’iPhone, le voir réapparaître dans le terminal. Le processus local fait toujours le travail ; votre téléphone n’est qu’une fenêtre.
Ce à quoi vous renoncez : un petit ensemble spécifique de commandes slash. La documentation mentionne explicitement /mcp, /plugin et /resume comme étant local-only (ils ouvrent chacun un sélecteur interactif qui nécessite un terminal). La documentation liste explicitement les commandes qui produisent une sortie textuelle et fonctionnent depuis mobile et web : /compact, /clear, /context, /usage, /exit, /extra-usage, /recap, /reload-plugins.1
C’est la réponse pour les builds d’apps natives macOS ou iOS. Vous obtenez Xcode, vous obtenez MCP, vous obtenez le socket Yurei, et vous obtenez la visibilité depuis le téléphone.
Configurer l’application Mac Desktop
L’application desktop et le CLI ne sont pas des alternatives. Ce sont deux clients pour le même moteur. Vous pouvez exécuter les deux simultanément sur la même machine, même sur le même projet. Chacun suit son propre historique de session, mais ils partagent CLAUDE.md, ~/.claude.json, les serveurs MCP, les hooks et les skills.2
Téléchargez depuis claude.com/download. Installez. Connectez-vous avec votre compte claude.ai. L’application a trois onglets :2
- Chat pour les conversations Claude classiques
- Cowork pour Dispatch (tâches longues, éventuellement messagées depuis votre téléphone)
- Code pour Claude Code avec une interface graphique
L’onglet Code est ce qui nous concerne. Cliquez sur + New session dans la barre latérale. Configurez quatre choses dans la zone de prompt :2
- Environment : Local (ce Mac), Remote (cloud Anthropic) ou SSH (une machine distante que vous gérez)
- Project folder : le dossier dans lequel Claude travaille
- Model : Sonnet 4.6, Opus 4.6, Opus 4.7, ou autres
- Permission mode : Ask, Auto-accept edits, Plan, Auto, ou Bypass permissions
Tapez votre prompt, appuyez sur Entrée. À partir de là, cela ressemble à une application de chat : les messages s’empilent, les appels d’outils s’affichent sous forme de cartes pliables, et un indicateur de statistiques de diff (+12 -1) apparaît lorsque les fichiers changent. Cliquez sur l’indicateur pour ouvrir la visionneuse de diff avec un examen fichier par fichier et des commentaires au niveau des lignes.2
Pour les sessions locales, la touche @ dans la zone de prompt complète automatiquement les chemins de fichiers de votre projet : identique au mention @ du CLI. Pour les sessions distantes, @ est désactivé car le processus cloud ne peut pas voir vos fichiers locaux.2
Conditions préalables avant de commencer
Quatre conditions préalables pour toute session Remote Control :1
- Claude Code v2.1.51 ou ultérieur (vérifiez avec
claude --version). - Abonnement : Pro, Max, Team ou Enterprise. Les clés API ne sont pas prises en charge. Sur Team et Enterprise, un admin doit d’abord activer le bouton Remote Control dans
claude.ai/admin-settings/claude-code. - Authentification : exécutez
claudeet utilisez/login(option claude.ai) si ce n’est pas déjà fait. Les jetons d’inférence uniquement declaude setup-tokenou de la variable d’environnementCLAUDE_CODE_OAUTH_TOKENne fonctionneront pas. - Confiance de l’espace de travail : exécutez
claudedans le répertoire de votre projet au moins une fois et acceptez la boîte de dialogue de confiance de l’espace de travail.
Quatre façons de démarrer une session Remote Control
La documentation actuelle liste quatre surfaces d’invocation (trois depuis le CLI plus une commande VS Code). L’application Mac Desktop n’est pas un hôte Remote Control ; Remote Control est hébergé par claude (CLI) ou l’extension VS Code.1
Mode serveur : claude remote-control
cd ~/Projects/blakecrosley.com
claude remote-control
Le terminal devient un serveur. Aucun prompt interactif. Il affiche une URL de session et (si vous appuyez sur la barre d’espace) un QR code. Connectez-vous depuis un autre appareil en ouvrant l’URL ou en scannant le QR. Lorsque la session est active, le terminal affiche le statut de connexion et l’activité des outils.
Drapeaux utiles :1
--name "My Project": titre de session personnalisé visible sur claude.ai/code--remote-control-session-name-prefix <prefix>: remplace le nom auto (par défaut le hostname de votre machine, produisant des noms commemyhost-graceful-unicorn)--spawn same-dir(par défaut) : toutes les sessions partagent le répertoire de travail courant--spawn worktree: chaque session obtient son propre worktree git (nécessite un dépôt git) ; appuyez surwà l’exécution pour basculer entresame-diretworktree--spawn session: mode session unique, rejette les connexions supplémentaires ; à définir uniquement au démarrage--capacity N: sessions concurrentes maximales (par défaut 32, ne peut pas être combiné avec--spawn=session)--sandbox/--no-sandbox: bascule l’isolation du système de fichiers et du réseau (désactivé par défaut)
Le mode serveur est le bon choix lorsque vous voulez démarrer la session et vous éloigner. Le terminal est un démon maintenant, pas un espace de travail.
Interactif : claude --remote-control
claude --remote-control
# ou plus court
claude --rc
Identique à une session interactive normale, mais avec Remote Control activé. Vous pouvez taper des messages localement et depuis claude.ai/code ou l’application iOS. La conversation reste synchronisée. En option : claude --rc "Project Name".
Utilisez ceci lorsque vous voulez continuer à travailler dans le terminal mais que vous voulez aussi la visibilité depuis le téléphone. C’est le cas le plus courant.
Commande slash : /remote-control
Vous êtes déjà dans une session et vous voulez activer Remote Control sur cette conversation spécifiquement ? Tapez /remote-control (ou /rc). L’historique de la conversation actuelle est conservé et une URL de session + QR apparaissent. Passez un nom : /remote-control My Project.
Les drapeaux --verbose, --sandbox et --no-sandbox ne fonctionnent pas avec la forme slash : uniquement avec claude remote-control (mode serveur).
Extension VS Code
Dans l’extension Claude Code VS Code, tapez /remote-control (ou /rc) dans la zone de prompt, ou ouvrez le menu de commandes avec / et sélectionnez-le. Nécessite Claude Code v2.1.79 ou ultérieur.1 Une bannière apparaît au-dessus de la zone de prompt indiquant le statut de connexion. Cliquez sur Open in browser pour accéder directement à la session, ou trouvez-la dans la liste des sessions sur claude.ai/code. Déconnectez-vous en cliquant sur l’icône de fermeture sur la bannière ou en exécutant à nouveau /remote-control.
La commande VS Code n’accepte pas d’argument de nom et n’affiche pas de QR code. Le titre de la session est dérivé de l’historique de la conversation ou du premier prompt.
Toujours actif : /config → « Enable Remote Control for all sessions »
Si vous voulez que chaque session interactive claude enregistre une session distante par défaut, exécutez /config et basculez Enable Remote Control for all sessions sur true.1 Chaque processus interactif obtient une session distante. Plusieurs instances → plusieurs sessions. Pour plusieurs sessions concurrentes depuis un seul processus, le mode serveur reste l’outil approprié.
L’histoire des notifications push
Pousser sur votre téléphone lorsqu’il se passe quelque chose d’intéressant. La configuration comporte quatre étapes :13
- Installez l’application Claude pour iOS ou Android. À l’intérieur de Claude Code,
/mobileaffiche un QR code de téléchargement si vous ne l’avez pas déjà. - Connectez-vous avec le même compte Claude que vous utilisez pour Claude Code dans le terminal.
- Acceptez l’invite de permission de notification de l’OS.
- Dans le terminal, exécutez
/configet activez Push when Claude decides (v2.1.110+).
Après cela, Claude décide quand pousser. Deux cas le déclenchent : la fin d’une tâche de longue durée, ou Claude a besoin de votre intervention pour continuer. Vous pouvez également en demander une explicitement dans votre prompt : notify me when the tests finish. Il n’y a pas de configuration par événement : c’est activé ou désactivé.
Si vous activez le paramètre mais ne voyez pas de notifications, le correctif le plus courant : ouvrez l’application Claude sur votre téléphone afin qu’elle puisse rafraîchir son jeton push. L’écran /config affiche No mobile registered jusqu’à ce que cela arrive. Les modes Focus iOS et l’optimisation de la batterie Android peuvent également retarder ou supprimer la livraison ; vérifiez Réglages → Notifications → Claude sur iOS, ou exemptez l’application Claude de l’optimisation de la batterie sur Android.1
Pour le contexte de fond : un outil push-notification séparé (également v2.1.110+) permet à Claude lui-même de décider d’envoyer des notifications pendant une session, pas seulement à la fin de la tâche. Il s’apparie avec la même surface Remote Control, sans configuration supplémentaire.3
Commandes slash qui fonctionnent à distance
C’est la partie qui intéresse le plus les utilisateurs du CLI. Lorsque vous tapez sur votre téléphone au lieu de votre terminal, qu’est-ce qui fonctionne ?
Fonctionnent depuis n’importe quel client connecté (terminal, navigateur, application iOS) :1
/compact,/clear: gestion du contexte/context,/usage,/extra-usage: inspection de l’utilisation et du contexte (v2.1.113+ a ajouté la prise en charge Remote Control pour/extra-usage)/exit,/recap,/reload-plugins- Toute saisie textuelle non-sélecteur (prompts classiques, commandes slash normales qui produisent une sortie textuelle)
Local-only (terminal uniquement) :1
/mcp: ouvre un sélecteur interactif/plugin: ouvre un sélecteur interactif/resume: doit afficher une liste de sessions avec une UI de sélection
Le schéma : tout ce qui nécessite une sélection-liste-au-clavier dans le terminal reste local. Tout ce qui est texte-entrée / texte-sortie fonctionne depuis mobile ou web.
Certaines commandes ont une prise en charge Remote Control spécifique à la version. /extra-usage ne fonctionne depuis les clients Remote Control qu’à partir de v2.1.113 : les versions antérieures échouaient silencieusement.5 Cela vaut la peine de vérifier claude --version si une commande se comporte différemment depuis votre téléphone par rapport à votre Mac.
Les modes de permission sont un peu différents
L’application desktop a cinq modes de permission ; le CLI a ces cinq plus dontAsk :2
| Mode | Comportement | CLI ? | Desktop ? |
|---|---|---|---|
Ask permissions (default) |
Demande avant chaque édition/commande | ✓ | ✓ |
Auto accept edits (acceptEdits) |
Accepte automatiquement les éditions de fichiers + les commandes de système de fichiers sûres ; demande pour le reste | ✓ | ✓ |
Plan mode (plan) |
Lit/explore, propose un plan, pas d’éditions de source | ✓ | ✓ |
Auto (auto) |
Vérifications de sécurité en arrière-plan, moins de prompts | ✓ | ✓ |
Bypass permissions (bypassPermissions) |
Aucun prompt. Équivalent à --dangerously-skip-permissions du CLI. Recommandation d’Anthropic : à utiliser uniquement dans des conteneurs ou VM en sandbox. |
✓ | ✓ (opt-in dans Settings) |
dontAsk |
Outils pré-approuvés uniquement | ✓ | ✗ |
dontAsk est CLI-uniquement. Tout le reste correspond à un contrôle UI à côté du bouton d’envoi. Le drapeau CLI --dangerously-skip-permissions correspond à Bypass permissions, dans lequel vous devez vous inscrire via Settings → Claude Code → « Allow bypass permissions mode ».2
Le mode Auto nécessite Claude Sonnet 4.6, Opus 4.6 ou Opus 4.7 sur Team/Enterprise/API ; Opus 4.7 sur Max. Non disponible sur les plans Pro ou les fournisseurs tiers.2
L’onglet Cowork et Dispatch (adjacents, pas identiques)
L’onglet Cowork de l’application desktop est une fonctionnalité différente avec des ergonomies qui se chevauchent. Dispatch, c’est « envoyez une tâche à Claude depuis votre téléphone, et il décide s’il doit traiter la tâche lui-même ou faire apparaître une session Code sur votre Mac ».2
L’appariement se fait une fois : installez l’application mobile Claude, liez-la à votre Mac via l’onglet Cowork. Après cela, vous pouvez envoyer un texto à Dispatch avec une tâche (« corrige le bug de connexion, ouvre une PR ») et il achemine le travail. Les corrections de bugs, mises à jour de dépendances, exécutions de tests et créations de PR finissent généralement comme des sessions Code sur votre Mac avec un badge Dispatch dans la barre latérale. Recherche, édition de documents et travail sur tableur restent dans Cowork.
Les permissions d’approbation d’application pour les sessions Code créées par Dispatch expirent après 30 minutes (contre une durée de session pour les sessions Code classiques), donc une tâche Dispatchée de longue durée peut vous redemander des permissions d’app que vous aviez déjà approuvées.2
Dispatch nécessite Pro ou Max. Non disponible sur Team ou Enterprise.
Ce n’est pas Remote Control. Dispatch, c’est « envoyer à Claude une tâche à exécuter de manière autonome » ; Remote Control, c’est « piloter une session déjà en cours d’exécution ». Elles sont documentées comme des surfaces indépendantes : Remote Control est hébergé par le CLI ou VS Code, Dispatch fait apparaître des sessions Code Desktop : et la documentation ne décrit pas actuellement leur combinaison. Choisissez l’une selon que vous voulez déléguer (Dispatch) ou piloter (Remote Control).
Ce qui est conservé depuis le CLI
L’application desktop lit les mêmes fichiers de configuration que le CLI :2
CLAUDE.mdetCLAUDE.local.mddans votre projet~/.claude.json(global) et.mcp.json(par projet) pour les serveurs MCP- Hooks et skills définis dans
~/.claude/settings.jsonou.claude/settings.json - Règles de permission dans
settings.json - Tous les modèles disponibles
Drapeau CLI → équivalent desktop :2
| CLI | Desktop |
|---|---|
--model sonnet |
Liste déroulante de modèle à côté du bouton d’envoi |
--resume, --continue |
Cliquer sur une session dans la barre latérale |
--permission-mode |
Sélecteur de mode à côté du bouton d’envoi |
--dangerously-skip-permissions |
Bypass permissions (opt-in dans Settings) |
--add-dir |
Bouton + pour ajouter des dépôts dans les sessions distantes |
--allowedTools, --disallowedTools |
Pas d’UI par session ; les règles du fichier de paramètres s’appliquent toujours |
--verbose |
Mode d’affichage Verbose dans la liste déroulante Transcript |
--print, --output-format |
Non disponible : Desktop est interactif uniquement |
Variable d’env ANTHROPIC_MODEL |
Liste déroulante de modèle |
Variable d’env MAX_THINKING_TOKENS |
Éditeur d’environnement local |
Un piège de configuration qui mérite d’être signalé : l’application de chat Claude Desktop (le client de chat uniquement à claude_desktop_config.json) et Claude Code Desktop (le client de développement dont nous parlons) sont des produits différents. Les serveurs MCP configurés pour l’application de chat n’apparaîtront pas dans l’onglet Code. Code lit ~/.claude.json et .mcp.json, pas claude_desktop_config.json.2
CLI → Desktop : quand passer
L’application desktop brille pour trois choses que le CLI ne fait pas bien :2
- Sessions parallèles côte à côte : chaque session de l’onglet Code obtient son propre worktree Git à
<project-root>/.claude/worktrees/. Naviguez avecCtrl+Tab/Ctrl+Shift+Tab. Lancez un refactoring dans une session pendant qu’une suite de tests s’exécute dans une autre, et passez-les en revue visuellement plutôt que par codes d’échappement ANSI. - Revue de diff visuelle : cliquez sur l’indicateur
+12 -1. Commentez sur les lignes. Soumettez les commentaires à Claude avecCmd+Enter. Bat la lecture des diffs en ligne dans un terminal. - Panneau d’aperçu intégré : Claude peut démarrer un serveur de développement et ouvrir l’application en cours d’exécution dans un navigateur intégré, prendre des captures d’écran, cliquer et vérifier ses propres changements. La vérification automatique est activée par défaut par projet (basculer dans
.claude/launch.jsonou via la liste déroulante Preview).2
Le CLI gagne toujours pour : le scripting (--print, --output-format), l’automatisation (tâches cron, CI), les workflows tmux/screen, et tout ce qui nécessite le mode de permission dontAsk.
Pour déplacer une session CLI dans Desktop sans perdre le contexte, exécutez /desktop dans le terminal. Sauvegarde la session, l’ouvre dans l’application desktop, quitte le CLI.2
Limitations et pièges
Les vrais, d’après la documentation :1
- Une session distante par processus interactif. En dehors du mode serveur, chaque invocation de
claudeprend en charge une session distante. Besoin de plusieurs ? Utilisezclaude remote-control(mode serveur). - Le processus local doit continuer à s’exécuter. Remote Control est hébergé par le processus CLI
claudeou l’extension VS Code. Fermez le terminal, quittez VS Code ou tuez le processusclaudeet la session distante se termine. Il n’y a pas de mode détaché-du-terminal.1 - Une panne réseau de plus de 10 minutes met fin à la session. Le Mac peut être éveillé mais incapable d’atteindre le réseau pendant 10 minutes ; le processus se termine et vous devez redémarrer.
- Ultraplan déconnecte Remote Control. Les deux occupent la surface claude.ai/code et un seul peut être connecté à la fois.
- Le mode Auto nécessite des modèles récents. Opus 4.7 sur Max ; Sonnet 4.6, Opus 4.6 ou Opus 4.7 sur Team/Enterprise/API. Pas sur Pro.
- Les clés API et les jetons d’inférence uniquement ne fonctionneront pas. Remote Control nécessite une connexion OAuth claude.ai à portée complète. Si
ANTHROPIC_API_KEYest défini, désactivez-le. Si vous vous êtes authentifié viaclaude setup-tokenouCLAUDE_CODE_OAUTH_TOKEN, exécutezclaude auth loginpour rafraîchir. - Les admins Team et Enterprise doivent l’activer. Désactivé par défaut. Le bouton est à
claude.ai/admin-settings/claude-code→ Remote Control. Certaines configurations de rétention de données rendent le bouton indisponible.
L’échec « pourquoi ça ne marche pas » le plus courant : l’utilisateur est connecté avec un jeton d’inférence uniquement. L’erreur « Remote Control requires a full-scope login token » correspond à ce cas. Correctif : claude auth login et choisissez l’option claude.ai.1
Autres cas de dépannage à connaître
La documentation officielle couvre plusieurs autres modes d’échec qui coûtent du temps réel à un débutant. Distillés :1
- « Remote Control requires a claude.ai subscription » : vous n’êtes pas authentifié avec claude.ai. Si
ANTHROPIC_API_KEYest défini, désactivez-le d’abord, puisclaude auth login. - « Unable to determine your organization for Remote Control eligibility » : les informations de compte mises en cache sont obsolètes. Exécutez
claude auth loginpour rafraîchir. - « Remote Control is not yet enabled for your account » : vérifiez la présence de
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC,DISABLE_TELEMETRY,CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEXouCLAUDE_CODE_USE_FOUNDRYdans votre environnement. Remote Control nécessite une authentification claude.ai ; les fournisseurs tiers ne fonctionneront pas. Désactivez et/logoutpuis/login. - « Remote Control is disabled by your organization’s policy » : trois causes selon la documentation : (a) vous êtes sur une clé API ou un compte Console (utilisez OAuth claude.ai), (b) l’admin Team/Enterprise n’a pas activé le bouton, (c) le bouton admin est grisé en raison d’une configuration de rétention de données incompatible avec Remote Control (contactez le support Anthropic).
- « Remote credentials fetch failed » : relancez avec
--verbosepour voir l’erreur sous-jacente :claude remote-control --verbose. Habituellement un cas de non-connexion, un pare-feu bloquant le HTTPS sortant vers le API Anthropic sur 443, ou un échec de création de session antérieur (cherchezSession creation failed: see debug log). - Boîte de dialogue de confiance de l’espace de travail : si Remote Control échoue à démarrer sans erreur évidente, exécutez
claudedans le répertoire du projet au moins une fois et acceptez la boîte de dialogue de confiance de l’espace de travail. Cette étape est requise avant que Remote Control n’enregistre la session.
Un arbre de décision pour les utilisateurs du CLI
Face à une tâche réelle, choisissez le mode en fonction des besoins du travail :
Le travail nécessite-t-il la chaîne d'outils Apple (Xcode, simulateurs, signature) ?
├── OUI → CLI local ou Local + Remote Control
│ (le cloud ne peut pas atteindre la chaîne d'outils)
│
└── NON → A-t-il besoin de vos serveurs MCP locaux (Yurei, Cloudflare, etc.) ?
├── OUI → CLI local ou Local + Remote Control
│
└── NON → Avez-vous besoin de le surveiller ou le piloter depuis votre téléphone ?
├── OUI → Local + Remote Control, OU session Cloud
│ (le cloud est meilleur si la tâche dure plusieurs heures)
│
└── NON → Le CLI local convient
Développement d’apps Mac/iOS : ce que font la plupart de mes apps : tombe dans la branche supérieure à chaque fois. Les sessions cloud ne peuvent pas xcodebuild, ne peuvent pas parler à un simulateur, ne peuvent pas signer. Pour l’extension MCP de Get Bananas, mes scripts de recensement basés sur Yurei, ou le travail du cluster Apple Ecosystem, la dépendance à la chaîne d’outils Apple est inévitable. Local + Remote Control est le seul chemin qui me donne à la fois cette chaîne d’outils et une surface visible depuis le téléphone.
FAQ
Puis-je exécuter le CLI et l’application desktop en même temps sur le même projet ?
Oui. Ils partagent la configuration (CLAUDE.md, ~/.claude.json, serveurs MCP, hooks, skills) mais maintiennent des historiques de session séparés.2 Vous pouvez avoir une session claude dans iTerm et une session de l’onglet Code dans l’application desktop, toutes deux pointées vers le même ~/Projects/blakecrosley.com, toutes deux écrivant dans git. Soyez prudent avec les écritures parallèles si vous n’utilisez pas de worktrees.
Qu’arrive-t-il à une session Remote Control lorsque mon Mac s’endort ?
La session se reconnecte automatiquement lorsque votre machine revient en ligne. Si votre Mac est éveillé mais incapable d’atteindre le réseau pendant plus de ~10 minutes, la session expire et vous devez en démarrer une nouvelle avec claude remote-control.1
Est-ce que Remote Control fonctionne avec la syntaxe & task (arrière-plan) ?
& task et Remote Control sont des surfaces différentes. & task envoie le travail à une session cloud. Remote Control vous connecte à une session locale depuis un autre appareil. Les deux peuvent apparaître dans la liste de sessions de claude.ai/code, mais celle du cloud s’exécute sur l’infrastructure d’Anthropic et celle de Remote Control s’exécute sur votre machine.1
Puis-je utiliser Remote Control avec un fournisseur tiers (Bedrock, Vertex, Foundry) ?
Non. Remote Control nécessite une authentification claude.ai. Si vous avez CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_VERTEX ou CLAUDE_CODE_USE_FOUNDRY défini, la vérification d’éligibilité échouera avec « Remote Control is not yet enabled for your account ». Désactivez-les et relancez.1
Quelle est la différence entre --remote-control et claude remote-control ?
claude --remote-control (ou --rc) démarre une session interactive normale dans votre terminal, avec Remote Control activé. Vous pouvez taper localement et depuis un autre appareil. claude remote-control (sans drapeau, sous-commande) est le mode serveur : le terminal devient un serveur sans prompt local, juste un statut de connexion. Tous deux créent une session distante par défaut ; le mode serveur peut en servir plusieurs via --capacity ou --spawn.1
L’application desktop a-t-elle des skills, plugins et hooks comme le CLI ?
Oui. Ce sont les mêmes skills, plugins et hooks. L’application desktop lit ~/.claude/settings.json et .claude/settings.json au niveau du projet comme le fait le CLI. Cliquez sur le bouton + à côté de la zone de prompt pour parcourir les plugins et skills installés. Les plugins ne sont pas disponibles dans les sessions distantes (cloud) mais fonctionnent très bien dans les sessions desktop locales.2
Pourquoi /mcp ne fonctionne-t-il pas depuis mon téléphone ?
/mcp ouvre un sélecteur interactif qui nécessite une UI terminal-uniquement pour la sélection. Il est local-only. Il en va de même pour /plugin et /resume.1 Tout ce qui produit une sortie textuelle (/compact, /clear, /context, /usage, /extra-usage, /exit, /recap, /reload-plugins) fonctionne depuis mobile et web.
Y a-t-il un palier gratuit ou tout cela nécessite-t-il un abonnement ?
Remote Control est disponible sur les plans Pro, Max, Team et Enterprise. Les clés API ne sont pas prises en charge. Sur Team et Enterprise, un admin doit activer le bouton Remote Control dans les paramètres admin de claude.ai avant que les utilisateurs ne voient la fonctionnalité.1 L’application desktop elle-même est gratuite à télécharger mais nécessite une connexion claude.ai pour être utilisée.
La version la plus courte : le CLI local est le substrat. L’application desktop est un client graphique pour le même substrat. /remote-control est le pont qui rend le substrat accessible depuis votre téléphone. Choisissez en fonction des besoins du travail et de l’endroit où vous vous trouvez.
Références
-
Anthropic, « Continue local sessions from any device with Remote Control ». La référence canonique pour
claude remote-control,claude --remote-control,/remote-control, les notifications push, les exigences, la matrice de dépannage et les limitations. Citée tout au long de cet essai. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Anthropic, « Use Claude Code Desktop ». Structure à trois onglets (Chat, Cowork, Code), configuration de démarrage de session, modes de permission, vue de diff, panneau d’aperçu, sessions parallèles via les worktrees Git, le tableau de comparaison « Coming from the CLI? », Dispatch, computer use. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Versions GitHub pour Claude Code v2.1.105–v2.1.112 : notifications push via Remote Control (v2.1.110+),
/recap+ Session Recap,/ultrareview,/less-permission-prompts, mode Auto pour Max sur Opus 4.7, les hooks PreCompact peuvent bloquer. Voir les notes de version v2.1.110 pour l’annonce de l’outil de notification push. ↩↩↩ -
Convention de stockage de session locale :
~/.claude/projects/<sanitized-project-path>/<session-id>.jsonl. Les sessions sont des fichiers JSONL auxquels on ajoute au fur et à mesure de la progression de la session. Visibles uniquement par les processus locaux ; non synchronisées avec le compte Anthropic. ↩ -
Prise en charge du client Remote Control de
/extra-usageajoutée dans v2.1.113. Voir l’historique des versions Claude Code. Les versions antérieures ne fonctionnaient que depuis le terminal local. ↩