Nodes & Connections
Add, configure, label, connect, disconnect, and distribute nodes in the active workflow.
On this page13
Nodes are the building blocks of a workflow — tools, scripts, modules, and
primitives. The node, connect, and disconnect commands edit the structure of
your active workflow.
trickest node
| Subcommand | Description |
|---|---|
node ls|list | List nodes in the workflow |
node info|get <name> | Show node details |
node add <name> | Add a node |
node set <name> <args...> | Set node input(s) |
node label|rename <name> <text> | Set a node's label |
node rm|remove <name> | Remove a node |
node graph|dag | ASCII DAG visualization |
node distribute <name> | Flag a node as distributed |
node undistribute <name> | Remove distribution from a node |
node ls
trickest node ls[{"name":"unfurl-2","type":"tool","info":"","upstream":["unfurl-3"],"downstream":["python-script-4"],"distribution":{"state":"none"}}, …]Each node reports its type, upstream/downstream neighbors, and
distribution state.
| Flag | Description |
|---|---|
--type <type> | Filter by tool, script, module, primitive, or output |
--filter <query> | Filter by name |
--fields <fields> | Comma-separated fields to show |
--format <json|table|plain> | Per-command output format |
--include-infrastructure | Include auto-generated distribution infrastructure (hidden by default) |
trickest node ls --type tool
trickest --output table node ls
trickest node ls --include-infrastructure # reveal batch/distribution helpersnode info
trickest node info subfinder| Flag | Description |
|---|---|
--no-source | Omit script source — lighter output when traversing many nodes |
--include-infrastructure | Allow access to auto-generated infra nodes (rejected by default) |
--format <json|table|plain> | Output format |
node add
Add a node of any kind. The flags select what to add:
| Flag | Adds |
|---|---|
--tool <name> | A tool node (fuzzy name match) |
--tool-id <id> | A tool node by exact ID |
--script <lang> | A script node (python, bash, golang, node) |
--module <name> / --module-id <id> | A module node |
--primitive <type> | A primitive (STRING, BOOLEAN, URL, GIT) |
--value <val> | A primitive with auto-inferred type |
Connection & configuration flags:
| Flag | Description |
|---|---|
--from <node:port> | Auto-connect from an existing node |
--to-port <port> | Target input port for --from |
--flow <continue|collect> | Connection semantic when ports are auto-detected (continue = FILE→FILE, collect = FOLDER→FOLDER) |
--input <key=value> | Set input values (repeatable) |
--label <text> | Label the new node |
--code <code> | Initial script source |
trickest node add subfinder --tool subfinder
trickest node add httpx --tool httpx --from subfinder
trickest node add tag --primitive STRING --value "example.com"
trickest node add parse --script python --code 'print("hi")' --from httpxnode set
Set one or more inputs. Two equivalent syntaxes:
trickest node set subfinder domain example.com # <name> <key> <value>
trickest node set subfinder domain=example.com threads=50 # key=value pairsnode label / node rm
trickest node label subfinder "Subdomain discovery"
trickest node rm parse --forcenode graph (alias node dag)
ASCII visualization of the active workflow's DAG:
trickest node graphDistribution
Distribution fans a node out over its input so batches run in parallel. The CLI auto-creates the supporting batch infrastructure (hidden from normal queries).
trickest node distribute resolve --input hosts --max 100
trickest node undistribute resolvenode distribute flag | Description |
|---|---|
--input <name> | Input port to distribute over (default: first FILE/FOLDER input) |
--min <n> / --max <n> | Batch size bounds (batch mode) |
--per-line | Per-line distribution instead of batch |
Connecting nodes
connect and disconnect wire node outputs to node inputs. Node references use the
node or node:port format.
trickest connect
trickest connect subfinder httpx # auto-detect ports
trickest connect subfinder:output httpx:input # explicit ports
trickest connect add subfinder httpx # 'add' is an explicit alias| Flag | Description |
|---|---|
--flow <continue|collect> | Semantic when ports are auto-detected (explicit ports override) |
--format <json|table|plain> | Output format |
trickest disconnect (or connect rm)
trickest disconnect subfinder httpx
trickest disconnect subfinder httpx --all # remove all edges between them
trickest connect rm subfinder httpx # equivalent| Flag | Description |
|---|---|
--all | Disconnect all connections between the two nodes |
Recipe: a linear pipeline
trickest workflow use "Recon"
trickest node add domain --primitive STRING --value "example.com"
trickest node add subfinder --tool subfinder --from domain
trickest node add httpx --tool httpx --from subfinder
trickest node add nuclei --tool nuclei --from httpx
trickest graph validate
trickest save