Nodes/Claude Code ComfyUI Nodes/Claude Output Reader
ComfyUI Node

Claude Output Reader

See what Claude actually wrote before you trust it

By christian-byrne·Created about a year ago·Updated about a year ago· 34
Claude Output Reader
    • file_contents
    • file_list
    • metadata
    output_folder
    file_pattern*
    read_modelist_files
    specific_file
    max_files10

    Claude Output Reader is the pack's verification step: it looks inside a run's output folder and shows you what the agent actually produced. Every Claude Code Execute (or Reddit Scraper) run writes its files into a timestamped folder under claude_code_outputs/, and an agent's own summary of what it did is not the same thing as what it did. This node is how you check before you wire the results anywhere else. It's marked as an output node, so it renders its findings in the UI when the queue finishes - the "so what happened?" of the pack.

    The inputs

    You give it the output_folder (the folder name from a run - the same output_YYYYMMDD_HHMMSS_* string the Execute node returns), plus a file_pattern glob like *.py or README.md, and pick a read_mode:

    • list_files (default) - just names and sizes. Fast way to confirm a run actually produced files, and whether it made five or fifty of them.
    • read_all - dumps the contents of up to max_files (default 10, max 100) matching files.
    • read_specific - reads one named file via specific_file, no pattern guessing.

    Outputs

    Outputs: file_contents (the read text or the listing), file_list (a JSON array of {path, size, type} per file), and metadata (the run's _claude_code_metadata.json as a string - execution time, exit code, model, tool list, and the folder's output path).

    Installing

    Install: ComfyUI Manager, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/christian-byrne/claude-code-comfyui-nodes
    

    and restart. Nothing else - it's pure file reading, no Claude calls, no cost.

    Common issues

    The main thing to get right is the folder name. It's a name, not a full path - the node joins it onto claude_code_outputs/ itself - and it has to match exactly. If you get "Output folder not found," copy it from the Execute node's response or the output_path field in its metadata JSON rather than guessing. Also note the folder names are timestamped per run, so a Reader pointed at an old folder shows the old run; point it at the current one by feeding it the fresh name. That wiring is manual since the reader takes plain text input, but that's the whole point of a verification node: you decide what you're looking at, and you see the actual bytes before the next stage of your pipeline builds on them.

    Categoryclaude_code

    Inputs (5)

    NameTypeDefaultDescription
    output_folderSTRINGThe output folder name from a ClaudeCodeCommand node
    file_patternSTRING*File pattern to read (e.g., '*.py', 'README.md', '*')
    read_modeCOMBOlist_filesMode for reading files
    specific_fileoptSTRINGSpecific file to read (when using read_specific mode)
    max_filesoptINT101–100Maximum number of files to read

    Outputs (3)

    NameTypeDescription
    file_contentsSTRING
    file_listJSON
    metadataSTRING