Restauration de session
cmux enregistre la forme de votre travail pour que la relance de l'app retrouve les mêmes fenêtres, workspaces, panneaux, contexte de terminal et état du navigateur.
Ce que cmux restaure
Après relance, cmux restaure la disposition et les métadonnées appartenant à l'app :
- Disposition des fenêtres, workspaces et panneaux
- Répertoires de travail
- Scrollback du terminal, best effort
- URL du navigateur et historique de navigation
Reprise des sessions d'agents
Les agents de coding IA pris en charge peuvent reprendre lorsque cmux a capturé l'ID de session natif de l'agent. Installez les hooks après le CLI de l'agent pour que son binaire soit sur PATH :
cmux hooks setup
cmux hooks setup codex
cmux hooks setup grok
cmux hooks setup antigravity
cmux hooks setup omp
cmux hooks setup --agent opencodecmux hooks setup installe toutes les intégrations prises en charge qu'il trouve et affiche un résumé des agents ignorés. Utilisez le nom d'un agent si vous ne voulez qu'une intégration.
Commandes personnalisées de reprise de surface
Les utilisateurs avancés et les intégrations peuvent lier toute surface de terminal à une commande de redémarrage. cmux conserve les associations créées par le CLI public ou le socket pour inspection et reprise manuelle.
cmux surface resume set --kind tmux --checkpoint work --shell "tmux attach -t work"
cmux surface resume show --json
cmux surface resume clear --checkpoint workLes préfixes approuvés peuvent être vérifiés ou modifiés dans Settings > Terminal > Resume Commands. cmux exécute automatiquement seulement les associations de reprise qu'il marque comme fiables, comme les associations tmux détectées depuis des processus actifs ou les préfixes approuvés par l’utilisateur. cmux ne checkpoint toujours pas la mémoire arbitraire des processus. Les clés d’environnement sensibles, comme les jetons, mots de passe, secrets et clés API, sont supprimées avant l’enregistrement d’une association de reprise. Les approbations sont aussi liées au répertoire de travail et aux valeurs exactes de l’environnement quand elles existent.
Agents pris en charge
| Agent | Binaire | Commande de reprise | Pont de feed |
|---|---|---|---|
| Claude Code | claude | claude --resume <id> | PermissionRequest |
| Codex | codex | codex resume <id> | PreToolUse, PermissionRequest |
| Grok / Grok Build CLI | grok | grok -r <id> | PreToolUse |
| OpenCode | opencode | opencode --session <id> | bus d'événements plugin |
| Pi | pi | pi --session <id> | aucun |
| OMP | omp | omp --session <id> | aucun |
| Amp | amp | amp threads continue <id> | aucun |
| Cursor CLI | cursor-agent | cursor-agent --resume <id> | beforeShellExecution |
| Gemini | gemini | gemini --resume <id> | PreToolUse |
| Antigravity CLI | agy | agy --conversation <id> | PreToolUse, PostToolUse |
| Rovo Dev | acli | acli rovodev run --restore <id> | aucun |
| Hermes Agent | hermes | hermes --resume <id> | pre_tool_call, post_tool_call, pre_approval_request, post_approval_response |
| Copilot | copilot | copilot --resume <id> | PreToolUse |
| CodeBuddy | codebuddy | codebuddy --resume <id> | PreToolUse |
| Factory | droid | droid --resume <id> | PreToolUse |
| Qoder | qodercli | qodercli --resume <id> | PreToolUse |
Claude Code est géré par le wrapper Claude de cmux lorsque l'intégration Claude est activée dans Settings. Antigravity accepte aussi agy comme alias de setup, et Rovo Dev accepte rovo.
Restauration manuelle
cmux restaure le dernier snapshot enregistré au lancement normal. Vous pouvez aussi réappliquer manuellement le snapshot précédent :
- History > Restore Previous App Launch
⌘ ⇧ Ocmux restore-session
Désactiver la reprise automatique des agents
Pour restaurer les panneaux sans lancer les commandes de reprise d'agents enregistrées, désactivez Settings > Terminal > Resume Agent Sessions on Reopen ou définissez :
{
"terminal": {
"autoResumeAgentSessions": false
}
}Cela désactive seulement les commandes de reprise des agents. cmux restaure toujours la disposition, les répertoires de travail, le scrollback et l'historique du navigateur.
Fonctionnement
- cmux écrit un snapshot JSON versionné dans ~/Library/Application Support/cmux/session-<bundle-id>.json, ainsi qu'un cache de session précédente pour la réouverture manuelle.
- Le scrollback du terminal est stocké comme texte borné et rejoué via un fichier temporaire à la restauration. C'est best effort, car les apps de terminal peuvent redessiner ou effacer leur écran.
- Les hooks d'agents écrivent ~/.cmuxterm/<agent>-hook-sessions.json avec l'ID de session de l'agent, l'ID de workspace cmux, l'ID de surface, le cwd, l'ID de processus si disponible et une commande de lancement assainie.
- À la restauration, cmux reconstruit d'abord les fenêtres et les panneaux. Si la reprise automatique des agents est activée, il lance une commande shell ponctuelle qui exécute la commande de reprise native de l'agent avec l'ID de session enregistré.
La documentation de configuration habituelle couvre cmux.json. La restauration de session garde la disposition de l'app séparée des réglages de rendu du terminal Ghostty.