Auto Notes
The ComfyUI 'node' That Does Nothing — and Why You'd Install It Anyway
Let's get the uncomfortable truth out of the way: AutoNotesNode does literally nothing. Its input schema is empty, it has zero outputs, and its process() method returns an empty dict with a comment admitting it's only there "to provide a presence in the node list." You can drop it into a workflow and queue it and the universe will remain unchanged. That's not a bug - it's the whole design.
The real product here is ComfyUI AutoNotes, a note-taking sidebar extension. The node exists purely so the pack shows up when you search the node list; every ounce of actual functionality lives in the JavaScript frontend and the REST API the Python backend registers. So if you landed on this page because you googled the node name, the honest answer is: you probably don't want the node, you want the pack it ships in.
What it's actually for
The author's own framing is the pitch: you spend a week dialing in sampler settings that work well with a particular checkpoint, then you forget them by Friday. AutoNotes gives you a sidebar where you can keep that knowledge attached to the thing it's about - a checkpoint, a LoRA, a finicky node - and have it pop up exactly when you need it.
The trigger system is what separates it from a sticky-notes app. A note can appear when you select a node type, when a node is selected and one of its attributes matches a value, when a node is present anywhere in the workflow (selected or not), or when the workflow filename contains certain text. So your "myFavoriteModel.safetensors settings" note only shows when that exact checkpoint is loaded in a CheckpointLoaderSimple. Your LoRA tips show whenever you select any LoraLoader. Set the display mode to Automatic and the sidebar filters itself; flip to All to see everything, or pin a note so it always stays visible. There are folders, tags, and Markdown rendering, and you can add a note for the currently selected node from a right-click context menu - which pre-fills the trigger conditions from that node's type and current settings.
How it works
On modern ComfyUI builds the extension registers a proper sidebar tab through app.extensionManager.registerSidebarTab; on older versions it falls back to a floating panel it appends to the page. The Python side exposes REST endpoints (/autonotes/notes, /autonotes/folders) for the frontend to talk to, and notes are stored as plain JSON per user:
ComfyUI/user/<username>/autonotes/
├── notes.json # all note content + trigger conditions
└── folders.json # folder organization
That JSON is the whole persistence layer - no database, no lock-in. Because there are no Python dependencies at all (the pyproject lists an empty dependencies = []), this is one of the rare custom nodes that won't drag you into dependency hell. No models to download, no requirements.txt to fight with, MIT licensed.
Install
Via ComfyUI Manager: search "AutoNotes" and click Install, then restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/jfcantu/ComfyUI-AutoNotes.git
Then restart ComfyUI. That's it - no pip step, no model files.
The gotchas worth knowing
- The node won't wire into anything. It has no sockets. If you expected an output to route into a sampler, that's not this - think of the node as the pack's bookmark.
- If the sidebar doesn't appear, restart after install. On older ComfyUI it's a right-side floating panel rather than a tab.
- Back up your notes. They live in the user directory as JSON, not embedded in your workflow files - if you nuke the install, they're gone.
- It's a young, tiny pack - version 0.0.7, single author, and at the time of writing there's essentially zero community discussion of it anywhere. ComfyUI custom nodes run unsandboxed Python, so it's worth a 30-second skim of the couple hundred lines of
autonotes.pybefore you trust it with anything. What you'll find is a clean, straightforward read.
If your workflow habit is "download someone's graph, generate, never remember the lesson," AutoNotes is a genuinely nice fix - just ignore the node on the palette.
Inputs (0)
No inputs
Outputs (0)
No outputs