CLIPTextEncode with BREAK syntax
A1111's BREAK keyword, but for ComfyUI
- clip
- CONDITIONING
If you came from Automatic1111, you probably typed BREAK between prompt sections without thinking twice about it. Bring that same prompt into ComfyUI and it does exactly nothing - the word just sits there as four extra characters the encoder has no idea what to do with. ComfyUI never shipped a native BREAK. This node is the fix: it gives you back the exact keyword, wired into ComfyUI's own conditioning pipeline.
Why BREAK exists in the first place
CLIP text encoders process your prompt in fixed 75-token chunks (77 once you count the start/end tokens). Without a hard split, a long prompt can bleed a description meant for one subject into another - "forest" creeping into how the girl standing in it gets rendered, that kind of thing. BREAK forces the encoder to pad out the current chunk and start the next concept fresh in a new one, so each block gets encoded on its own terms before the results are stitched back together. It's a workaround for a tokenizer limit, not magic - but it's a genuinely useful workaround, which is why A1111 users kept asking for it.
How it works
Under the hood this node does exactly what people were already doing by hand in ComfyUI: chain several CLIPTextEncode nodes and wire them through Conditioning (Concat). CLIPTextEncodeWithBreak just automates that. It splits your text on the literal word BREAK, runs each fragment through ComfyUI's normal CLIPTextEncode, and concatenates the resulting conditioning tensors in order - so a prompt with two BREAKs becomes three encode calls chained into one. Standard ComfyUI weighting syntax like (word:1.3) still works inside each fragment, because each fragment is just going through the vanilla encoder.
The inputs and outputs that matter
There are only two required inputs, which is the whole appeal:
text- your prompt, multiline, withBREAKon its own as a plain word wherever you want a hard split.clip- the CLIP model from your checkpoint or CLIP loader, same as any text encode node.
One output: CONDITIONING, which goes straight into your KSampler's positive or negative slot like any other encoded prompt.
How to install it
Easiest path is ComfyUI Manager - search for "comfyui-clip-with-break" and install. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/dfl/comfyui-clip-with-break
Restart ComfyUI. That's it - no requirements.txt, no extra Python packages, no model downloads. It's pure logic sitting on top of the CLIP encoder you already have loaded.
Common issues & troubleshooting
It does nothing useful on Flux, Z-Image, Anima, or anything else encoded by an LLM instead of CLIP. BREAK solves a specific CLIP problem - the 77-token chunk boundary. LLM text encoders don't chunk that way, so there's no boundary to break against; the node will still run without erroring, but you won't see the effect you're after. Save this one for SD 1.5, SDXL, Illustrious, NoobAI, or Pony-style checkpoints, where CLIP is still doing the encoding.
The word has to stand alone. The node splits on BREAK as a whole word (it uses a word-boundary match), so BREAKfast in your prompt won't accidentally trigger a split, but make sure you're not relying on lowercase or punctuation-glued variants - write it as its own token, capitalized, same as you would in A1111.
Want A1111-accurate weight math or normalization across segments? This node just uses ComfyUI's default encoding per fragment. If you're porting a prompt where the exact weighting behavior matters, reach for its sibling, AdvancedCLIPTextEncodeWithBreak, which adds the token-normalization and weight-interpretation options A1111 users actually rely on.
It's a small, quiet pack. This is a one-person port with a handful of commits, not something with a large maintainer team behind it - that's fine for what it does (the logic is simple enough not to need much upkeep), but don't expect frequent updates. If it ever breaks against a future ComfyUI change, the manual fallback is the same thing it automates: chain CLIPTextEncode nodes and Conditioning (Concat) yourself.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| clip | CLIP | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |