Nodes/Allma Nodes/Allma Muter
ComfyUI Node

Allma Muter

Ctrl+M as a node, up to ten branches at once

By OliveiraNickolas·Created about a month ago·Updated 7 days ago· 1
Allma Muter
  • values
  • fallback
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
◄enabledtrue►
◄solonone►
◄on_1true►
◄on_2true►
◄on_3true►
◄on_4true►
◄on_5true►
◄on_6true►
◄on_7true►
◄on_8true►
◄on_9true►
◄on_10true►
◄on_11true►
◄on_12true►
◄on_13true►
◄on_14true►
◄on_15true►
◄on_16true►
◄on_17true►
◄on_18true►
◄on_19true►
◄on_20true►
◄on_21true►
◄on_22true►
◄on_23true►
◄on_24true►
◄on_25true►

Every ComfyUI user learns the two keyboard shortcuts within a week: Ctrl+M mutes a node, Ctrl+B bypasses it. But muting by hand means reaching for the node, one at a time, in a graph that's already too big to navigate. Allma Muter (false = mute) turns that into a control surface: point it at the branches you want to switch off, flip toggles, and the muting happens for you - ten branches from one node.

What it's really doing

Here's the subtle part, and it's why this node exists at all. Muting edits the graph, and the graph is frozen the moment you queue a run. A boolean changes a value. Nothing built-in bridges the two - ExecutionBlocker kills the entire consuming node rather than skipping one input, ComfySwitchNode demands both branches wired, and no native node produces "nothing" to feed the off branch. Allma Muter's trick: it mutes the branch in the browser, before the graph is submitted, by setting the upstream node's mute state - exactly what Ctrl+M does, but scriptable per branch.

The wiring pattern is what surprises people first: nothing passes through. Wire any output into a slot, a toggle appears for it, and the real wire still runs straight from the source to whatever consumes it. This node only points at the branch it governs, which is why it has no outputs - and why it never executes. With nothing downstream it's pruned before the graph runs, which is exactly right for a control surface.

There's a master enabled switch that sets every branch toggle at once, and each branch keeps its own on_1 … on_10 toggle. One catch on those toggles: a wire into them has to come from a literal boolean - a boolean primitive, or a subgraph input promoted from one. The value is read in the browser, before the graph queues, because a value travelling on a link doesn't exist until the graph is already running. A boolean some node computes can't be known in time, so the last clicked state wins. And muting takes the branch cleanly out: nodes you muted by hand are never woken up again by the muter - only the ones it put to sleep come back.

Muter vs Bypasser

They look identical and differ in one judgment call. Muting removes a node from the graph, so whatever it fed sees an unconnected input - right for a branch that should simply not be there, like a reference image you're leaving out of this run. Allma Bypasser keeps the node in place and passes its input through to its output, so the chain stays whole - right for a stage you're stepping over, like an upscaler in the middle of a pipeline that still has to hand its frames on.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/OliveiraNickolas/AllmaNodes

Restart. No pip install, no backend, no models - pure logic in the Allma/logic category. If you load an old workflow with an Allma Gate node, that's this node's old name; it's been renamed to Muter (more below in the Gate article). The pack is new and untested at scale, but the mechanism is simple enough that the main risk is your own wiring - double-check that the branch you're muting doesn't feed an output node through another path, or the muter will look like it did nothing.

CategoryAllma/logic

Inputs (28)

NameTypeDefaultDescription
enabledBOOLEANtrueMaster switch. Flipping it sets every branch toggle at once; each branch can still be set on its own afterwards.
valuesCOMFY_AUTOGROW_V3—
solooptCOMBOnoneSwitch on one branch and only that one. Flipping any toggle by hand clears it.
on_1optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_2optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_3optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_4optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_5optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_6optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_7optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_8optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_9optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_10optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_11optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_12optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_13optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_14optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_15optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_16optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_17optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_18optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_19optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_20optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_21optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_22optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_23optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_24optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.
on_25optBOOLEANtrueThis branch on its own. A wire here must come from a literal boolean — it is read before the graph runs.

Outputs (26)

NameTypeDescription
fallback*—
1BOOLEANWhether this branch's switch is on.
2BOOLEANWhether this branch's switch is on.
3BOOLEANWhether this branch's switch is on.
4BOOLEANWhether this branch's switch is on.
5BOOLEANWhether this branch's switch is on.
6BOOLEANWhether this branch's switch is on.
7BOOLEANWhether this branch's switch is on.
8BOOLEANWhether this branch's switch is on.
9BOOLEANWhether this branch's switch is on.
10BOOLEANWhether this branch's switch is on.
11BOOLEANWhether this branch's switch is on.
12BOOLEANWhether this branch's switch is on.
13BOOLEANWhether this branch's switch is on.
14BOOLEANWhether this branch's switch is on.
15BOOLEANWhether this branch's switch is on.
16BOOLEANWhether this branch's switch is on.
17BOOLEANWhether this branch's switch is on.
18BOOLEANWhether this branch's switch is on.
19BOOLEANWhether this branch's switch is on.
20BOOLEANWhether this branch's switch is on.
21BOOLEANWhether this branch's switch is on.
22BOOLEANWhether this branch's switch is on.
23BOOLEANWhether this branch's switch is on.
24BOOLEANWhether this branch's switch is on.
25BOOLEANWhether this branch's switch is on.