This guide teaches you how to debug NodeTool workflows when they don’t work as expected. You’ll learn to inspect intermediate data, read error logs, and systematically isolate problems.
Quick Debugging Checklist
When a workflow isn’t working:
- Check node status colors (gray/yellow/green/red)
- Click on failed (red) nodes to see error messages
- Add Preview nodes after suspicious nodes
- Verify all required inputs are connected
- Check data types match between connections
- Review the console/logs for detailed errors
- Test problem nodes in isolation
Understanding Node Status
Nodes display their execution status through border colors:
| Color | Status | Meaning |
|---|---|---|
| Gray | Not started | Node hasn’t been processed yet |
| Yellow | Running | Node is currently executing |
| Green | Completed | Node finished successfully |
| Red | Failed | Node encountered an error |
| Blue outline | Selected | Node is currently selected |
When a node fails (red), click it to see the error message in the properties panel.
Using Preview Nodes
Preview nodes are your primary debugging tool. They show exactly what data is flowing through your workflow at any point.
Adding Preview Nodes
- Press Space to open the node search
- Type “Preview” and select the Preview node
- Connect the output you want to inspect to the Preview node
- Run the workflow
Preview Node Strategies
After every major transformation:
Input → Process → Preview(1) → Transform → Preview(2) → LLM → Preview(3) → Output
Before and after suspicious nodes:
... → Preview(before) → SuspiciousNode → Preview(after) → ...
At branch points:
→ Preview(A) → ProcessA
Input →
→ Preview(B) → ProcessB
What Preview Shows
Preview nodes display data based on type:
| Data Type | Preview Display |
|---|---|
| Text/String | Full text content, scrollable |
| Image | Rendered image with dimensions |
| Audio | Playable audio widget |
| List | JSON array with items |
| Object/Dict | Formatted JSON |
| Number | Numeric value |
| Boolean | True/False |
Inspecting Workflow JSON
Every NodeTool workflow is stored as JSON. Inspecting this JSON can help debug complex issues.
Exporting Workflow JSON
- Open your workflow in the editor
- Use File → Export or press Ctrl/⌘ + Shift + E
- Save the
.jsonfile - Open in any text editor or JSON viewer
Workflow JSON Structure
{
"id": "workflow_abc123",
"name": "My Workflow",
"description": "...",
"nodes": [
{
"id": "node_1",
"type": "nodetool.input.StringInput",
"data": {
"value": "Hello world"
},
"position": { "x": 100, "y": 100 }
},
{
"id": "node_2",
"type": "nodetool.agents.Agent",
"data": {
"prompt": "...",
"model": { "provider": "openai", "id": "gpt-4" }
},
"position": { "x": 300, "y": 100 }
}
],
"edges": [
{
"id": "edge_1",
"source": "node_1",
"sourceHandle": "output",
"target": "node_2",
"targetHandle": "text"
}
]
}
What to Look For
Missing connections: Check that edges correctly connect outputs to inputs
Incorrect values: Look at data for each node to verify settings
Node types: Ensure type matches expected node (typos happen in programmatic workflows)
Position issues: If nodes overlap or are off-canvas, check position values
Reading Error Logs
Desktop App Logs
Enable debug logging:
- Open Settings → Advanced
- Enable Debug Logging
- Logs appear in the console panel (View → Developer Tools)
Log location:
- Windows:
%USERPROFILE%\.nodetool\logs\ - macOS:
~/Library/Logs/NodeTool/or~/.nodetool/logs/ - Linux:
~/.nodetool/logs/
CLI/Server Logs
When running NodeTool from command line:
# Verbose logging
nodetool serve --verbose
# Or set log level
nodetool serve --log-level debug
Understanding Error Messages
Common error patterns:
Error: Type mismatch - cannot connect 'List[String]' to 'String'
→ Use a node to extract a single item from the list (e.g., GetElement)
Error: Required input 'prompt' is not connected
→ Connect something to the prompt input, or set a default value
Error: Model not found: 'gpt-4'
→ Check API key configuration in Settings → Providers
Error: CUDA out of memory
→ Use a smaller model, reduce batch size, or close other GPU applications
Error: Connection refused on localhost:7777
→ NodeTool server isn’t running, or firewall is blocking
Debugging Specific Issues
LLM Not Responding
- Check model availability
- Open Models → Model Manager
- Verify model is installed (local) or API key is set (cloud)
- Test with Preview
- Add Preview after the Agent/LLM node
- Run and check if any output appears
- Check prompt
- Is the prompt template valid?
- Are all template variables being filled?
- Verify connectivity
- For cloud models: check internet connection
- For local models: check if Ollama/llama.cpp is running
Image Generation Fails
- Check model installation
- Open Model Manager
- Ensure SDXL/Flux/etc. is downloaded
- Verify VRAM
- Check GPU memory with
nvidia-smi - Close other GPU apps if memory is low
- Check GPU memory with
- Inspect parameters
- Valid dimensions? (usually multiples of 8 or 64)
- Reasonable step count? (20-50 typical)
- Valid CFG scale? (5-15 typical)
- Add Preview before generation
- Confirm prompt text is correct
- Check that conditioning inputs are valid
RAG/Search Returns Nothing
- Verify collection exists
- Check that index workflow was run first
- Collection name matches between index and search
- Check embedding model
- Same embedding model for index and search?
- Model available and running?
- Test query
- Try a simpler query
- Increase
top_kto retrieve more documents - Check if documents were chunked appropriately
- Inspect indexed content
- Use Preview to see what was indexed
- Check chunk sizes aren’t too small/large
Workflow Runs Forever
- Check for loops
- While NodeTool prevents circular connections, complex logic can create infinite loops
- Look for conditional nodes that might never exit
- Monitor node status
- Which node is stuck on “running” (yellow)?
- That node is the bottleneck
- Check network calls
- API timeouts can appear as hangs
- Add timeout parameters where available
- Resource constraints
- Is the system running out of memory?
- Is disk full (for large file operations)?
Isolating Problems
Binary Search Debugging
When you have a complex workflow and something’s wrong:
- Disable half the workflow
- Disconnect nodes in the middle
- Run first half only
- Check results
- Working? Problem is in second half
- Broken? Problem is in first half
- Repeat
- Continue halving until you find the problem node
Testing Nodes in Isolation
Create a minimal test workflow:
- New workflow with just the suspicious node
- Add input nodes with known good test data
- Add Preview/Output to see results
- Run and verify
If the node works in isolation, the problem is with the data it receives in the full workflow.
Comparing Working vs Broken
If a workflow used to work:
- Export both versions (working and broken) as JSON
- Diff the files to see what changed
- Focus on changed nodes/edges
diff working_workflow.json broken_workflow.json
Debugging Tools Summary
| Tool | When to Use | How to Access |
|---|---|---|
| Preview nodes | See intermediate data | Space → search “Preview” |
| Node click | See error messages | Click red (failed) nodes |
| Console/DevTools | View detailed logs | View → Developer Tools |
| JSON export | Inspect workflow structure | File → Export |
| –verbose flag | CLI debugging | nodetool serve --verbose |
| Log files | Historical debugging | ~/.nodetool/logs/ |
Common Fixes
| Problem | Solution |
|---|---|
| “Type mismatch” | Add conversion node between incompatible types |
| “Not connected” | Wire up all required inputs |
| “Model not found” | Install model in Model Manager or configure API key |
| “Out of memory” | Use smaller model, reduce batch size, close apps |
| “Timeout” | Check internet, increase timeout setting |
| “Empty output” | Add Preview to find where data is lost |
| “Wrong format” | Use FormatText or conversion nodes |
| “Permission denied” | Check file paths and permissions |
Getting More Help
If you’re still stuck after debugging:
- Export your workflow as JSON
- Take screenshots of error messages
- Note your system info (OS, GPU, RAM, NodeTool version)
- Ask on Discord with these details
- File a GitHub issue for bugs
Related Documentation
- Troubleshooting Guide – Broader troubleshooting for common issues
- Key Concepts – Understanding nodes, edges, and data flow
- Workflow Editor – Using the visual editor effectively
- Cookbook – Working workflow patterns to learn from