Przywracanie sesji

cmux zapisuje kształt pracy, aby po ponownym uruchomieniu aplikacji wróciły te same okna, workspaces, panele, kontekst terminala i stan przeglądarki.

Co przywraca cmux

Po ponownym uruchomieniu cmux przywraca layout i metadane należące do aplikacji:

  • Layout okien, workspaces i paneli
  • Katalogi robocze
  • Scrollback terminala, best effort
  • URL przeglądarki i historia nawigacji
cmux nie checkpointuje dowolnego stanu żywych procesów. tmux, vim, shelle i nieobsługiwane aplikacje terminalowe otwierają się jako zwykłe terminale, chyba że mają własną integrację resume cmux.

Wznawianie sesji agentów

Obsługiwani agenci AI coding mogą wznowić pracę, gdy cmux przechwyci natywny ID sesji agenta. Zainstaluj hooks po instalacji CLI agenta, aby binarka była na 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 instaluje każdą znalezioną obsługiwaną integrację i wypisuje podsumowanie pominiętych agentów. Użyj nazwy agenta, gdy chcesz tylko jedną integrację.

Własne polecenia surface resume

Zaawansowani użytkownicy i integracje mogą powiązać dowolną terminal surface z poleceniem restartu. cmux zapisuje bindingi utworzone przez publiczny CLI lub socket do inspekcji i ręcznego wznowienia.

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

Zatwierdzone prefiksy można sprawdzić lub edytować w Settings > Terminal > Resume Commands. cmux automatycznie uruchamia tylko bindingi resume oznaczone jako zaufane, na przykład bindingi tmux wykryte z działających procesów albo prefiksy zatwierdzone przez użytkownika. cmux nadal nie checkpointuje dowolnej pamięci procesów. Wrażliwe klucze środowiska, takie jak tokeny, hasła, sekrety i klucze API, są odrzucane przed zapisaniem bindingu wznowienia. Zatwierdzenia są też powiązane z katalogiem roboczym i dokładnymi wartościami środowiska, gdy są obecne.

Obsługiwani agenci

AgentBinarkaPolecenie resumeMost feed
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>brak
OMPompomp --session <id>brak
Ampampamp threads continue <id>brak
Cursor CLIcursor-agentcursor-agent --resume <id>beforeShellExecution
Geminigeminigemini --resume <id>PreToolUse
Antigravity CLIagyagy --conversation <id>PreToolUse, PostToolUse
Rovo Devacliacli rovodev run --restore <id>brak
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 obsługuje wrapper cmux Claude, gdy integracja Claude jest włączona w Settings. Antigravity akceptuje też agy jako alias setup, a Rovo Dev akceptuje rovo.

Ręczne przywracanie

cmux przywraca ostatni zapisany snapshot przy normalnym starcie. Możesz też ręcznie zastosować poprzedni snapshot:

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

Wyłącz automatyczne wznawianie agentów

Aby przywrócić panele bez uruchamiania zapisanych poleceń resume agentów, wyłącz Settings > Terminal > Resume Agent Sessions on Reopen albo ustaw:

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

To wyłącza tylko polecenia resume agentów. cmux nadal przywraca layout, katalogi robocze, scrollback i historię przeglądarki.

Jak to działa

  1. cmux zapisuje wersjonowany snapshot JSON w ~/Library/Application Support/cmux/session-<bundle-id>.json oraz cache poprzedniej sesji do ręcznego ponownego otwarcia.
  2. Scrollback terminala jest zapisywany jako ograniczony tekst i odtwarzany przez plik tymczasowy podczas przywracania. To best effort, bo aplikacje terminalowe mogą przerysować lub wyczyścić ekran.
  3. Agent hooks zapisują ~/.cmuxterm/<agent>-hook-sessions.json z ID sesji agenta, ID workspace cmux, ID surface, cwd, ID procesu gdy dostępny i oczyszczonym poleceniem startowym.
  4. Podczas przywracania cmux najpierw odbudowuje okna i panele. Jeśli automatyczne wznawianie agentów jest włączone, uruchamia jednorazowe polecenie shell, które wykonuje natywne polecenie resume agenta z zapisanym ID sesji.

Zwykła dokumentacja konfiguracji opisuje cmux.json. Przywracanie sesji trzyma layout aplikacji oddzielnie od ustawień renderowania terminala Ghostty.