All nodes/AI/Stream Observers

Catch Thinking

Intercepts the agent's thinking tokens and streams them to the Extra panel. By default there is no stream port; enable "Explicit Extra stream port" for an explicit edge to an Extra Section.

Catch Thinking
Output
Stream

Type in the graph: catch_thinking

Try it

Minimal working workflow

Entry
AI Agent
Catch Thinking
LLM
Buffer MemoryS
Exit
  • Execute + Data
  • Extension
  • LLM
  • Memory
  • Execute + Data + Streaming
Press “Copy nodes”, open the editor and hit Ctrl+V on the canvas.

Runs as pasted

When to use it

Catch Thinking shows the model’s train of thought — what reasoning models return in a separate field of the response, before and between tool calls. In the chat it becomes its own block in the Extra panel: the reader sees that the model is working, while the answer itself stays clean.

The node taps a channel of the AI Agent, as its neighbours do: Catch Output takes the answer text, Catch Tool Call the calls to tools. Do not confuse it with Agent Plan: a plan is a task list the model maintains itself through tools, whereas this is raw reasoning from the provider.

How it works

The node is not a step in the graph: it has no execution input and no data output. Wire its Output port into the agent’s Extensions port and that is all.

From there the platform reads the reasoning field in the model’s response stream: reasoning_content on DeepSeek and local OpenAI-compatible servers, reasoning on OpenRouter. If a model reasons inside the answer text instead, those tokens never arrive here — they are ordinary output. Every agent round starts a new block.

By default the Stream port is hidden and the text goes straight into the Extra panel. Turn on “Explicit Extra stream port” to route it into an ExtraSection node, with a title and a repeat mode. Note that with the switch on the built-in stream is disabled, so nothing is shown until you draw the edge.

Common mistakes

  • Expecting “thoughts” from a model that has none. An ordinary chat model returns no reasoning field: the block stays empty and the run still succeeds. Pick a reasoning model in the LLM node.
  • Connecting it to LLM Response. Only the AI Agent has an Extensions port.
  • Running the Stream port into two nodes. A streaming port streams to exactly one address; the second edge is a validation error.

Inputs

Outputs

PortWirePayloadNotes
OutputoutputExtensionlink_extension
StreamstreamStreamingstreaming

Configuration

FieldTypeDefaultDescription
Explicit Extra stream portexpose_extra_stream_portbooleanfalse

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.