All nodes/AI/Stream Observers
Catch Output
Intercepts the AI Agent's text output and streams it to the Extra panel (or chat). By default there is no stream port; enable "Explicit Extra stream port" to wire an edge to an Extra Section.
Type in the graph: catch_output
Try it
Minimal working workflow
- Execute + Data
- Extension
- LLM
- Memory
- Execute + Data + Streaming
Runs as pasted
When to use it
Catch Output shows an AI Agent’s text as it is generated — as its own block in the Extra panel, without mixing it into the answer. The node earns its place where the agent’s answer does not go straight to the chat: another node sits between the agent and Exit, or the agent works as a subagent tool inside another agent. Without a catcher the reader stares at nothing for all that time.
Its neighbours tap the other channels of the same agent: Catch Thinking takes the model’s reasoning, Catch Tool Call its calls to tools.
How it works
The node is not a step in the graph: it has no execution input and no data output, and it never joins the chain. Wiring its Output port into the agent’s Extensions port is enough — from then on every text token the agent receives from the model is mirrored into the stream. A block opens on the round’s first token and closes with the round, so an agent that uses tools produces as many blocks as it ran rounds.
By default the Stream port is hidden and the text goes straight into the Extra panel. Turn on “Explicit Extra stream port” and the port appears; you can then run it into an ExtraSection node, which adds a title, an initial folded state and a repeat mode. The other side of that switch: the built-in stream is disabled, so with no edge drawn nothing is shown at all.
Common mistakes
- Connecting it to LLM Response. Catchers only work with the AI Agent — it is the only node with an Extensions port. LLM Response has its own “Mirror Output to Extra Section” switch for the same job.
- Running the Stream port into two nodes. A streaming port streams to exactly one address; the second edge is a validation error. If you need a second sink, add a second catcher node.
- Forgetting Telegram. There are no collapsible blocks there: every Extra block arrives as a separate message.
Inputs
—
Outputs
| Port | Wire | Payload | Notes |
|---|---|---|---|
Outputoutput | Extensionlink_extension | — | |
Streamstream | Streamingstreaming | — |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
Explicit Extra stream portexpose_extra_stream_port | boolean | false | When off (default): stream to the Extra panel without a graph wire; the stream port is hidden. When on: the stream port is shown — connect it to an Extra Section (or other allowed sink). Built-in self-streaming is disabled; only an explicit streaming edge sends output. |