# Tools and subagents

Each thing the agent runs is a light row of its own in the transcript, where it began: the tools it
calls, the subagents it hands work to, and the tasks it leaves running in the background.

The rest of the transcript is in [The transcript](/docs/sessions-transcript/).

- Tools: each tool the agent runs, as a row with an icon for its kind, what it was asked (a command,
  or Claude Code's own words for what it does where it gives them, the command then under **Input**;
  a file, a search; a skill as **Skill** and its name; a message the agent sent another of your
  sessions as a message to that session, by its title as it is now, or "Message to another session"
  once that one is deleted, then on a line of its own the start of the message, which opens in full;
  a tool named by one thing as its name in words and that thing, as `Tool Search: select:Monitor`;
  an MCP server's tool as MCP, its server and the tool, as `MCP · Moontors · List Sessions`, then
  what it was given; for any other tool Moontors has no words for, its name in words and what it was
  given, as `Cron Delete(id: 1)`), and its status (**Pending**, **Running**, **Done** or
  **Failed**); a running tool's icon breathes while Moontors is the window in front. Claude Code
  doesn't say when a call starts running,
  so its calls say **Pending** until they end, their icon still except while its Auto mode checks
  them. With Claude Code, a tool's row shows as soon as the agent begins the call, by the tool's
  name, and says what it was asked once the agent has written it all; with Codex and Gemini CLI it
  shows once the call is written. A Codex command's output fills in as it prints. Click it to open
  the files it touched, what it was given as **Input**, the lines it changed, and what it gave back
  as **Output**, each in a block of its own that scrolls past a set height. A change to files opens
  showing its diffs, and stays open until you close it; a row you opened closes once you've scrolled
  past it (see [What the transcript shows](/docs/sessions-transcript/#what-the-transcript-shows)). A
  diff looks as the Git view's does: each removed line on a red tint and each added one on a green
  tint, the words changed within a run of changed lines on a stronger one, matched across the run as
  the Git view matches them (a line keeping none of its text is marked whole), a line only added or
  only removed, with no line changed beside it, wholly on the stronger tint, and the code coloured
  as Files colours it, in the languages agents mostly write: TypeScript, JavaScript, Python, Go,
  Rust, Java, Kotlin, Swift, C, shell scripts, SQL, HTML, CSS, JSON, YAML and Markdown. Code in any
  other language, such as C++ or Ruby, stays plain, as does the old or the new side of a change that
  runs past 2,000 lines, and a line of 1,000 characters or more. What a tool gives back beyond text
  is said by its kind: a Claude Code tool search's result says **Loaded** and each tool it loaded,
  and an image says "An image". A web search's row shows what it searched for, from every agent;
  with Claude Code and Codex it opens to the pages it found, each a link by its title with its site
  beside it, as Gemini CLI doesn't send its pages. A page Claude Code or Codex fetched is a link
  too. Where Claude Code reads pages through a subagent of its own, as it does for some accounts, a
  fetch is that subagent's row, which opens to the fetch and its link. A link opens in your browser,
  and only when it's https. A pause Codex takes says **Waiting…** while it lasts, then **Waited**
  and for how long. An image Codex makes is an **Image** row, titled once it's made by the prompt it
  was made from, its file a link where Codex saved one. Moontors keeps a copy with the session, as a
  file you send, so the row opens to the picture's chip, which shows it in the window and full
  screen on the phone. One Codex couldn't make fails, and where that was its image limit, the row
  says when the limit resets. While Claude Code's Auto mode checks whether a call may run, once the
  call has waited a few seconds on it, its status says **Checking permission…**. A call the agent's
  own review decides on, Codex's review in Auto or Claude Code's Auto mode check, says the verdict
  as its status: **Auto-approved** once it's done, or **Denied**, each with the risk the review saw
  where it names one. Open it for **The review's reason**. A denied call's row is where you decide
  on it (see [Permission modes](/docs/permission-modes/)). An Agent call a subagent of Claude Code's
  makes opens to the model and effort it asked for, and to the report its own subagent gave back.
  A file a row names, in its line or among the files it opens to, opens as a reply's link to a file
  does (see
  [What the transcript shows](/docs/sessions-transcript/#what-the-transcript-shows)). A file inside
  the session's folder, or a folder it added, shows from that folder (`src/main.ts`); any other from
  `~` within your home folder, else in full.
- Gemini CLI's edits: Moontors writes the files Gemini CLI's edit and write tools change in the
  session's folder. A file that isn't UTF-8 text, or isn't text at all, is refused rather than
  rewritten, and a note in the transcript says so; Gemini CLI itself learns only that its tool
  failed.
- Subagents: when the agent hands work to subagents of its own, as Claude Code and Codex can, each
  subagent's work shows as one row where it began, its status at its end: **Running**, **Done**,
  **Failed** or **Stopped**. Open it to see the model and effort it ran at where the agent says,
  and the subagent's own replies, thinking and tools, ending with Claude Code's report of what it
  found. A subagent of Claude Code's own subagent shows its work in the same row. While a subagent
  runs within the turn, the transcript's last row names it, with its time so far, unless a newer
  tool runs or the agent has written since. If the agent stops before its subagent ends, as when it
  crashes, the subagent's row says **Stopped**, and any tool it left running **Failed**. A skill
  Claude Code runs in its own context, as `/review` does, shows the same two rows whether you typed
  it or Claude Code chose it: **Skill** and its name, then a row such as "`/code-review` in its own
  context" holding the skill's steps, shown live.
- Background tasks: each task the agent leaves running in the background, such as a dev server, is
  a row of its own where it began, saying **Running** and for how long, then **Done**, **Failed** or
  **Stopped** and how long it ran. While it runs, click it for what it has printed so far, and the
  session's status counts it rather than saying **Done**.