#16633

Linux: Agent tab vanishes mid-task (AgentExitedShell); conversation remains only in sqlite

Openslickmrickopened 7d ago

Summary

While an Agent was mid-task (Timeshift drive investigation/snapshot), the Warp tab/session disappeared from tab history. No hard crash dump was found; logs show AgentExitedShell, closed-tab persistence, then a clean app quit when no windows remained. After relaunch, session IDs were missing and the prior Agent tab was gone from history even though conversation data remained in warp.sqlite.

Environment

  • OS: Linux Mint 22.1 (Xia), kernel 6.8.0-147-generic
  • Warp: 0.2026.10.21.08.25.stable.02 (warp-terminal)
  • Shell: bash 5.2.21

Conversation IDs

  • Vanished in-progress Agent conversation: 5a7d4513-5d55-4c37-a675-2ae2b87af4f8
  • Follow-up conversation investigating the vanish: f90a8cea-d798-4647-8160-3d43a38e9963

What happened

  1. Agent was performing a long local systems task (Timeshift snapshot/drive work).
  2. Around 2026-10-23T09:26:01Z, logs show a running async shell action canceled with reason=Some(AgentExitedShell), then storing data for closed tab.
  3. Around 2026-10-23T09:36:00Z, Warp logged No windows left, terminating app and shut down cleanly (SQLite writer terminated normally). No panic/segfault/minidump content observed.
  4. On next launch (~09:36:29Z), repeated warnings: Expected to have session for session ID ..., but doesn't exist, plus some bash bootstrap failures.
  5. The Agent tab was missing from tab history. Conversation row still exists in local ~/.local/state/warp-terminal/warp.sqlite (agent_conversations).

Expected

  • An in-progress Agent tab should not silently vanish from history.
  • If the agent shell exits, the conversation/tab should remain reopenable from history.
  • Session restoration should not drop the tab without a recoverable history entry.

Actual

  • Tab vanished from history during/after AgentExitedShell + app quit.
  • Conversation remains in SQLite but was not presented as a normal restorable tab/history item for the user.

Artifacts

  • Logs archive: warp-logs-agent-tab-vanish-20261023.tar.gz (from ~/.local/state/warp-terminal/warp.log*)
  • Key log excerpt attached in issue body below / separate file warp-bug-evidence-excerpt.txt
  • Local DB still contains conversation 5a7d4513-5d55-4c37-a675-2ae2b87af4f8

Key log signals

AgentExitedShell (cancel running async action)
storing data for closed tab
No windows left, terminating app
application will terminate
Expected to have session for session ID ..., but doesn't exist

Notes

  • warp-minidump.log was empty at inspection time.
  • User reports never seeing a Warp session tab vanish like this mid-task before.

Evidence excerpt

warp.log.old.0:500: 2026-10-23T07:48:28Z [INFO] Restoring 1 conversations on view creation: [AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8)]
warp.log.old.0:501: 2026-10-23T07:48:28Z [INFO] Successfully restored 131 AI blocks on view creation for conversations: [AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8)]
warp.log.old.0:502: 2026-10-23T07:48:28Z [INFO] Restoring agent view for conversation: 5a7d4513-5d55-4c37-a675-2ae2b87af4f8
warp.log.old.0:1583: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(17893715351955543516), but doesn't exist
warp.log.old.0:1584: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1585: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(8053735343452066976), but doesn't exist
warp.log.old.0:1586: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(1085301399125342034), but doesn't exist
warp.log.old.0:1587: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(2036113974577851660), but doesn't exist
warp.log.old.0:1588: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(490741436840010442), but doesn't exist
warp.log.old.0:1589: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1590: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(4129841610722370783), but doesn't exist
warp.log.old.0:1591: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1592: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(3402951216279232338), but doesn't exist
warp.log.old.0:1595: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(17893715351955543516), but doesn't exist
warp.log.old.0:1596: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1597: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(8053735343452066976), but doesn't exist
warp.log.old.0:1598: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(1085301399125342034), but doesn't exist
warp.log.old.0:1599: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(2036113974577851660), but doesn't exist
warp.log.old.0:1600: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(490741436840010442), but doesn't exist
warp.log.old.0:1601: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1602: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(4129841610722370783), but doesn't exist
warp.log.old.0:1603: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1604: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(3402951216279232338), but doesn't exist
warp.log.old.0:1610: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1611: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(8053735343452066976), but doesn't exist
warp.log.old.0:1612: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(1085301399125342034), but doesn't exist
warp.log.old.0:1613: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(2036113974577851660), but doesn't exist
warp.log.old.0:1614: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(490741436840010442), but doesn't exist
warp.log.old.0:1615: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1616: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(4129841610722370783), but doesn't exist
warp.log.old.0:1617: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1618: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(3402951216279232338), but doesn't exist
warp.log.old.0:1623: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1624: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(8053735343452066976), but doesn't exist
warp.log.old.0:1625: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(1085301399125342034), but doesn't exist
warp.log.old.0:1626: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(2036113974577851660), but doesn't exist
warp.log.old.0:1627: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1628: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(4129841610722370783), but doesn't exist
warp.log.old.0:1629: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1630: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(3402951216279232338), but doesn't exist
warp.log.old.0:1635: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1636: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(8053735343452066976), but doesn't exist
warp.log.old.0:1637: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(1085301399125342034), but doesn't exist
warp.log.old.0:1638: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(2036113974577851660), but doesn't exist
warp.log.old.0:1639: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1640: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1641: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(3402951216279232338), but doesn't exist
warp.log.old.0:1646: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1647: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(8053735343452066976), but doesn't exist
warp.log.old.0:1648: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(2036113974577851660), but doesn't exist
warp.log.old.0:1649: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1650: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1651: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(3402951216279232338), but doesn't exist
warp.log.old.0:1656: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1657: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(8053735343452066976), but doesn't exist
warp.log.old.0:1658: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1659: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1660: 2026-10-23T07:48:39Z [WARN] Expected to have session for session ID SessionId(3402951216279232338), but doesn't exist
warp.log.old.0:1665: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1666: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(8053735343452066976), but doesn't exist
warp.log.old.0:1667: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1668: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1673: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(10456848970151320707), but doesn't exist
warp.log.old.0:1674: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1675: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1680: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(6446972392504573472), but doesn't exist
warp.log.old.0:1681: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:1686: 2026-10-23T07:48:40Z [WARN] Expected to have session for session ID SessionId(12525568023225313112), but doesn't exist
warp.log.old.0:3601: 2026-10-23T08:02:15Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3609: 2026-10-23T08:02:18Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3620: 2026-10-23T08:04:21Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3635: 2026-10-23T08:05:07Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3643: 2026-10-23T08:05:11Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3781: 2026-10-23T09:06:18Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3794: 2026-10-23T09:06:26Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3802: 2026-10-23T09:06:29Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3807: 2026-10-23T09:06:36Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3820: 2026-10-23T09:06:54Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3833: 2026-10-23T09:07:02Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true
warp.log.old.0:3840: 2026-10-23T09:07:06Z [INFO] Pending events are not ready: conversation_id=AIConversationId(5a7d4513-5d55-4c37-a675-2ae2b87af4f8) owns_conversation=true has_active_stream=false status=InProgress is_exiting=false is_dispatch_blocked=false owns_turn_lifecycle=true

Activity

3
slickmrick7d ago

Artifacts

Log archive + evidence excerpt + report draft:

Conversation IDs

  • Vanished in-progress Agent conversation: 5a7d4513-5d55-4c37-a675-2ae2b87af4f8
  • Follow-up investigation conversation: f90a8cea-d798-4647-8160-3d43a38e9963

Environment (confirmed)

  • Warp: 0.2026.10.21.08.25.stable.02 (warp-terminal)
  • OS: Linux Mint 22.1 (Xia), kernel 6.8.0-147-generic
  • Shell: bash 5.2.21

Key local log signals

  • AgentExitedShell canceling running async action (~2026-10-23T09:26:01Z)
  • storing data for closed tab
  • Clean quit: No windows left, terminating app (~09:36:00Z)
  • On relaunch: Expected to have session for session ID ..., but doesn't exist
  • Conversation row still present in ~/.local/state/warp-terminal/warp.sqlite (agent_conversations)
  • warp-minidump.log was empty at inspection time

Happy to provide additional redacted sqlite excerpts or a full log bundle if useful.

warp-for-oss[bot]7d ago

@slickmrick

Here's what I found while triaging this issue:

Thanks for the detailed logs. This appears to be a client-side Linux local-agent restore/persistence bug: the conversation data survived locally, but the tab/session was not restored as a normal reopenable Agent tab after the agent shell exited and Warp quit.

I have a few follow-up questions before I can narrow this down:

  1. If this happens again, can you attach a short screen recording or screenshot sequence showing the tab disappearing and what appears in tab history after relaunch?
  2. Do you recall whether any explicit close, quit, or window-management action happened between the AgentExitedShell log line and No windows left, terminating app, or was Warp left untouched?

Reply in-thread with those details and the triage workflow will automatically re-evaluate the issue and update the diagnosis, labels, and next steps.

Maintainer details

I concluded that linux local Agent tab/session disappeared after an AgentExitedShell path and clean last-window shutdown, leaving the conversation in SQLite but not reopenable from normal tab/history UI..

Triage

This looks like a real Linux local-agent tab/session restoration bug rather than a hard crash: the report has a stable build, OS/shell details, conversation IDs, local SQLite evidence, and log markers showing AgentExitedShell, closed-tab persistence, clean last-window termination, and missing session IDs on relaunch.

The likely area is the interaction between the local agent shell-exit lifecycle and tab/session persistence. AgentExitedShell is handled in the terminal/agent controller path, tab removal records a closed tab for undo-close, Linux closes the app when the last window disappears, and startup can still find agent_conversations metadata even when the terminal session/tab state needed to reopen the prior Agent tab is gone.

Duplicate scan: I checked all open issues plus recently closed issues for AgentExitedShell, vanished/lost agent conversations, missing session/tab history, SQLite persistence, and storing data for closed tab. There are adjacent restoration/session-loss issues, but fewer than two existing issues match this specific Linux local-agent + AgentExitedShell + missing Agent tab/history failure mode, so I am not marking this as a duplicate.

Suggested owner areas: area:agent, area:window-tabs-panes, and area:shell-terminal. The most relevant code paths include agent shell-exit finalization, terminal ModelEvent::Exit, workspace tab removal/undo-close handling, pane cleanup, startup AI conversation restoration, and local agent conversation persistence.

Question reasoning

  1. If this happens again, can you attach a short screen recording or screenshot sequence showing the tab disappearing and what appears in tab history after relaunch? — The visible UI state would help distinguish an automatic tab close, a hidden/restorable-tab failure, and a history/listing-only failure.
  2. Do you recall whether any explicit close, quit, or window-management action happened between the AgentExitedShell log line and No windows left, terminating app, or was Warp left untouched? — The logs show final-window shutdown, but only the reporter can confirm whether that was user initiated or part of the unexpected disappearance.

This is my automated analysis and may be incorrect. A maintainer will verify the details.

Powered by Oz

slickmrick7d ago

Log artifacts (text gist)

Binary .tar.gz could not be uploaded via gh gist (binary not supported). Text logs + evidence are here:

https://gist.github.com/slickmrick/fa06eade93d1b433c9532ec3837f0c83

Contents:

  • warp-bug-agent-tab-vanish.md (report draft)
  • warp-bug-evidence-excerpt.txt (filtered key lines)
  • warp.log.txt / warp.log.old.0.txt (local Warp logs from the incident window)

Local paths on reporter machine if needed:

  • ~/.local/state/warp-terminal/warp.log*
  • ~/.local/state/warp-terminal/warp.sqlite