Disable MonarchAttention
Disable MonarchAttention and get your old attention back
- 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
enableinput 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| status | STRING | — |