Problem
Termic currently appears to persist and auto-resume only the workspace's primary agent tab. Secondary agent tabs opened with the + button are relaunched as fresh sessions after an app restart, or are not restored as durable agent sessions at all.
This breaks a common multi-agent workflow: one worktree/workspace with Claude and Codex running side by side, where Claude may be implementing and Codex may be reviewing/monitoring. After Termic restarts, the primary workspace agent can resume, but the secondary agent tab loses its exact conversation/session history unless the user manually hunts down and resumes it.
Current behavior
- Workspace main agent has durable resume behavior.
- Secondary agent tabs opened inside the same workspace are effectively ephemeral.
- Recent changelog language says resume args override applies only to the main agent tab, and
+ tabs always start fresh.
- Local workspace state appears to have a
composition field, but the secondary agent tabs are not persisted there in a way that relaunches/resumes them.
Expected behavior
Secondary agent tabs should be optionally durable peers of the primary tab.
On app restart, Termic should be able to restore a workspace like:
Workspace: feature/foo
tab 1: claude, resumed to prior Claude session
tab 2: codex, resumed to prior Codex session
tab 3: shell/run tab if appropriate
At minimum, agent tabs should persist enough metadata to relaunch with the correct resume command:
- agent id / command
- tab title
- cwd/workspace path
- launch args / yolo state where applicable
- resume args or exact session id if the CLI supports it
- whether the tab is durable or intentionally scratch/ephemeral
Why this matters
The current behavior makes the UI feel like it supports multiple agents per workspace, but the persistence model effectively forces "one durable agent per workspace row." For real agent workflows, that means users must create separate workspace rows just to keep Claude and Codex sessions resumable, even when both are working on the same worktree and should be viewed together.
That makes side-by-side review/implementation workflows fragile and surprising after restart.
Possible UX
A small distinction would work:
+ Agent tab defaults to durable and is restored/resumed on app restart.
+ Scratch terminal remains ephemeral.
- Or add a per-tab toggle:
Resume this tab after restart.
The main agent can still be special, but secondary agent tabs should not always be fresh unless explicitly opened as scratch tabs.
Problem
Termic currently appears to persist and auto-resume only the workspace's primary agent tab. Secondary agent tabs opened with the
+button are relaunched as fresh sessions after an app restart, or are not restored as durable agent sessions at all.This breaks a common multi-agent workflow: one worktree/workspace with Claude and Codex running side by side, where Claude may be implementing and Codex may be reviewing/monitoring. After Termic restarts, the primary workspace agent can resume, but the secondary agent tab loses its exact conversation/session history unless the user manually hunts down and resumes it.
Current behavior
+tabs always start fresh.compositionfield, but the secondary agent tabs are not persisted there in a way that relaunches/resumes them.Expected behavior
Secondary agent tabs should be optionally durable peers of the primary tab.
On app restart, Termic should be able to restore a workspace like:
At minimum, agent tabs should persist enough metadata to relaunch with the correct resume command:
Why this matters
The current behavior makes the UI feel like it supports multiple agents per workspace, but the persistence model effectively forces "one durable agent per workspace row." For real agent workflows, that means users must create separate workspace rows just to keep Claude and Codex sessions resumable, even when both are working on the same worktree and should be viewed together.
That makes side-by-side review/implementation workflows fragile and surprising after restart.
Possible UX
A small distinction would work:
+ Agent tabdefaults to durable and is restored/resumed on app restart.+ Scratch terminalremains ephemeral.Resume this tab after restart.The main agent can still be special, but secondary agent tabs should not always be fresh unless explicitly opened as scratch tabs.