Sitzungswiederherstellung

cmux speichert die Struktur Ihrer Arbeit, damit die App nach einem Neustart dieselben Fenster, Workspaces, Paneele, den Terminalkontext und den Browserzustand zurückbringen kann.

Was cmux wiederherstellt

Nach dem Neustart stellt cmux app-eigenes Layout und Metadaten wieder her:

  • Fenster-, Workspace- und Paneel-Layout
  • Arbeitsverzeichnisse
  • Terminal-Scrollback, best effort
  • Browser-URL und Navigationsverlauf
cmux checkpointet keinen beliebigen Live-Prozesszustand. tmux, vim, Shells und nicht unterstützte Terminal-Apps öffnen sich als normale Terminals, sofern sie keine eigene cmux-Wiederaufnahmeintegration haben.

Agent-Sitzungen wiederaufnehmen

Unterstützte KI-Coding-Agenten können wiederaufgenommen werden, wenn cmux die native Sitzungs-ID des Agents erfasst hat. Installieren Sie Hooks nach der Agent-CLI, damit die Binärdatei auf PATH liegt:

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 installiert jede unterstützte Integration, die es findet, und gibt eine Zusammenfassung übersprungener Agents aus. Verwenden Sie einen Agent-Namen, wenn Sie nur eine Integration einrichten wollen.

Benutzerdefinierte Surface-Wiederaufnahmebefehle

Fortgeschrittene Nutzer und Integrationen können jede Terminal-Surface an einen Neustartbefehl binden. cmux speichert über öffentliche CLI oder Socket erstellte Bindungen zur Prüfung und manuellen Wiederaufnahme.

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

Genehmigte Präfixe können unter Settings > Terminal > Resume Commands geprüft oder bearbeitet werden. cmux startet nur Wiederaufnahme-Bindungen automatisch, die als vertrauenswürdig markiert sind, zum Beispiel aus laufenden Prozessen erkannte tmux-Bindungen oder vom Benutzer genehmigte Präfixe. cmux checkpointet weiterhin keinen beliebigen Prozessspeicher. Sensible Umgebungsvariablen wie Tokens, Passwörter, Secrets und API-Keys werden verworfen, bevor eine Wiederaufnahme-Bindung gespeichert wird. Genehmigungen sind außerdem an Arbeitsverzeichnis und exakte Umgebungswerte gebunden, wenn sie vorhanden sind.

Unterstützte Agents

AgentBinärdateiWiederaufnahmebefehlFeed-Brücke
Claude Codeclaudeclaude --resume <id>PermissionRequest
Codexcodexcodex resume <id>PreToolUse, PermissionRequest
Grok / Grok Build CLIgrokgrok -r <id>PreToolUse
OpenCodeopencodeopencode --session <id>Plugin-Event-Bus
Pipipi --session <id>keine
OMPompomp --session <id>keine
Ampampamp threads continue <id>keine
Cursor CLIcursor-agentcursor-agent --resume <id>beforeShellExecution
Geminigeminigemini --resume <id>PreToolUse
Antigravity CLIagyagy --conversation <id>PreToolUse, PostToolUse
Rovo Devacliacli rovodev run --restore <id>keine
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 wird vom cmux Claude-Wrapper verarbeitet, wenn die Claude-Integration in Settings aktiviert ist. Antigravity akzeptiert auch agy als Setup-Alias, und Rovo Dev akzeptiert rovo.

Manuelle Wiederherstellung

cmux stellt beim normalen Start den zuletzt gespeicherten Snapshot wieder her. Sie können den vorherigen Snapshot auch manuell erneut anwenden:

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

Automatische Agent-Wiederaufnahme deaktivieren

Um Paneele wiederherzustellen, ohne gespeicherte Agent-Wiederaufnahmebefehle zu starten, deaktivieren Sie Settings > Terminal > Resume Agent Sessions on Reopen oder setzen Sie:

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

Dies deaktiviert nur Agent-Wiederaufnahmebefehle. cmux stellt Layout, Arbeitsverzeichnisse, Scrollback und Browserverlauf weiterhin wieder her.

So funktioniert es

  1. cmux schreibt einen versionierten JSON-Snapshot nach ~/Library/Application Support/cmux/session-<bundle-id>.json und zusätzlich einen Previous-Session-Cache für manuelles Wiederöffnen.
  2. Terminal-Scrollback wird als begrenzter Text gespeichert und bei der Wiederherstellung über eine temporäre Datei wiedergegeben. Das ist best effort, weil Terminal-Apps ihren Bildschirm neu zeichnen oder löschen können.
  3. Agent-Hooks schreiben ~/.cmuxterm/<agent>-hook-sessions.json mit Agent-Sitzungs-ID, cmux-Workspace-ID, Surface-ID, cwd, Prozess-ID falls verfügbar und einem bereinigten Startbefehl.
  4. Bei der Wiederherstellung baut cmux zuerst Fenster und Paneele neu auf. Wenn automatische Agent-Wiederaufnahme aktiviert ist, startet es einen einmaligen Shell-Befehl, der den nativen Wiederaufnahmebefehl des Agents mit der gespeicherten Sitzungs-ID ausführt.

Die reguläre Konfigurationsdokumentation behandelt cmux.json. Sitzungswiederherstellung hält App-Layout getrennt von Ghostty-Terminal-Rendering-Einstellungen.