Skip to content

Pages

  • Getting started
  • Install
  • Sessions
  • Automation
  • Channels
  • Sandboxing
  • Command line
  • Models & providers
  • Settings
  • Instructions
  • Prompt templates
  • Skills
  • Themes
  • Keybindings
  • Layout
  • Extensions
  • Packages
  • SDK
  • Compatibility

Sessions

A session is one conversation with its history: messages, tool calls, their output, and the usage they recorded.

Several features work on whole sessions:

  • e rpc opens a session. See automation.
  • /resume lists sessions.
  • A channel maps a session to a thread.

Where they live

e saves each conversation as a JSONL file under ~/.e/sessions/, one file per session. e appends to the file as the turn runs.

CommandEffect
estart a new session
e -ccontinue this directory's most recent session
e -rpick a session from the list

In the terminal, /resume does the same as -r with a picker. /tree shows the current session's shape.

Branch in place

Branching lets you go back to an earlier message and try a different path. Every message has an id and a parent, so a session is a tree, not a line.

/tree moves back to an earlier message and continues from there. The branch you left stays in the file, and you can reach it the same way. Nothing is rewritten.

Branching changes the conversation, not the working directory. It does not undo edits a tool already made. Use git for the files.

Fork a session

/fork copies the current branch into a session file of its own. Use it when the next task deserves a separate history rather than a second branch of this one.

e rpc exposes both, as session.fork and the parent of a resumed session.

Context

When the model's context window fills, e summarizes older messages to make room and continues the same turn. You do not restart the task.

Run /compact to ask for that summary by hand. Add a focus to steer what the summary keeps, such as decisions, unfinished work, or a subsystem:

/compact <focus>

Compaction preserves the instructions and the previous summaries, so a long session keeps its rules.

/usage reports recorded tokens and estimated cost by model for the session. The report includes compaction's own requests.

Export

/export writes the active branch as one self-contained HTML page. The page holds the conversation, the tool activity, and the code it touched.

Read the page before you send it. It is exactly what the model saw.

Recall

Press up on an empty composer to walk back through your prompts from this and earlier sessions. e keeps them in ~/.e/history.jsonl. This is usually faster than remembering which session you meant.

/undo restores up to 100 session writes or edits.

Commands

CommandEffect
/resumereopen a saved session
/treereturn to an earlier message and branch in place
/forkcontinue in a separate session file
/compact [focus]summarize older context, optionally around a focus
/exportsave the active branch as one HTML page
/undorestore session writes or edits
/usagetokens and estimated cost per model
/name <label>name the session, shown in /resume