BV Detailer While Start (internal)
The while-loop gate every BV detailer iteration walks through
- initial_value0
- flow
- loop_state
You're never going to add this node to a canvas, and that's the point. BV Detailer While Start (internal) is one of the hidden machinery nodes the BV Detailer Loop creates for you during graph expansion. Its category is literally __hidden__. When you see it appear in a running workflow, it means the loop is working, not that something is broken.
What it does is simple and mechanical: it's the gate that opens the loop body. If the condition is true, the loop state passes through and the body executes. If the condition is false, it emits an ExecutionBlocker - ComfyUI's built-in way of saying "this branch produces nothing this run" - and the loop body is skipped entirely.
How it works
Look at what it actually holds:
condition(BOOLEAN, defaulttrue) - whether to run the loop body.initial_value0(optional, type*) - the loop state being threaded through. The*type is ComfyUI's wildcard: it accepts anything, because a loop carrier shouldn't care what it's carrying.
The node's behavior is basically two lines: if the condition is true, pass initial_value0 through as loop_state; otherwise return an ExecutionBlocker(None). Everything else about it - the fact that the BV Detailer Loop Start node expands it into existence with condition=True and the freshly-built loop state - happens under the hood.
Its two outputs, flow (a stub control wire) and loop_state, are what the rest of the loop consumes. The flow output is how the internal While End knows where the loop body closes.
Why you never place it
The BV pack's README is explicit: the recursive control nodes marked (internal) are implementation details created by ComfyUI during graph expansion and "should not be placed manually." They're the price of getting a real while loop in a graph system that doesn't natively loop - the same recursive-graph-expansion trick several other packs use to fake iteration with GraphBuilder and re-expanded subgraphs.
So the practical guidance is short: ignore this node entirely. If you're debugging a loop and it shows up in your graph, that's confirmation the expansion fired. If you want to see the loop's state, don't touch the internal nodes - read the public BV Detailer Loop Start's loop_state output instead.
If you somehow find yourself here
The only realistic reason a beginner lands on this page is curiosity after watching a run: a while-start node appears, does a thing, and vanishes. That's the machinery, not a bug. Install BV Node Pack, wire the six public loop nodes, and let the internals do their job unbothered:
cd ComfyUI/custom_nodes
git clone https://github.com/BlackVortexAI/bv_nodepack.git
Restart ComfyUI and hard-refresh with Ctrl+F5. That's the entire interaction this node deserves.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| condition | BOOLEAN | true | — |
| initial_value0opt | * | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| flow | FLOW_CONTROL | — |
| loop_state | * | — |