Skip to content

Core features

Connection wires

A wire is a line between two panels. By default it is a permission: the two agents can reach each other with catenary ask, and nothing travels until one of them asks. It is the answer to copying a stack trace out of one window and pasting it into another.

Drawing one

Drag from the edge of a panel to the panel you want to connect. The line falls into a catenary curve — the shape the product is named after — and a pulse travels along it each time it delivers something.

What travels

SourceWhat reaches the other side
Terminal / agentWhat one agent asks the other with catenary ask; in an automatic conversation, the output of each finished turn
File or document pinThe path, listed under "Connected files"; the agent reads the file itself
BoardThe board's text, readable and appendable

An agent reads its connections with:

catenary list

Connected files appear under Connected files; the agent opens them with its ordinary file tools.

Two behaviours

Click a wire to open its card. Under How this wire works there are two choices.

AI Agent in control — the default. The wire is a permission and nothing is sent automatically: either agent calls the other with catenary ask, or reads its screen with catenary check, when it needs to. Both ends can call, so for these commands the wire has no direction.

Automatic conversation. When one agent finishes a turn, its output is delivered to the other — costing a turn there. The relayed prompt arrives prefixed with [catenary], so the agent knows the message came over a wire and not from you. Turn on Both sides respond and the same wire runs both ways, within an exchange budget.

Agent to agent

The common shape is one agent delegating to another:

# In the Claude terminal, wired to the Codex terminal:
catenary ask "Codex 1" "Take the N+1 in the dashboard query. Context attached."
catenary check "Codex 1"

ask waits for the answer and returns it to the agent that asked. In an automatic conversation where both sides respond, the peer answers by writing a line that starts with @catenary, and the reply travels back across the same wire.

Agents in the same session do not even need a wire. With Let agents talk without asking on (the default, in Settings, Wiring & Maestro), ask reaches them directly. An agent in another worktree always asks you first.

Boards

A board is shared Markdown on the canvas: right-click the canvas and pick New Board. Its file lives in the project, and on a task branch it goes into that branch's worktree.

Wire a terminal to a board and the line turns yellow. That wire is the permission: the terminal now sees the board in catenary list and reads and writes it. A terminal with no wire to a board does not know it exists.

catenary board list
catenary board read "Board 1"
catenary board append "Board 1" "Auth refactor done; tokens.ts is next"

append adds a signed line and never loses another writer's text. write replaces the whole board, so keep it for a board that is yours alone; edit replaces one passage.

Right-click a board wire for its card. Disconnect hides the board from that terminal and leaves the wire dashed, Connect gives the access back, and Disconnect wire removes the wire.

Rules that keep it sane

  • Never re-send a prompt to an agent that is mid-turn. ask tells you it is busy; use check instead.
  • Wires are unlimited on both Free and Pro.

Back to home