Ripristino sessione

cmux salva la forma del tuo lavoro così, al riavvio dell'app, può riportare le stesse finestre, workspace, pannelli, contesto del terminale e stato del browser.

Cosa ripristina cmux

Dopo il riavvio, cmux ripristina layout e metadati gestiti dall'app:

  • Layout di finestre, workspace e pannelli
  • Directory di lavoro
  • Scrollback del terminale, best effort
  • URL del browser e cronologia di navigazione
cmux non checkpointa lo stato arbitrario dei processi live. tmux, vim, shell e app terminale non supportate si riaprono come terminali normali, a meno che abbiano una propria integrazione di resume cmux.

Resume delle sessioni agent

Gli agent di coding IA supportati possono riprendere quando cmux ha catturato l'ID sessione nativo dell'agent. Installa gli hook dopo il CLI dell'agent così il binario è su PATH:

cmux hooks setup
cmux hooks setup codex
cmux hooks setup grok
cmux hooks setup antigravity
cmux hooks setup omp
cmux hooks setup --agent opencode

cmux hooks setup installa ogni integrazione supportata che trova e stampa un riepilogo degli agent saltati. Usa il nome di un agent quando vuoi una sola integrazione.

Comandi surface resume personalizzati

Utenti avanzati e integrazioni possono collegare qualsiasi surface di terminale a un comando di riavvio. cmux salva le associazioni create da CLI pubblico o socket per ispezione e resume manuale.

cmux surface resume set --kind tmux --checkpoint work --shell "tmux attach -t work"
cmux surface resume show --json
cmux surface resume clear --checkpoint work

I prefissi approvati possono essere controllati o modificati in Settings > Terminal > Resume Commands. cmux esegue automaticamente solo le associazioni di resume che marca come attendibili, per esempio quelle tmux rilevate dai processi attivi o i prefissi approvati dall’utente. cmux continua a non checkpointare memoria arbitraria dei processi. Le chiavi di ambiente sensibili, come token, password, segreti e chiavi API, vengono scartate prima di salvare un’associazione di resume. Le approvazioni sono associate anche alla directory di lavoro e ai valori esatti dell’ambiente quando presenti.

Agent supportati

AgentBinarioComando resumeFeed bridge
Claude Codeclaudeclaude --resume <id>PermissionRequest
Codexcodexcodex resume <id>PreToolUse, PermissionRequest
Grok / Grok Build CLIgrokgrok -r <id>PreToolUse
OpenCodeopencodeopencode --session <id>bus eventi plugin
Pipipi --session <id>nessuno
OMPompomp --session <id>nessuno
Ampampamp threads continue <id>nessuno
Cursor CLIcursor-agentcursor-agent --resume <id>beforeShellExecution
Geminigeminigemini --resume <id>PreToolUse
Antigravity CLIagyagy --conversation <id>PreToolUse, PostToolUse
Rovo Devacliacli rovodev run --restore <id>nessuno
Hermes Agenthermeshermes --resume <id>pre_tool_call, post_tool_call, pre_approval_request, post_approval_response
Copilotcopilotcopilot --resume <id>PreToolUse
CodeBuddycodebuddycodebuddy --resume <id>PreToolUse
Factorydroiddroid --resume <id>PreToolUse
Qoderqodercliqodercli --resume <id>PreToolUse

Claude Code è gestito dal wrapper Claude di cmux quando l'integrazione Claude è abilitata in Settings. Antigravity accetta anche agy come alias di setup e Rovo Dev accetta rovo.

Ripristino manuale

cmux ripristina l'ultimo snapshot salvato all'avvio normale. Puoi anche riapplicare manualmente lo snapshot precedente:

  • History > Restore Previous App Launch
  • ⌘ ⇧ O
  • cmux restore-session

Disattiva il resume automatico degli agent

Per ripristinare pannelli senza lanciare i comandi di resume agent salvati, disattiva Settings > Terminal > Resume Agent Sessions on Reopen oppure imposta:

~/.config/cmux/cmux.json
{
  "terminal": {
    "autoResumeAgentSessions": false
  }
}

Questo disattiva solo i comandi di resume degli agent. cmux ripristina comunque layout, directory di lavoro, scrollback e cronologia browser.

Come funziona

  1. cmux scrive uno snapshot JSON versionato in ~/Library/Application Support/cmux/session-<bundle-id>.json, più una cache della sessione precedente per la riapertura manuale.
  2. Lo scrollback del terminale viene salvato come testo limitato e riprodotto tramite un file temporaneo al ripristino. È best effort perché le app terminale possono ridisegnare o pulire lo schermo.
  3. Gli agent hook scrivono ~/.cmuxterm/<agent>-hook-sessions.json con ID sessione agent, ID workspace cmux, ID surface, cwd, ID processo quando disponibile e comando di lancio sanificato.
  4. Al ripristino, cmux ricostruisce prima finestre e pannelli. Se il resume automatico degli agent è abilitato, lancia un comando shell one-shot che esegue il comando resume nativo dell'agent con l'ID sessione salvato.

La normale documentazione di configurazione copre cmux.json. Il ripristino sessione mantiene il layout dell'app separato dalle impostazioni di rendering del terminale Ghostty.