Get Moshi
chat

Chat View

Turn a live coding-agent terminal into a phone-native conversation without replacing the terminal or sending its transcript through Moshi's servers.

updated today24 min readpage 23 / 34

Chat View is a visual layer over the coding agent already running in your Moshi terminal. It turns prompts and replies into messages, pulls tool activity into compact cards, and keeps approvals close to the composer. Close it at any time and the original terminal is exactly where you left it.

One session, two viewsA forthcoming screencast will show the same live agent session switching between its native terminal UI and Chat View.

What it looks like

Chat View fills the terminal with a conversation surface that uses your terminal background and keeps the active agent recognizable.

header
Agent icon and name, multiplexer session, model, plus the same diff and browser-preview controls shown in the terminal.
messages
Your prompts and the agent response, with Markdown, code, images, and thinking separated into readable blocks.
tool cards
Shell commands, file reads and edits, task groups, mini diffs, results, and failures. Tap a card to expand its detail.
status
A Working indicator follows the active turn. Its close button sends Escape to stop the current work when the session supports it.
composer
Type, dictate, or attach an image, then send the prompt into the same terminal session.

When the agent asks for permission, Chat View can show an approval bar with Approve and Deny. Plans and interactive questions appear as dedicated cards when the agent exposes enough structured information. Action support varies by agent and prompt type; a card that cannot be answered safely in Chat View tells you to answer in the terminal.

The list follows the newest message while the agent works. If you scroll up, a jump-to-bottom control appears so new output does not pull you away from what you are reading.

How it works

The terminal remains the source of truth. Chat View does not start a second agent or recreate the conversation in Moshi's cloud.

  1. moshi-hook detects a supported agent and its native session ID on the connected host.
  2. The Moshi app opens the host gateway through the SSH connection already used by the terminal.
  3. The gateway reads the agent's local transcript and streams new entries directly to the app.
  4. Moshi normalizes those agent-specific entries into messages, tool cards, plans, questions, images, and turn recaps.
  5. Prompts and supported approval actions go back to the same live terminal session, so switching views cannot fork the conversation.

Closing Chat View only removes the visual layer. The agent, shell, tmux or Herdr session, working directory, and scrollback keep running underneath it.

local

Full transcript content travels directly between your host and the app over the encrypted SSH-forwarded gateway. It does not pass through the Moshi API. Small hook event summaries used for the inbox, notifications, and Live Activity are separate; see Hooks privacy.

Supported agents

Chat View currently supports:

  • Claude Code.
  • Codex CLI.
  • OpenCode.
  • Pi.
  • Oh My Pi (OMP).

Hook support is broader than Chat View support. See the supported-agent matrix for the current difference.

Requirements

  • A supported agent running in the active terminal session.
  • moshi-hook installed, paired, and running on the host. See Hooks.
  • A live host-gateway connection through the current SSH session.
  • Enable Chat turned on under Settings -> Chat Mode -> Chat View.
  • Moshi Pro, or a remaining free Chat View trial use.

Chat View is experimental. The normal terminal remains available for unsupported tools, unusual prompts, or any agent output that cannot yet be represented as a card.

Open Chat View

  1. Open a Moshi terminal and start a supported coding agent.
  2. Wait for moshi-hook to detect the agent session. The toolbar's chat button changes to the agent's icon when Chat View is ready.
  3. Tap the agent icon to open Chat View.
  4. Tap the close button to return to the terminal.

You can switch back and forth during a turn. Chat View continues following the same session, and the agent keeps working while either view is open.

Send prompts and attachments

The composer sends into the live terminal rather than calling an agent API. This preserves the agent's own configuration, permissions, model selection, tools, and project context.

  • Type a prompt and tap send.
  • Hold the microphone to dictate. See Voice input.
  • Attach a screenshot or image when the agent needs visual context. See Image paste.
  • Swipe down on the composer to dismiss the software keyboard.
  • Use Command-Enter to send from a hardware keyboard.

When the agent is working, the status control's close button requests a stop by sending Escape to the underlying terminal. If the agent does not react, switch back to the terminal to inspect its current prompt or process state.

Approvals and questions

Chat View presents actionable prompts only when it can map the response back to the running agent safely.

  • Permission requests can appear in a floating approval bar with Approve and Deny.
  • Agent plans can appear as expanded Markdown cards.
  • Structured questions can appear with their available choices.
  • Unsupported interactive prompts stay read-only and point you back to the terminal.

Approval buttons act on the live session; they do not approve a copied or server-side request. The exact controls differ because each agent exposes permissions differently.

Troubleshooting

  • The toolbar shows the generic chat icon. The host gateway has not detected a supported agent session yet. Confirm moshi-hook is running, then start the agent or reconnect the terminal.
  • The agent icon appears but Chat View will not open. Check Settings -> Chat Mode -> Chat View and turn on Enable Chat. Free trial uses may also be exhausted.
  • Chat View says it is disconnected. The SSH-forwarded gateway was interrupted. Return to the terminal and reconnect the session; the transcript stream resumes from the host.
  • A question says to answer in the terminal. That agent or prompt type does not expose a safe structured response path yet. Close Chat View and answer in the native TUI.
  • A tool card looks incomplete. Switch to the terminal for the raw output. The agent transcript is parsed for presentation, but the terminal always remains authoritative.