mohManual

Manual/Everyday work

Conversations are saved

Chapter 06 · 3 min read

Every conversation is a session, and every session is a file on your machine. Close the laptop mid-task, come back tomorrow: nothing is lost, and you continue exactly where you stopped.

Resume

The home screen lists your recent conversations in this project. Pick one and press enter: the history, your permission answers and the project memory all carry over. From the terminal, moh run --resume finds one by name.

Name it, pin it

ActionWhereHow
RenameHome or inside a conversationctrl+r, or /rename my new name. An empty name goes back to the automatic title.
Pin to the topHomectrl+p on a conversation (📌). Again to unpin.
SearchHomeJust type: it matches names and original titles.

Branches: a conversation is a tree

If you go back to an earlier point and try a different direction, both paths are kept. /tree shows the map:

/tree
● explain the login flow
● add remember-me checkbox
○ try it with a cookie (abandoned)
● use the session store ◆ chosen approach ← head
⏎ switch here · r branch from here · b bookmark · f filter · esc close
● is the path you are on, ○ a branch you left, ◆ a bookmark you named.
  • enter jumps to a point; r starts a new branch from it with your next message.
  • b bookmarks a point, B gives it a name; f filters to bookmarks or abandoned branches.

Fork: a copy to experiment on

A fork copies a conversation into a new one, so you can try a "what if" without touching the original — great for comparing two approaches side by side.

$ moh run --session <file> --fork                       # everything
$ moh run --session <file> --fork --fork-scope branch   # only the current path

Delete, and change your mind

Deleting (ctrl+d on the home screen, then y) moves a conversation to a trash, not into oblivion. It stays recoverable for 30 days.

$ moh trash list               # what is in the trash, and days left
$ moh trash restore <id>       # bring one back

moh never overwrites a live conversation when restoring, and it refuses to delete the one you have open.

Move a task to another computer

The optional handoff carries an ongoing task from, say, your laptop to your desktop. You close it on one machine and continue on the other — one machine at a time, never both at once.

  1. Turn it on for the project. Set handoff.transport to "gist" in moh.json. It uses a private GitHub gist, so the gh tool must be logged in.
  2. Publish. Run moh handoff: moh writes a summary of the task plus a filtered extract of the conversation.
  3. Pick it up. On the other machine, press o on the home screen — moh can even clone the project for you first.

No GitHub? moh handoff export <file> and moh handoff import <file> do the same with a file you carry yourself. Nothing is ever published unless you turned the feature on.

A report of the conversation

/session shows what happened in the open conversation: models used and an estimated cost, tool successes and failures, permissions asked, how often it was summarised or switched model. From the terminal: moh sessions analyze <id>.

Written for moh 0.61. Inside moh, ctrl+h opens the built-in manual for your exact version.