---
title: Terminal Lifecycle
description: Understand what PonyMux preserves when a process exits, and how snapshots, wake-up, Resume, Fork, Archive, Trash, and Restore work together.
---

A PonyMux Terminal is a durable work record, not just a live shell process. Its
name, working directory, List, reaction, appearance, and session history remain
available after the process inside it exits.


*PonyMux interface view: lifecycle.*


## Active and sleeping Terminals

Here, **active** describes the Terminal's lifecycle: it has not been archived or
trashed. An active Terminal is **sleeping** when its saved record still exists but
no shell, agent, or other program is currently running inside it.

This normally happens after you quit and reopen PonyMux, or when the Terminal's
shell exits—for example, after you run `exit` or press `Control-D`. Switching to
another Terminal, hiding the window, or leaving PonyMux in the background does
not put it to sleep; its shell, agent, or development server keeps running.

Sleeping does not delete the Terminal. PonyMux keeps its metadata, working
directory, session history, and last captured screen so the workspace can be
restored without keeping every process alive forever.

When PonyMux has a screen snapshot, selecting a sleeping Terminal shows the saved
text immediately. If its latest conversation can be resumed and automatic resume
is enabled, PonyMux starts a short countdown. You can resume immediately, pause the
countdown by interacting with the snapshot, or type to start a plain shell instead.

Automatic resume can be changed in **Settings → General**.

## Session history

Open **Sessions** (`⌥⌘V`) for the selected Terminal. Consecutive segments of the
same conversation—including a continuation after context compaction—stay together
as one session row. The row can include the provider, model, effort, recent recap,
context size, and last request time when the provider transcript contains them.

### Resume

**Resume** continues an existing conversation in the selected Terminal. If another
program is running there, PonyMux warns that resuming will end it and restart the
Terminal first.

Resume is unavailable when the provider transcript is no longer present on disk.

### Fork

**Fork** branches from an existing conversation. You can fork in the current
Terminal or create a new Terminal for the branch. A session must have saved some
conversation before it can be forked.

## Archive, Trash, and Restore

- **Archive** removes a Terminal from active collections while keeping it available for later recovery.
- **Trash** marks a Terminal for deletion and keeps it in the Trash collection until it is restored or deleted permanently.
- **Restore** returns an archived or trashed Terminal to All Terminals or to a List.
- **Delete Forever** permanently removes the Terminal record and revokes its delivered and pending notifications.

Archive and Trash are read-only views for Terminal details. Drag a Terminal back to
All Terminals or a List to restore it, or use the Terminal action menu.

:::warning
Deleting a Terminal forever removes PonyMux's record of it: its name, saved
working-directory reference, List and reaction, appearance settings, captured
screen, and the session entries shown in PonyMux. This cannot be undone.

It does **not** delete your project files or the conversation transcripts kept by
Claude Code or Codex. Those transcripts remain under the provider's own storage
and retention rules, but they do not recreate the deleted PonyMux Terminal or its
organization.
:::
