devpit

Chat

A conversation with your agent, with its cost, its questions and its checklist on screen.

A chat is a conversation with your agent in a tab of its own: its cost, its questions and its checklist on screen. It runs through Claude Code, the only CLI devpit drives end to end. Open one from the sidebar's New Task → Chat, or with ⌘N (Ctrl on Linux and Windows); earlier ones are under Earlier.

What the turn runs as

The chips under the composer decide the next turn.

  • Account and model. One picker for both, because a model belongs to an account, and picking one from another account would be changing the account. Search it, or star the models you reach for. Once the conversation has spoken, its account is fixed.
  • Reasoning, when the CLI offers levels.
  • What the agent may do without asking: Supervised (ask before commands and file changes), Accept edits (edits go through; ask before anything else) or Full access. The mode you pick stays picked for that conversation, and a new conversation starts in the last mode picked on that account — Supervised if you never picked one.

Type / at the start of a message and the CLI's own commands are offered, read from what it printed when a session of that account last started. + Skill adds a skill to this turn, from the catalogue in Skills and MCP.

Questions from the agent

In Supervised, a tool call the agent wants to make appears above the composer with its input and three buttons: Refuse, Always in this chat and Allow. Always in this chat allows, for the rest of this conversation only, every file edit, or that exact command, or that same tool — the button's tip says which. A refusal goes back as a tool result rather than killing the turn — an agent told no can try something else. Unanswered for two minutes, it is refused. The same question can be answered from the island.

Only a conversation that asked to be asked is held. Every other session, board steps included, is answered at once and left to the CLI's own permission mode, so a step never hangs on a window nobody is watching.

While the turn runs

  • Cost — a running total in the pane corner: what this conversation has cost.
  • Checklist — the agent's own task list, replayed from its calls, as n of m done.
  • Background tasks — a row labelled Subagent or Command for work the turn left running, with how long it has run and a Stop.
  • Queued — what you send while it works waits above the composer and goes in as soon as it has answered, one at a time. Stopping the turn puts the queue back in the composer.
  • Esc twice stops the turn. The first press arms it and the button says so; the second stops. An open menu or dialog takes the Escape instead.

Switch project or reload the window in the middle of an answer, and coming back, the answer so far is there and the rest keeps arriving. Unsent text is kept per conversation until you send or clear it.

Files and voice

The paperclip, or ⇧⌘A (Ctrl on Linux and Windows), attaches files from the system's picker. Dropping files onto the chat and pasting a picture work too. Each reaches the agent as a path it can open. Click an attachment to take it off again.

The microphone beside it records a voice message: click it, or hold it and let go. The words land in the composer to read and edit before sending. They come from a whisper on this machine — whisper.cpp or whisper — or from a transcription service only if you choose one in Settings → General → Voice messages and keep its key there. Without an engine, the recording goes as a file.

In an answer

Web addresses are links, and open in your browser. A file path written as code opens beside the chat — in a card's chat, from the card's own checkout — and Open as a tab expands it. A tool that brings an interactive page — a Jira issue, a Datadog chart — shows it under the answer that called it, sandboxed; when the page wants to run one of its server's tools, it asks first: Deny, Allow once or Always here.

Going back, and going elsewhere

A turn that can be gone back to has Go back to this turn in its footer. It goes on from there in a new conversation; the one it came from keeps every turn it had.

Copy session ID, in the pane corner, copies the CLI's own id for this conversation — what claude --resume takes. The phone button turns on Remote Control, so the same conversation can be reached from claude.ai and the Claude app as devpit-<project>; Open on claude.ai opens its page. It needs Accept edits or Full access: Supervised runs a process per turn.