Відновлення сесії

cmux зберігає форму вашої роботи, щоб після повторного запуску застосунок повернув ті самі вікна, workspaces, панелі, контекст термінала і стан браузера.

Що відновлює cmux

Після повторного запуску cmux відновлює layout і метадані, якими керує застосунок:

  • Layout вікон, workspaces і панелей
  • Робочі каталоги
  • Terminal scrollback, best effort
  • URL браузера та історію навігації
cmux не checkpoint-ить довільний стан живих процесів. tmux, vim, shell і непідтримувані термінальні застосунки відкриваються як звичайні термінали, якщо не мають власної cmux resume integration.

Відновлення сесій агентів

Підтримувані AI coding agents можуть відновлюватися, коли cmux захопив native session ID агента. Встановіть hooks після agent CLI, щоб binary був у 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 встановлює всі знайдені підтримувані integration і друкує підсумок пропущених агентів. Використовуйте назву агента, якщо потрібна лише одна integration.

Власні команди surface resume

Досвідчені користувачі та integration можуть прив'язати будь-яку terminal surface до команди перезапуску. cmux зберігає прив'язки, створені публічним CLI або socket, для перевірки й ручного відновлення.

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

Затверджені префікси можна переглянути або змінити в Settings > Terminal > Resume Commands. cmux автоматично запускає лише resume binding, позначені як довірені, наприклад tmux-прив'язки, виявлені з живих процесів, або префікси, затверджені користувачем. cmux і надалі не checkpoint-ить довільну пам'ять процесів. Чутливі ключі середовища, як-от токени, паролі, секрети та API-ключі, відкидаються перед збереженням прив’язки відновлення. Схвалення також прив’язуються до робочого каталогу й точних значень середовища, якщо вони є.

Підтримувані агенти

АгентBinaryКоманда resumeFeed bridge
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>немає
OMPompomp --session <id>немає
Ampampamp threads continue <id>немає
Cursor CLIcursor-agentcursor-agent --resume <id>beforeShellExecution
Geminigeminigemini --resume <id>PreToolUse
Antigravity CLIagyagy --conversation <id>PreToolUse, PostToolUse
Rovo Devacliacli rovodev run --restore <id>немає
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 обробляється cmux Claude wrapper, коли Claude integration увімкнена в Settings. Antigravity також приймає agy як setup alias, а Rovo Dev приймає rovo.

Ручне відновлення

cmux відновлює останній збережений snapshot під час звичайного запуску. Попередній snapshot також можна застосувати вручну:

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

Вимкнути автоматичне відновлення агентів

Щоб відновити панелі без запуску збережених agent resume commands, вимкніть Settings > Terminal > Resume Agent Sessions on Reopen або задайте:

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

Це вимикає лише команди resume агентів. cmux все одно відновлює layout, робочі каталоги, scrollback і історію браузера.

Як це працює

  1. cmux записує versioned JSON snapshot у ~/Library/Application Support/cmux/session-<bundle-id>.json, а також previous-session cache для ручного reopen.
  2. Terminal scrollback зберігається як обмежений текст і відтворюється через тимчасовий файл під час відновлення. Це best effort, бо термінальні застосунки можуть перемалювати або очистити екран.
  3. Agent hooks записують ~/.cmuxterm/<agent>-hook-sessions.json з agent session ID, cmux workspace ID, surface ID, cwd, process ID за наявності та sanitized launch command.
  4. Під час відновлення cmux спочатку перебудовує вікна й панелі. Якщо автоматичне відновлення агентів увімкнене, він запускає одноразову shell-команду, яка виконує native resume command агента зі збереженим session ID.

Звичайна документація конфігурації описує cmux.json. Session restore тримає app layout окремо від налаштувань рендерингу термінала Ghostty.