All nodes/AI/Stream Observers
Catch Tool Call
Intercepts the agent's tool calls in real time 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.
Type in the graph: catch_tool_call
Try it
Minimal working workflow
- Execute + Data
- Extension
- LLM
- Memory
- Execute + Data + Streaming
Runs as pasted
When to use it
Catch Tool Call shows what the AI Agent is busy with right now: which tool it called and with which arguments. In the chat these are blocks in the Extra panel — one per call, with the tool’s name in the header. Its neighbours tap the other channels of the same agent: Catch Output takes the answer text, Catch Thinking the model’s reasoning.
How it works
The node is not a step in the graph: it has neither an execution input nor a data output. Wire its Output port into the agent’s Extensions port.
Every call opens a block and prints a preview line of the arguments. Tools that can report their progress — Web Search, Fetch Webpage, Web Search (OpenRouter), Chat History Tool, Generate Image, Text → Speech — append their phases into the same block; each of those nodes carries its own switch for streaming progress into Catch. A tool’s result is not streamed: you see the call and the progress, not the answer.
The “Include” and “Exclude” lists are matched against the name the model knows the tool by
(websearch, fetch_webpage, agent_memory_set), not the node’s label on the canvas. For a
subagent and for the WF tool you set that name yourself in the “Tool
name” field. A non-empty “Include” list means “only these”.
Some nodes adjust their own appearance in the stream: Agent Plan
hides its internal agent_todo_* calls by default, and
Agent Memory prints a short line instead of raw JSON. Both
switches live on those nodes, not here.
Common mistakes
- Putting a node type or label into a filter. Nothing will match, so the list either filters nothing out or — in “Include” — hides everything.
- Adding
websearchandfetch_webpageto “Progress streaming tools”. They are in that set by default; the field is there for the other tools. - Turning on “Explicit Extra stream port” and drawing no edge. The switch disables the built-in stream into the Extra panel — with no edge to an ExtraSection nothing is shown.
Inputs
—
Outputs
| Port | Wire | Payload | Notes |
|---|---|---|---|
Outputoutput | Extensionlink_extension | — | |
Streamstream | Streamingstreaming | — |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
Exclude tool namesexclude_tool_names | array<string> | [] | Never stream tool calls whose name is in this list |
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. |
Include tool namesinclude_tool_names | array<string> | [] | If non-empty, only stream tool calls whose name is in this list |
Progress streaming toolsstream_progress_tools | array<string> | [] | Tool names that emit multi-line progress during execution (defaults include websearch and fetch_webpage) |
Use formatted previewuse_formatted_stream | boolean | true | Format non-progress tool previews via registry; off uses raw name: args |