ComfyUI Extension: Claude Code ComfyUI Nodes
ComfyUI nodes for integrating Claude Code SDK - enables AI-powered code generation, analysis, and assistance within ComfyUI workflows
Custom Nodes (0)
README
Claude Code ComfyUI Nodes
ComfyUI nodes for integrating Claude Code SDK - enables AI-powered code generation, analysis, and assistance within ComfyUI workflows.
Overview
This node pack provides a stateless, command-based interface to Claude Code within ComfyUI. Unlike traditional chat interfaces, these nodes operate as single-shot commands, making them perfect for automation workflows similar to n8n, Zapier, or Make.
Key Features
- Stateless Command Execution: Each node execution is independent, with explicit memory/context passing
- Folder-Based Output Management: All outputs are organized in timestamped folders
- Context Chaining: Convert previous outputs into memory for subsequent commands
- Argument Substitution: Use variables in commands and memory (e.g.,
${PROJECT_NAME}
) - Tool Control: Fine-grained control over which tools Claude can use
- Command Library: Pre-built commands in dropdown menu for common tasks
- Memory Templates: Reusable context files for consistent workflows
Nodes
1. Claude Code Execute
The main execution node that runs Claude Code commands.
Inputs:
command_source
: Choose between "file" (dropdown) or "text" (custom)command_file
: Dropdown of commands from/commands
foldercommand
: Custom command text (when not using file)model
: Choose between "default", "sonnet" or "opus" modelsmax_turns
: Maximum iterations Claude can take (1-512)memory
: Optional context from Memory Builder nodearguments
: Arguments from Arguments Builder nodetools
: Tool configuration from Tools Config nodeprevious_output
: Output from previous executionmcp_config
: MCP configuration from MCP Manager
Outputs:
output
: CLAUDE_OUTPUT for chainingresponse
: Claude's final response textmetadata
: JSON metadata about the execution
2. Claude Code Reader
Inspect and read files from Claude Code output folders.
Inputs:
output_folder
: Folder name from a ClaudeCodeCommandfile_pattern
: Glob pattern for files (e.g., "*.py")read_mode
: "list_files", "read_all", or "read_specific"specific_file
: File to read in "read_specific" modemax_files
: Maximum files to read
Outputs:
file_contents
: The actual file contentsfile_list
: JSON list of files with metadatametadata
: Execution metadata from the folder
3. Claude Code Context Builder
Convert output folders into memory/context for chaining commands.
Inputs:
output_folder
: Folder to build context fromcontext_mode
: How to build context ("full_content", "file_list", "summary", "custom")base_memory
: Existing memory to append tofile_filter
: File extensions to includecustom_template
: Custom context templatemax_file_size_kb
: Max file size to include
Outputs:
memory
: Formatted memory/context string
4. Claude Memory Builder
Build memory/context from various sources including dropdown selection.
Inputs:
memory_type
: "text", "file", "memory_file", "claude_md", or "combined"memory_file
: Dropdown of files from/memories
foldertext_memory
: Direct text inputfile_path
: Path to any fileclaude_md_content
: CLAUDE.md formatted contentappend_to
: Previous memory to append to
Outputs:
memory
: CLAUDE_MEMORY for chainingmemory_text
: Plain text version
5. Claude Arguments Builder
Build arguments for variable substitution in commands.
Inputs:
arguments
: JSON object with key-value pairsappend_to
: Previous arguments to merge with
Outputs:
arguments
: CLAUDE_ARGUMENTS for chainingarguments_json
: JSON string
6. Claude Tools Config
Configure which tools Claude can use.
Inputs:
preset
: Tool presets (all, read_only, file_ops, code_dev, web, minimal, none)custom_tools
: Additional tools to addremove_tools
: Tools to remove from preset- Various boolean toggles for tool categories
skip_permissions
: Skip permission prompts
Outputs:
tools
: CLAUDE_TOOLS configurationtools_list
: Comma-separated tool listskip_permissions
: Boolean flag
7. Claude MCP Manager
Configure Model Context Protocol servers.
Inputs:
action
: list, enable, disable, or configmcp_name
: Name of MCP servermcp_config
: JSON configurationlist_format
: Output format for listing
Outputs:
mcp_info
: Status informationmcp_config
: MCP_CONFIG for chainingmcp_data
: Raw MCP data
8. Claude Reddit Scraper
Scrape Reddit posts and comments using Playwright MCP.
Inputs:
source_type
: url, subreddit, search, or usersource
: Reddit URL or search termscrape_mode
: comments, posts, both, or metadatamax_items
: Maximum items to scrapesort_by
: Sort order for postsinclude_metadata
: Include detailed metadatamax_comment_depth
: Thread depth to scrape
Outputs:
output
: CLAUDE_OUTPUT for chainingscraped_data
: JSON datasummary
: Text summaryitem_count
: Number of items scraped
Installation
- Ensure you have ComfyUI installed
- Clone this repository into your
ComfyUI/custom_nodes
directory - Choose your setup:
Option A: Claude Code Max Plan (Recommended)
If you have a Claude Code Max Plan subscription:
- Install Claude Code from https://claude.ai/code
- The "Claude Code Command (Max Plan)" node will use your existing subscription
- No API key needed, no per-token costs
Option B: Developer API
If you want to use the Anthropic API directly:
- Install dependencies:
pip install claude-code-sdk aiofiles
- Set your
ANTHROPIC_API_KEY
environment variable - Use the "Claude Code Command (API)" node
- Pay per token based on API usage
- Restart ComfyUI
Usage Examples
Basic Command Execution
- Add a "Claude Code Execute" node
- Set
command_source
to "file" and select a command from dropdown OR set to "text" and enter custom command:Create a Python script that generates fibonacci numbers. Include error handling and type hints.
- Set model to "sonnet" and max_turns to 8
- Execute the workflow
- Check the output folder for generated files
Using Command and Memory Files
- Place command files in
/commands
folder (.md
or.txt
) - Place memory/context files in
/memories
folder - Use dropdowns in Execute and Memory Builder nodes
- Combine with Arguments Builder for dynamic values
Reddit to Video Workflow
- Add "Claude Reddit Scraper" node
- Set source to "programming"
- Set scrape_mode to "comments"
- Connect output to "Claude Code Execute" node
- Select "reddit-video-script-simple.md" from command dropdown
- Execute to generate TikTok/YouTube script
Chaining Commands
- First Execute node generates code
- Connect output to "Claude Code Context Builder"
- Connect memory output to second Execute node
- Second command references and builds upon the first
Using Arguments
Set arguments as JSON:
{
"PROJECT_NAME": "MyAwesomeProject",
"LANGUAGE": "Python"
}
Then use in your command:
Create a ${LANGUAGE} project structure for ${PROJECT_NAME}.
Include README, tests, and proper package structure.
Folder Structure
claude-code-comfyui-nodes/
├── commands/ # Command library (dropdown in Execute node)
│ ├── reddit-video-script-simple.md
│ └── your-custom-command.md
├── memories/ # Memory templates (dropdown in Memory node)
│ ├── reddit-video-context.md
│ └── your-project-context.md
├── claude_code_outputs/ # All execution outputs
│ ├── output_20240615_143022/
│ └── reddit_scrape_20240615/
└── src/ # Node implementations
Output Organization
All outputs are stored in claude_code_outputs/
with timestamped folders:
- Execute node:
output_YYYYMMDD_HHMMSS_[id]
- Reddit scraper:
reddit_scrape_YYYYMMDD_HHMMSS_[id]
- Each folder contains generated files and
_claude_code_metadata.json
Best Practices
- Be Specific: Clear, detailed commands produce better results
- Use Context: Chain commands together for complex workflows
- Manage Tools: Only enable tools that are needed for security
- Check Outputs: Use the Reader node to verify generated content
- Template Commands: Save frequently used commands as text files
License
GNU General Public License v3