Skip to content

Chat nodes

A chat node is a Claude conversation on the canvas that isn’t a terminal at all. Instead of a CLI running in a shell, it’s driven by the Claude SDK, so it behaves like a chat window rather than a command line. It’s a Claude-only node.

Because it’s SDK-driven and not a terminal, a chat node gets a richer conversation surface:

  • Token streaming — replies appear as they’re generated.
  • Thinking blocks — Claude’s reasoning is shown inline when it thinks.
  • Slash-command popup — the available commands surface as you type.
  • Image paste and drop — drop an image straight into the conversation.
  • Cost chip — a running total of what the conversation has cost.

See Node types for how it sits alongside the terminal and other node kinds.

When Claude wants to use a tool, a permission card appears right in the conversation with three choices:

  • Allow — permit this one action.
  • Always this session — permit it for the rest of this session without asking again.
  • Deny — refuse it.

You don’t have to wait for a reply to send more. Messages you send while Claude is working are queued and delivered in order (first in, first out). When you want to cut a reply short, Stop interrupts what’s running.

A chat node survives project switches — switch away and back and the conversation is still there. Across an app restart it resumes from a saved session id, and the conversation’s history reloads from the transcript, so you pick up where you left off. (See Terminal persistence for how sessions survive in general.)

A Claude terminal agent node has a 💬 action in its header that forks the conversation into a chat node — handing the thread from the CLI over to a chat surface. This is experimental.