Champdev File Manager
A file manager inside a ComfyUI node — handy, and genuinely dangerous
Champdev File Manager puts a real file manager inside a node's body. Browse any folder on the machine running ComfyUI, preview images (click for fullscreen), play video and audio, filter and sort, and do the whole operation set: upload by button or drag-and-drop, download, rename, move, copy, new folder, delete with confirmation, and file properties. If you manage a ComfyUI box and keep hopping out to a terminal or a mounted drive to check your outputs, move LoRAs around, or drag in a new checkpoint, this node is "the machine, in the browser."
It reads like a pack the author built for his own fleet of ComfyUI machines - the source says as much - and this is the ops side of that: one less window, one less SSH session, everything reachable from the graph.
How it works
Here's the thing that trips people up: the node itself does nothing. No data flows through it. Its two inputs are just configuration, and the actual work happens on the ComfyUI server. The pack registers HTTP routes - /champdev/fm/list, /file, /thumbnail, /properties, /delete, /rename, /mkdir, /move, /upload - and a vanilla-JS widget renders the UI in the node body, talking to those routes over ComfyUI's API. That's also why large folders don't freeze your graph: rows and thumbnails lazy-load about 20 at a time as you scroll, and the list scrolls inside the node instead of stretching it.
The inputs
Just two, both worth knowing:
start_path- the folder the manager opens at. Defaults to ComfyUI's output directory. Type any path into the bar and hit Enter to jump anywhere the server user can reach.show_hidden- toggle dotfiles on and off.
No outputs. You place the node, it's a tool, not part of the data flow.
The security warning is the feature
Read this twice: this node can read, rename, move, and delete files anywhere the ComfyUI process can access. The README says it in bold, and the author means it. It is for local, single-user use only. Do not run it on a ComfyUI instance exposed to a network - --listen, a reverse proxy, a shared host. Anyone who can reach your UI gets a file browser on your machine.
That warning isn't boilerplate. ComfyUI's API is unauthenticated by default, and the ecosystem already has a federal prosecution on the books from a node that shipped through the same install channel - the LLMVISION malware in 2024. A file manager with delete rights is exactly the thing you don't leave within reach of the internet. Local-only, and you're fine.
One more transparency note: the pack phones home once per ComfyUI startup - a telemetry ping with device info and the bind port to the author's server. Harmless-ish, but if you don't want it, set CHAMPDEV_TELEMETRY=0 in the environment before launching.
Install
ComfyUI Manager, search Champdev Custom Nodes - or:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/rohit267/champdev-comfyui-nodes
cd champdev-comfyui-nodes
python -m pip install -r requirements.txt
Restart ComfyUI. No models, no heavy dependencies - on Linux/macOS there's literally nothing extra to install; Windows only pulls pywinpty for the pack's terminal node. Watch the README's clone URL, which drops a letter (chamdev vs champdev) and will 404.
Notes from the trenches
start_pathmust exist, or you get an error listing instead of a folder view.- Symlinks are handled thoughtfully: destructive operations act on the symlink itself, not whatever it points to. Nice touch.
- Thumbnails get cached in ComfyUI's temp dir, keyed to file mtime, so previews don't regenerate on every visit.
Is it for everyone? No - a drag-and-drop host folder or a file server covers a lot of people. But if you live in ComfyUI and manage the box behind it, this is one of those "why didn't I have this yesterday" nodes.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| start_path | STRING | /tmp/ComfyUI/output | — |
| show_hidden | BOOLEAN | false | — |
Outputs (0)
No outputs