Conversation management
Collapse, resume, browse, and compact conversations.
Conversations are durable objects in Mel — saved after every turn, browsable, resumable with full context, and compactable when they grow long. You never lose a thread because you closed a tab.
Where conversations live
Every conversation is saved as JSON under ~/.local/share/mel/conversations/, updated after each turn. That one store feeds everything: the landing page's Recent Activity list, the Tools panel's conversations view, the /conversations picker, and resume.
Browsing: the /conversations picker
Type /conversations at the prompt to open a history picker right over the input: a search field with fuzzy matching, and rows showing each conversation's title and relative age. Navigate with ↑/↓, press enter to continue that conversation in the current pane, esc to dismiss.
The Tools panel's conversations view offers the same list in a persistent sidebar, with a New conversation button.
Resuming
Reopening a conversation — from the picker, a collapsed mini block, Recent Activity, or ctrl+shift+Y for the most recent one — restores both the visible transcript *and* the underlying model context, so the agent genuinely remembers the thread rather than just displaying it. Model selection carries over too. See Entering & exiting for the collapse/resume flow.
The context gauge
The circular gauge in the input footer shows how much of the current model's context window the conversation is using; hover it for "N% remaining". Long tool outputs and image attachments all count against it.
Compacting: /compact
When a conversation gets long, compaction folds the older turns into a compact summary so there's room to keep working:
/compact— compact now. Older turns are replaced by a structured checklist of what happened — which files were touched, what commands ran and produced — and a notice marks the compaction point in the transcript. If the conversation is still short, Mel tells you there's nothing to compact yet./compact <focus>— same, but the summary is steered toward what you name ("/compact the auth flow") so the details you still care about survive the squeeze.
Compaction happens at turn boundaries only — never in the middle of a running task.
Automatic compaction
You usually don't need /compact manually: when a conversation approaches the model's context window, Mel compacts automatically at the next turn boundary, measured against the window of the model actually in use. Inside a single long run, a separate mechanism trims older tool results as it goes — see Tasks & the lifecycle.
Durable facts don't depend on the transcript surviving: project memory holds them across compactions and across conversations entirely.