Nodes/Nifty Nodes for ComfyUI/Bypass Switch By Title
ComfyUI Node

Bypass Switch By Title

A dropdown that swaps between workflow configurations

By Stibo·Created 5 months ago·Updated 2 months ago· 9
Bypass Switch By Title
    • bypass
    • index
    bypassoption 1
    label1option 1
    nodes1
    label2option 2
    nodes2
    label3option 3
    nodes3
    label4option 4
    nodes4
    label5option 5
    nodes5
    label6option 6
    nodes6
    label7option 7
    nodes7
    label8option 8
    nodes8
    label9option 9
    nodes9
    label10option 10
    nodes10
    label11option 11
    nodes11
    label12option 12
    nodes12
    label13option 13
    nodes13
    label14option 14
    nodes14
    label15option 15
    nodes15
    label16option 16
    nodes16
    count1
    search_from_roottrue
    enforcetrue
    selected1

    Bypass By Title gives you an on/off for a set of nodes. Bypass Switch By Title is the multi-position version: a dropdown where each option is its own configuration, and picking one bypasses every other option's nodes. If you've ever wanted to switch a workflow between "fast draft," "full quality," and "video pass" from a single dropdown without deleting anything, this is the node.

    How it works

    The concept is inverted from what you might expect, so read this twice. Each option has a label (what appears in the dropdown) and a nodes list - and the nodes list contains the titles to bypass when that option is NOT active. The active option is the one whose nodes stay live; everything else gets bypassed. That's how a single dropdown cleanly enforces "exactly one configuration at a time."

    Up to 16 options, each with its own labelN and nodesN inputs. The controls:

    • bypass - the combo dropdown showing the active option.
    • count - how many options to show (1–16). You don't have to fill all 16.
    • selected - the 1-based index of the active option, updated automatically when you change the dropdown. Handy if you want to read or drive the selection numerically.
    • search_from_root / enforce - same semantics as Bypass By Title: search the root graph from inside subgraphs, and actively prevent other nodes from overriding the state.

    Title matching is case-insensitive and supports partial titles, so detailer matches a node titled "face detailer v2". It outputs bypass as a string (the active option's label) and index as an int.

    Why you'd reach for it

    The workflow that has three modes - draft, standard, upscale - each wiring different samplers, detailers, and post-processing. Instead of a pile of switches and a table of what's on when, this is one dropdown that defines the modes in place: each option's nodes list is the stuff to turn off when you're in another mode. It's a group-muter with presets, and it reads far better than a boolean per stage.

    Install

    Part of Nifty Nodes for ComfyUI. Manager: search "Nifty Nodes for ComfyUI" → Install → restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Stibo/comfyui-nifty-nodes
    

    Restart ComfyUI. No models, no special dependencies. Like the rest of Utils, it's experimental, and the pack is young (v2.1.0, mid-2026) - update before loading workflows that use it.

    Gotchas

    The inverted bypass semantics will bite you exactly once. It's natural to write the nodes you want active into an option - wrong; you write the nodes to disable. Double-check by toggling the dropdown and watching which sections grey out. Second, partial title matching is powerful and dangerous - a short title like img matches everything containing it. And remember bypass passes inputs through: bypassed nodes don't disappear, downstream nodes still run on passthrough values.

    Categorynifty/utils

    Inputs (37)

    NameTypeDefaultDescription
    bypassCOMBOoption 1The currently active option. All other options' nodes will be bypassed.
    label1STRINGoption 1Display label for option 1.
    nodes1STRINGNode titles to bypass when option 1 is NOT active, one per line.
    label2STRINGoption 2Display label for option 2.
    nodes2STRINGNode titles to bypass when option 2 is NOT active, one per line.
    label3STRINGoption 3Display label for option 3.
    nodes3STRINGNode titles to bypass when option 3 is NOT active, one per line.
    label4STRINGoption 4Display label for option 4.
    nodes4STRINGNode titles to bypass when option 4 is NOT active, one per line.
    label5STRINGoption 5Display label for option 5.
    nodes5STRINGNode titles to bypass when option 5 is NOT active, one per line.
    label6STRINGoption 6Display label for option 6.
    nodes6STRINGNode titles to bypass when option 6 is NOT active, one per line.
    label7STRINGoption 7Display label for option 7.
    nodes7STRINGNode titles to bypass when option 7 is NOT active, one per line.
    label8STRINGoption 8Display label for option 8.
    nodes8STRINGNode titles to bypass when option 8 is NOT active, one per line.
    label9STRINGoption 9Display label for option 9.
    nodes9STRINGNode titles to bypass when option 9 is NOT active, one per line.
    label10STRINGoption 10Display label for option 10.
    nodes10STRINGNode titles to bypass when option 10 is NOT active, one per line.
    label11STRINGoption 11Display label for option 11.
    nodes11STRINGNode titles to bypass when option 11 is NOT active, one per line.
    label12STRINGoption 12Display label for option 12.
    nodes12STRINGNode titles to bypass when option 12 is NOT active, one per line.
    label13STRINGoption 13Display label for option 13.
    nodes13STRINGNode titles to bypass when option 13 is NOT active, one per line.
    label14STRINGoption 14Display label for option 14.
    nodes14STRINGNode titles to bypass when option 14 is NOT active, one per line.
    label15STRINGoption 15Display label for option 15.
    nodes15STRINGNode titles to bypass when option 15 is NOT active, one per line.
    label16STRINGoption 16Display label for option 16.
    nodes16STRINGNode titles to bypass when option 16 is NOT active, one per line.
    countINT11–16Number of options to show (1–16).
    search_from_rootBOOLEANtrueWhen True, searches for nodes in the root graph even when used inside a subgraph.
    enforceBOOLEANtrueWhen True, the bypass state is actively enforced and cannot be overridden by other nodes.
    selectedINT11–16Index of the currently active option (1-based). Updated automatically when bypass combo changes.

    Outputs (2)

    NameTypeDescription
    bypassSTRING
    indexINT