Piloter une session Claude Code qui tourne sur le Mac, depuis un navigateur sur une autre machine (ex. poste client sur intranet verrouillé). Tout le trafic est sortant en HTTPS 443 : aucun port entrant, aucun VPN, rien à installer sur la machine distante.
Doc officielle : https://code.claude.com/docs/en/remote-control
- Abonnement Pro ou Max. En Team/Enterprise, un Owner doit avoir activé le toggle Remote Control dans les réglages admin Claude Code.
-
claudepuis/login→ choisir claude.ai. Les clés API ne sont pas supportées : siANTHROPIC_API_KEYest défini dans l'environnement, le retirer. - Pas de Bedrock / Vertex / Foundry, et
ANTHROPIC_BASE_URLdoit pointer surapi.anthropic.com(un gateway ou proxy LLM désactive Remote Control). - Lancer
claudeune fois dans le répertoire du projet pour accepter le dialogue de confiance. Le dialogue de démarrage n'enregistre jamais la confiance pour le répertoire personnel → toujours partir d'un dossier de projet.
En cas de blocage : claude doctor indique quel contrôle d'éligibilité a échoué.
cd ~/Library/Mobile\ Documents/com~apple~CloudDocs/Projets/mon-projetPourquoi : depuis le poste du client, icloud.com dans le navigateur permet de lire et
télécharger les fichiers du projet sans rien installer. Complément utile à claude.ai/code,
qui donne la conversation mais pas un explorateur de fichiers.
Deux réflexes :
- Désactiver « Optimiser le stockage du Mac » pour ce dossier — sinon iCloud peut dématérialiser des fichiers que Claude cherche à lire.
- Garder les dossiers lourds hors synchro (
node_modules,.venv,target,build…) : soit à l'extérieur du dossier iCloud, soit suffixés.nosync.
tmux new -s cc
caffeinate -dims claudecaffeinate -dimsempêche la veille écran / disque / système uniquement pendant queclaudetourne ; la machine reprend son comportement normal dès qu'on quitte.tmuxfait que fermer le terminal ne tue pas le processus. Se rattacher :tmux attach -t cc. Se détacher :Ctrl-bpuisd.
Dans la session Claude Code déjà ouverte :
/rc Mon Projet
- Reprend l'historique de conversation en cours.
- L'argument devient le titre de la session visible sur claude.ai/code.
- Un indicateur
/rc activeapparaît sous la zone de saisie ; le sélectionner (flèche bas + Entrée) ouvre un panneau avec l'URL de session et un QR code. - Re-taper
/rcdéconnecte.
Pour éviter de le refaire à chaque session : /config → Enable Remote Control for all
sessions = true.
- Ouvrir https://claude.ai/code et se connecter.
- La session apparaît dans la liste avec une icône d'ordinateur et un point vert (en ligne).
- On peut lire la sortie, envoyer des prompts, approuver / refuser les modifications de
fichiers, interrompre une tâche. Le
@autocomplète les chemins du projet local. - La conversation reste synchronisée entre terminal, navigateur et téléphone — on alterne librement.
- Installer l'app Claude (iOS / Android), connectée au même compte et même organisation.
- Accepter la permission de notifications.
- Dans le terminal :
/configpuis activer- Push when actions required — Claude attend une décision ou une permission ;
- Push when Claude decides — typiquement la fin d'une tâche longue.
On peut aussi le demander dans le prompt : « notify me when the tests finish ». Les notifications sont ignorées tant qu'on est en train de taper dans le terminal connecté.
Pas d'expiration au bout de X heures : la session vit aussi longtemps que le processus
claude local.
Ce qui la tue :
- L'arrêt du processus
claude(fermeture du terminal, quit de VS Code…) → d'oùtmux. - Plus d'une dizaine de minutes sans réseau alors que la machine est éveillée : la session expire et le processus quitte, il faut relancer.
- Le lancement d'un ultraplan, qui occupe la même interface claude.ai/code.
Ce qui ne la tue pas :
- La veille du Mac ou une coupure réseau brève → reconnexion automatique ; les mises à jour des sous-agents sont mises en file d'attente et délivrées à la reprise.
- Le renouvellement des identifiants, éphémères mais rafraîchis de façon transparente.
| Message | Cause / correctif |
|---|---|
| Remote Control requires a claude.ai subscription | Pas authentifié via claude.ai → claude auth login, et retirer ANTHROPIC_API_KEY. |
| requires a full-scope login token | Token issu de setup-token / CLAUDE_CODE_OAUTH_TOKEN → claude auth login. |
| only available when using Claude via api.anthropic.com | Variable provider ou ANTHROPIC_BASE_URL custom → la retirer, relancer. |
| disabled by your organization's policy | Toggle Team/Enterprise non activé, ou disableRemoteControl en managed settings. |
| Remote credentials fetch failed | Relancer avec --verbose ; souvent un proxy/pare-feu bloquant le HTTPS 443 sortant. |
| Couldn't reconnect… | La session locale continue sans Remote Control → /rc pour retenter. |
Par ordre de simplicité :
- Chrome Remote Desktop (
remotedesktop.google.com) — tout dans un onglet, sortant uniquement, écran complet du Mac. - Tunnel VS Code —
code tunnelsur le Mac, accès viavscode.dev: vrai terminal dans la page web, donc Claude Code aussi. - Tailscale +
ttydoucode-server— plus propre, mais nécessite une installation sur le poste client, ce qui est souvent l'obstacle.
Rappel : faire passer un accès à sa machine perso par le poste d'un client touche souvent à leur politique de sécurité et à ce qu'on a le droit d'installer sur leur matériel. Vérifier le règlement IT avant.