Skip to content
Agent

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.