Nodes/ComfyUI Ino Nodes/Ino Terminal Log
ComfyUI Node

Ino Terminal Log

Read the last N lines of ComfyUI's own terminal output, inside the graph

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino Terminal Log
    • log
    enabledtrue
    lines50

    When a workflow fails, the answer lives in the terminal - and for people running ComfyUI as a service or over a remote box, the terminal might as well be on another planet. Ino Terminal Log brings that output into the graph: it captures the last N lines of ComfyUI's stdout/stderr and returns them as a string. The description: "Captures and returns the last N lines from the terminal stdout."

    It's a debugging node with a genuinely useful superpower: you can inspect what ComfyUI logged as part of the same run, wire the log into a save-text node for a persistent error trail, or even feed it into an LLM node for auto-diagnosis. That last one is a workflow people actually build.

    How it works

    The pack installs a stream interceptor when it loads: a small wrapper around Python's stdout and stderr that copies every line into a bounded ring buffer (capped at 10,000 lines, so it can't grow forever). When this node executes, it pulls the last lines entries from that buffer and joins them into a single string. The interceptor is installed once at import, so the captured text includes output from any node in the pack and ComfyUI's own logging - not just what this node printed.

    Inputs and outputs

    • enabled - pack-wide toggle; off returns an empty string.
    • lines - how many trailing lines to return, default 50, up to 10,000.

    Output: log - the captured text as one STRING.

    Where it wires in

    Debugging first: run a failing workflow, tap this node in with a small lines value, and read the real error message on the canvas instead of hunting a terminal. Second, persistence: pipe log into a save-text node and every run writes its own log file. Third, automation: if you're already calling LLM nodes, feed it the log and let the model explain the crash. Because it's an output node (is_output_node true), it sits at the end of a branch.

    Installing it

    Part of ComfyUI-InoNodes. ComfyUI Manager → search "ComfyUI Ino Nodes" → install → restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/nobandegani/ComfyUI-InoNodes
    cd comfyui_ino_nodes
    pip install -r requirements.txt
    

    Restart after. No keys, no models.

    Common issues

    Two honest limits. First, it only sees output from the point the pack was imported onward - the interceptor installs at load time, so anything logged before ComfyUI loaded the pack isn't in the buffer. If you're chasing a startup crash, this node won't help; check the real terminal for that. Second, ordering is best-effort: the ring buffer holds what was written, but interleaved stdout/stderr from concurrent async nodes can be jumbled. For the common "what did it say right before it died" question, set lines modestly (50 is a good start) and read the tail - that's where the failure message lives.

    CategoryInoExtraNodes

    Inputs (2)

    NameTypeDefaultDescription
    enabledBOOLEANtrue
    linesINT501–10000

    Outputs (1)

    NameTypeDescription
    logSTRING