The transcript
Opening a card shows its transcript in a panel beside the board. It shows your messages, the agent’s replies as Markdown, its thinking, each tool it runs with its output or the lines it changed, its questions, what it’s doing while it works, and quiet rows for status changes, errors and notes.
Creating sessions, the board and its cards are in Sessions and the board, and the composer you send from in The composer.
The panel’s header
Section titled “The panel’s header”The header shows the title and the status, with the bell, Tell me when it’s done, and buttons for Export the transcript, Fork, Delete, Archive and Close the transcript. A button shows only where the session’s agent can do it: Gemini CLI has no Fork. One the session can’t do now, such as Fork while a turn runs, is dimmed, and its tooltip says why. Under them are where the session works, named as its card names it, after its tree or its home: the repository and branch or commit, or the folder. Hover over it for the folder’s full path, and click it to show the folder in Finder, Explorer or your file manager. At the right end are the tokens used, ↑ in and ↓ out (hover over them for the words, which name the part read from the agent’s cache and the part spent thinking, where it counts them), with the cost where there is one (see Insight and code workflows), and the agent.
- Rename session: the pencil that shows beside the title when you point at it opens it for
editing. Enter saves and Escape cancels. A title holds up to 120 characters.
/renamewith a title renames the session; alone, it opens the title for editing. - Fork starts a new session from the conversation as it stands now, in the same folder. Its transcript holds the original’s conversation, then a row where the fork began, naming the session it was forked from by its title as it is now, or “Forked from another session” once that one is deleted. Its card lands first in the board’s Sessions, its first row or column, and it opens in the panel. A worktree session’s fork shares its worktree. If the original conversation was compacted after the fork, the fork says so and asks you to fork it again. Gemini CLI can’t fork.
- With Claude Code and Codex, Branch from before this prompt, beside one of your prompts, starts
a new session from before that prompt, and this one stays as it is (see
/branchin Conversation commands). /cdmoves a session to another folder, and the agent carries on with the same conversation there; the transcript says “Moved to” the new folder./cdworks with Claude Code and Codex. What it can’t move, and when, is under/cdin Conversation commands.
What the transcript shows
Section titled “What the transcript shows”Only your messages and the agent’s replies sit in bubbles. Everything else that isn’t for you to read, such as the agent’s thinking, the tools it runs, its subagents and notes, is a light row with no box: an icon, one line, and a status at its end. Permissions, questions and plans keep their cards, as they wait for you.
-
A row that opens starts with a chevron, turned down while it’s open, as thinking’s is. A row with nothing to open keeps the chevron’s room empty, so every row’s icon lines up.
-
Scrolling down through an open row, its first line stays at the top of the transcript, on the panel’s own colour with a little room around it and the panel header’s line under it, while the rest scrolls on beneath it, fading out toward that line as it does under the header. Once you’ve scrolled past its end, a row you opened closes, so scrolling back up finds it closed, and the focus, if it was in the row, goes to its first line. A row that opens by itself, as an edit’s changes and an answered question do, stays open, and so does a row the agent’s newest words carry up while you’re at the transcript’s end. Clicking that first line while it’s held at the top closes the row and brings the transcript back to the row’s top.
-
A row’s icon, chevron and status sit level with its first line, however far its words wrap.
-
What the agent changed or handed on is in full white: an edit, a file written, moved or deleted, a skill and a subagent’s work. Reads, searches, fetches, commands, notes and messages to or from another session stay grey, as thinking does. A file a row’s line names is a link, in the link colour, whatever its kind, except in a subagent’s own rows. A failure keeps its own colour.
-
Your messages, with the files you sent as chips at the top, above any words, as the message box shows them (see Attaching files), and the row a reply quotes above them (see Replying to a row). Hovering over a message shows its actions, and each shows as the focus reaches it: Reply, and Branch from before this prompt and Rewind to before this prompt where the agent offers them; one that can’t be used now is dimmed, with the reason in its tooltip. A message another session sent is a row instead: a message from that session, by the title it had when it sent it, then the start of the message, opening to the whole message and From that session, which you click to open it. Hovering over it shows the same actions (see Sessions messaging each other).
-
The agent’s replies, as Markdown: headings, lists, tables, and code coloured as Files colours it. A code block’s Copy code, at its top right while you hover over it or move the focus there, copies its code alone, without the fence, its language or its line numbers. Raw HTML isn’t drawn, and an image shows as its description. A link to a page opens in your browser, and only when it’s https. A link to a file opens in Moontors, wherever the file is: an image, an SVG, a font, a PDF, a table or a text file up to 5 MB in the preview over the transcript (see Opening a file), at the line the link names; any other file, such as a video, in Files, opened in its tab with the tree open down to it and the file selected, when it’s inside the session’s folders, and otherwise shown in your file manager, never opened. Moontors opens only a file the session’s agent linked in its words, or one its tools named, and never one on a network share or a device. Any other link does nothing. What one of Claude Code’s own local commands prints shows as a reply too.
-
Thinking: a row that says Thinking… while the agent thinks, then Thought for how long it took. Click it to read the thinking as the agent sums it up: Moontors asks Claude Code and Codex for summaries of their thinking, and Gemini CLI sends its thoughts. Codex signed in with ChatGPT sums up its thinking only at times, so its row can hold no words.
-
Tools, subagents and background tasks, each a row of its own where it began (see Tools and subagents).
-
While a turn runs, the transcript ends in one row saying what the agent is doing, with the time it has taken so far; only a message the agent hasn’t taken in yet, or what waits for the turn’s end, comes after it. When the newest row is still under way, that row says it: thinking shows its time where its status sits, with the size of the thinking where Claude Code counts it, and a tool or a subagent shows its time after its status, as 12s after Running (after Pending for a Claude Code call). Otherwise a row of its own says Writing… or Waiting for you when a question, a plan or a permission waits, both with no time, or names the tool or subagent still running further up with its time, or says Working… with the turn’s time.
-
Permissions, questions and plans, which wait for your answer (see Permission modes and Questions and plans).
-
Quiet rows for what happened to the session, most of them a thin rule across the transcript with their words in the middle:
- a change into or out of waiting, such as Running → Waiting for you;
- Stopped, with why when it wasn’t you: “Stopped: the agent crashed”, “Stopped: the daemon stopped mid-turn” or “Stopped: signed out”;
- a change of model or effort, and of permission mode;
- “Context cleared”, a rewind, “Compacting the conversation…” then “Conversation compacted”, or “Conversation compacted automatically”, with the tokens before and after where the agent says them, and Summary to open where it sent one (or “Compaction didn’t finish”);
- a goal set, changed or cleared, and a turn a goal or a loop starts by itself (see Conversation commands);
- errors, each led by Error, some with Sign in (see Signing in);
- notes from the agent or from Moontors, each a light row with an info icon, such as “The agent stopped: its reply reached the length limit.”, “The agent stopped: it reached its step limit for one turn.”, “The agent declined to continue.”, “The agent’s saved conversation was gone, so it started a new one.”, that the instruction files the agent reads, as CLAUDE.md, are longer than recommended for the model, that the agent’s moderation blocked your message, its reply, a tool call or a tool’s result, as Codex’s can, or “The agent warns:” followed by the agent’s own words, as Claude Code’s and Codex’s warnings, suggestions and notes are, such as what a hook says;
- a turn the agent’s safety check stopped, with the ways it offers to continue (see When the agent’s safety check stops a turn);
- while Codex tries again by itself, one note each try updates, saying why: “The agent lost its connection — reconnecting…”, “The agent couldn’t connect — retrying…”, or “The agent’s service is overloaded — retrying…”, as when the service holds back capacity, then a note once it goes on, as “The agent lost its connection and reconnected.”
-
Unrecognized events: what the agent sent that Moontors doesn’t know shows as a count of unrecognized events; open it to see what was sent. Once a later Moontors knows it, older Claude Code and Codex sessions show it as what it is too, wherever it can be read on its own.
When the agent’s safety check stops a turn
Section titled “When the agent’s safety check stops a turn”Codex’s safety check can stop a turn it judges could lead to harm in biology or cybersecurity, as Codex’s own terminal does.
- While it looks for safer ways to continue, the turn’s last row says “Finding safer ways to continue…”.
- Once the turn ends, after the error Codex gives, a row says “The agent’s safety check stopped this turn.”, then what the turn touched on, in Moontors’ own words, such as “It touches on access to accounts or systems beyond what’s allowed.”
- Under it, Ways to continue offers the safer requests Codex suggests, up to three, each by its
own name, with the words it sends shown when you point at it. Choosing one starts a new session
from before the stopped turn, as
/branchdoes, and sends those words there, as written; this session stays as it is. - The ways are offered while the stopped turn is still the session’s latest: a later message,
/clear, a rewind, a compaction or a fork takes them away, and the row keeps its words alone. - The phone shows the row, and its ways, as the window does.
What Moontors leaves out is under Known limits.
A turn’s footer
Section titled “A turn’s footer”A turn that finishes ends with a footer; a stopped or failed one ends with its Stopped or error row instead. The footer shows:
- how many files the agent and its subagents edited in the turn, with the lines added and removed, a file both edited counted once: click it for each file, shown from the session’s folder as a tool’s row shows it, its lines added and removed at the right;
- how long the turn took and when it ended, shown when you hover over the turn’s last reply or its footer, or move the focus there. Times follow your system’s 12- or 24-hour clock. A turn that ended on an earlier day says the day too, counted in your own calendar days and always in days: yesterday at 1:21 AM, or 46 days ago at 1:21 AM. It moves on at midnight with the transcript open, or as your computer wakes;
- Copy reply, the copy icon beside that time on a turn with a reply: it copies the turn’s reply as the agent wrote it, without its tools, thinking or questions. Its icon turns to a check for a moment. Words you select in the transcript copy with a right-click’s Copy.
Replying to a row
Section titled “Replying to a row”To answer one thing in the transcript, a reply of the agent’s, your own message, a tool’s row or a note, hover over its row, or move the keyboard’s focus to it, and choose Reply: at the row’s top right, or beside your own message with its other actions. A click in the row leaves it hidden once the pointer goes. Or select words in a row and choose Reply under them. Either way, the focus goes to the message box, after any words you’ve typed. A permission, a question or a plan still waiting for you is answered rather than replied to, so it offers Reply only once it’s answered. Files sent alone have no words to reply to, and a turn’s footer isn’t replied to either.
- The row’s words, a command named in the agent’s own words with what it was given, the command among it, or the words you selected, show at the top of the message box as a quote, above any files and your words, two lines of it at most, with an X to take it off. Escape takes it off too. There’s one quote at a time: another Reply takes its place.
- What you send then replies to it. The agent reads the quote first, as a Markdown quote, then your words, so it knows what you mean even once the conversation has been compacted. A reply needs words or files of its own, and a command can’t be one.
- A quote keeps up to 2,000 characters of a row, cut there with an ellipsis.
- Your message shows its quote above its words, dimmed. Click the quote, or press Enter on it, to scroll to the row it quotes, or to the subagent’s row that holds it, which is marked for a moment and takes the focus, so a screen reader reads it. It keeps the focus once the mark is gone: the arrow keys scroll on from there, and Tab goes on from it. Followed by a click, it shows its focus ring at your next key. Once that row is gone, as after a rewind, the quote leads nowhere.
- A reply sent while the agent works goes as any message does then (see Sending while the agent works). Rewinding to before it brings back its quote with its words.
- The exported transcript shows a reply’s quote above its words.