🐞Debug
See exactly what weights your prompt will hit the encoder with
- STRING
Nested weights are the part of prompt syntax nobody can keep straight. ((important)), (word:1.3), [de-emphasis] - you know roughly what they do, but when a prompt has three levels of parens and a bracket inside a paren, the only honest answer to "what is this actually worth?" is "I don't know." ComfyUI will happily encode it without telling you, and its own UI has no way to show you the parsed weights. That's the gap Debug fills.
Debug is ComfyRage's weight inspector: feed it any prompt string and it shows you the exact (token, weight) pairs ComfyUI's CLIP encoder will use - token by token, weight to two decimals, persisted on the node so you can study it after the run.
How it works
This is the interesting part, and it's why the numbers are trustworthy. Debug doesn't approximate or re-implement the parser. It calls comfy.sd1_clip.token_weights - the same function ComfyUI's own SD1/SD2 CLIP text encoder uses to turn raw prompt text into weighted tokens. Feed it (dog, leash, (viewer_holding_leash)) and you get lines like:
0. 'dog, leash, ' (weight: 1.10)
1. 'viewer_holding_leash' (weight: 1.21)
That 1.21 is 1.1 × 1.1 - the nested parens stacking - and [ornate_border] at the end of the same prompt comes out as 0.81, which is 0.9² for the double-bracket de-emphasis. You're seeing the actual arithmetic the encoder will perform, not a model's guess at it. Like its sibling Show, it displays persistently and passes the original string through unchanged, so you can drop it into a chain without disturbing it.
Inputs and outputs
string(STRING, optional) - the prompt to analyze.
Output is a single STRING, the input passed through. The displayed weight breakdown is the payload.
Installing it
It's part of ComfyRage - no pip dependencies, no model downloads, public domain. ComfyUI Manager → search ComfyRage → Install, then restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/rakkarage/ComfyRage
Restart, look under the rage category.
The caveat worth knowing
Debug shows the SD1/SDXL-style CLIP interpretation - because it literally uses ComfyUI's SD1 clip parser. That's exactly right for SD 1.5, SDXL, Illustrious, NoobAI, Pony and anything else on a CLIP encoder. It is not what happens on newer LLM-encoded models like Flux 2 Klein, Z-Image, or Anima, where prompt weighting is disabled and (word:1.4) gets passed through as literal text or discarded. If you're debugging weights for a 2026-era model, Debug is showing you the CLIP-era reading - still educational about the syntax, but not what that encoder will do. For anything on the SDXL lineage, though, this is the closest thing to x-ray vision your prompt will ever get.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| stringopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |