Nodes/ComfyUI_Monarch_Attention/Disable MonarchAttention
ComfyUI Node

Disable MonarchAttention

Disable MonarchAttention and get your old attention back

By xmarre·Created 6 months ago·Updated 6 months ago· 3
Disable MonarchAttention
  • model
  • model
  • status

What it is

One input, two outputs, one job: undo the Enable node. You drop Disable MonarchAttention onto a model line after a failed or finished experiment, and it removes the attention override from that branch. That's the entire node, and it's useful precisely because it's so boring.

Why you need it at all

MonarchAttention is an approximation of attention, not the real thing. If you test it and don't like what it does to your output - or a generation errors out halfway - you want a clean way back to ComfyUI's normal attention. More importantly, you want back to whatever was there before you touched it.

Here's the detail that makes this node worth having: the Enable node chains an existing override (SageAttention, FlashAttention, whatever was already in optimized_attention_override) as its fallback. Disable is what unwinds that chain. It pops the Monarch override off the model's transformer_options and restores the previous override in its place. If there was nothing before, it removes the override entirely and you're back to stock ComfyUI attention.

A few behaviors worth knowing:

  • It only touches an override it tagged as its own. If some other node installed a SageAttention override on that branch, Disable won't nuke it - that's deliberate.
  • If no Monarch override is present, it's a no-op: it cleans up its own stale keys and reports no monarch override present (no-op) in the status string.
  • You can get the same result from the Enable node by setting its enable input to false, which is handy for toggling without rewiring your graph.

How to use it

Wire your MODEL into it like you would any patch node:

  • model - the model branch you want to strip the Monarch override from.
  • status (output, STRING) - disabled (model override removed), or the no-op message if there was nothing to remove.

The model output goes wherever the model was headed - into your sampler. Nothing else to configure, which is the nicest thing about this node. It can't be misconfigured because it has no settings.

Install and notes

Same pack as Enable: ComfyUI Manager (search "ComfyUI_Monarch_Attention") or git clone https://github.com/xmarre/ComfyUI_Monarch_Attention into ComfyUI/custom_nodes/, then restart. It has no dependencies of its own.

One honest edge case that actually helps you: the vendored MonarchAttention library that Enable needs isn't shipped in the pack (you have to place it in third_party/ yourself), but Disable doesn't import that library at all - removing an override is just dictionary surgery on the model options. So if your Enable node ever blows up mid-test, Disable still works as your escape hatch. That's the whole point of it, really: an experiment you can always back out of.

Categoryattention/monarch

Inputs (1)

NameTypeDefaultDescription
modelMODEL

Outputs (2)

NameTypeDescription
modelMODEL
statusSTRING