Warp 重開機後 Tab 與 Agent 對話消失?了解 Session Restoration 失效的原因,並依序排除登入、系統設定與資料庫問題,重啟後用 claude -c 快速接續。
如果你的團隊使用 Warp 終端機,並且習慣在分頁中執行 Claude Code 或 OpenAI Codex CLI 等 Agent 工具,你可能遇過一個困擾:有些人(例如平常有登入 Warp 帳號的人)重開機後分頁與工作目錄都會自動還原,但其他同事卻一覺醒來所有分頁都消失,必須重新開啟專案、重新交代 Context。這其實不是 Warp 的隨機 Bug,而是由幾個具體原因疊加造成的。本文將帶你理解背後的機制,並提供團隊可以依序執行的排除步驟。
為什麼重開機後 Warp 分頁會消失?
1. Warp 的 Session Restoration 設定未開啟或未同步
Warp 內建工作階段還原(Session Restoration),會在重啟 App 或系統時自動恢復先前的視窗、分頁、分割畫面(Panes)、工作目錄與畫面上的歷史輸出區塊。這項功能預設會在你登入 Warp Cloud 帳號後,透過雲端同步你的設定檔。如果同事沒有登入帳號,或是在設定中意外關閉了 Restore windows, tabs, and panes on startup,重開機後就只會看到一個全新的空白視窗。
2. 登入與未登入的持久化機制差異
這是團隊中「有人可以還原、有人不行」的最大關鍵。有登入 Warp 帳號的使用者,背景會定期將視窗與分頁結構同步到雲端(Cloud Session Sync);就算系統重開機時來不及寫入本機,重啟後也能從帳號設定中拉回最近一次的快照。反之,未登入的 Guest Mode 狀態下,Warp 的本機暫存檔非常脆弱,只要遇到非正常關閉(例如系統直接重開機),暫存狀態就可能被直接清空。
3. 系統重開機時強制終止(SIGKILL)導致狀態寫入失敗
當你正在執行互動式 CLI(例如 claude 或 codex)時,這些程序屬於前景子程序。當按下系統重新開機,macOS 會要求 Warp 關閉,但因為有子程序卡住,Warp 可能還在等待或攔截關閉訊號。幾秒後系統失去耐心,直接對 Warp 發出 SIGKILL 強制殺掉,Warp 就來不及把最後的分頁狀態寫入硬碟,甚至可能造成狀態檔損毀,重開機後只能開啟新的空白視窗。
4. 本機 SQLite 狀態檔損毀或鎖死
Warp 將所有分頁、區塊(Blocks)與目錄結構儲存在本機的 warp.sqlite 資料庫中。如果這個檔案因為之前的當機或強制關閉產生鎖死(例如 WAL 暫存檔卡住),之後每次重開機讀取失敗,就會退回空的初始狀態。
排除與修復步驟
請依序檢查以下設定,大多數情況都能解決問題。
步驟 1:登入 Warp 帳號(關鍵差異)
未登入是常見的主因。請同事點擊 Warp 右上角的頭像,或透過 Cmd + ,(Windows/Linux 為 Ctrl + ,)進入 Settings → Account,登入一個免費的個人帳號。這不需要使用任何 Warp 內建的 AI Agent 功能,純粹是啟動對已驗證帳號的 Session State Sync,讓重開機後能從雲端還原狀態。
驗證方式:登入後 Settings 的 Account 頁面會顯示個人 Email,且重啟軟體時不會再跳出登入提示。
步驟 2:開啟工作階段還原功能
進入 Settings(Cmd + ,)→ Features → Session,確認 Restore windows, tabs, and panes on startup 已勾選。如果已勾選但無效,可以嘗試「關閉 → 重新勾選」,強制重新寫入設定檔。
驗證方式:執行 Cmd + Q 完全退出 Warp 後重新開啟,剛才的分頁與畫面紀錄應該原封不動出現。
步驟 3:檢查 macOS 系統層級的視窗還原設定
如果是使用 Mac,請開啟「系統設定 → 桌面與 Dock」,往下找到 「結束應用程式時關閉視窗」,確認這個選項是「關閉」(未勾選)。同時,在系統重開機對話框跳出時,勾選「重新登入時重新打開視窗」,這樣重開機後 Warp 會自動在背景喚醒並還原。
步驟 4:養成重開機前先按 Cmd + Q 的習慣
在按下系統「重新開機」之前,請先在 Warp 內按 Cmd + Q,若有「有程序正在執行,是否確定退出?」的警告,直接按 Enter 確認。這會觸發 Warp 的安全關閉程序,確保在結束前先把所有分頁與目錄完整寫入硬碟。
步驟 5:使用 Launch Configuration 作為防呆機制
如果同事有固定在跑的幾個 Agent 工作流(例如特定幾個 Repo 目錄),可以設定 Warp 的 Launch Configurations。先把所有分頁、顏色、名稱與目錄排好,按下 Cmd + P 開啟命令面板,搜尋並點選 Save New Launch Configuration。之後就算不小心把所有分頁關光,只要在新增分頁(+)按鈕上按右鍵,就能一鍵還原整組工作區。
步驟 6:重置損毀的本機 Session 資料庫
如果以上步驟都無效,可能是本機 SQLite 狀態檔已經損毀。請完全退出 Warp,打開 Finder,按 Cmd + Shift + G 前往 ~/Library/Application Support/dev.warp.Warp-Stable/(Windows 為 %LOCALAPPDATA%\warp\Warp\data),刪除其中的 warp.sqlite-wal 與 warp.sqlite-shm 暫存檔(保留主檔 warp.sqlite),或將整個資料夾備份後重新命名,讓 Warp 重新建立。
重開機後如何快速接續 Claude / Codex 對話
即使分頁和工作目錄都成功還原,原本執行的 Agent CLI 程序其實已經被系統終止,需要手動在每個分頁中恢復對話。好消息是,只要停留在正確的專案根目錄,就可以直接接續先前的對話,不需要重新交代 Context。
- Claude Code CLI:輸入
claude -c自動接續該工作目錄下最後一次的對話;輸入claude -r則會列出該目錄過去的對話紀錄清單,讓你可以用方向鍵選擇要恢復哪一個任務。 - OpenAI Codex CLI:多數主流 CLI 同樣支援歷史狀態讀取(或透過本地
.codex/ history 快取),只要 Warp 幫你把每個分頁停留在正確的專案根目錄,就能直接讀取該目錄下的對話紀錄。
結語
Warp 重開機後分頁與 Agent 對話消失,通常不是單一原因,而是登入狀態、設定、系統強制關閉和資料庫狀態的綜合影響。先確認團隊成員都有登入 Warp 帳號,並開啟 Session Restoration,再養成重開機前先 Cmd + Q 的習慣,就能大幅減少這類困擾。如果已經發生狀態檔損毀,也能透過刪除 WAL 暫存檔的方式修復。最後,別忘了使用 claude -c 或 claude -r 快速接續中斷的 Agent 工作流,讓團隊的生產力不因重開機而中斷。