Stash Server
The connection node every other Stash node is plugged into
- STASH
- version
Stash Server doesn't do anything by itself, which is exactly why it's the first thing in every workflow that uses this pack. It's the connection node for ComfyUI-Stash, a small set of nodes that pull content from Stash - the self-hosted organizer for, in the author's delicate phrasing, "gentlemen's special-interest content." If you already run Stash to keep your library tagged and searchable, these nodes let ComfyUI reach into it instead of you hand-exporting files.
Think of Stash Server as a shared "API key" node. It reads your Stash URL and API key out of ComfyUI's own settings, opens a GraphQL client to your Stash instance, and hands that live connection to every other Stash node through the STASH socket type. There's no secret sauce and no model - the actual work is just: read config, connect, verify.
How it works
On every run the node reads the api_url and api_key values from ComfyUI's settings (they're stored under zyquon.ComfyUI-Stash in your comfy.settings.json, in plaintext, so don't share that file casually). It then builds a Stash GraphQL client and calls Stash's version endpoint to confirm the connection is real. Get the URL or key wrong and you get an explicit failure instead of silent weirdness downstream.
That validation call is worth understanding, because it's also your diagnostic: if the node errors with Failed connection to Stash at <url>, the problem is here, not in whatever node comes after.
Inputs and outputs
None on the input side - this is the rare node with zero inputs. Outputs:
- STASH - an opaque connection handle. Wire it into the
stashinput of Stash Image (and future Stash nodes). There's nothing to inspect; it exists to be connected. - version - a string with the Stash version, e.g.
0.27.1. It's there "useful for confirming things work," per the author. Plug it into a Show Text node once to prove the pipe is live, then forget it.
Installing and the config gotcha
Install is the same as any pack:
cd ComfyUI/custom_nodes && git clone https://github.com/zyquon/ComfyUI-Stash
or just search "Stash" in ComfyUI Manager and install from there. Restart Comfy either way. The pack's dependencies are light - pillow, numpy, requests - so there's no model download and nothing heavy to wait on.
The step everyone trips on is the settings. The node reads nothing from the pack - it reads from your ComfyUI settings:
- Click the gear icon (bottom-left) to open settings, then the Stash section on the left.
- Set API URL - default is
http://localhost:9999/graphql. Keep the/graphqlpath; that's what the client actually talks to. - Paste your API Key from Stash's security page,
http://localhost:9999/settings?tab=securityby default, adjusting the hostname if Stash lives elsewhere.
Forget the key and you'll see You must set the Stash API Key in Comfy settings - the node is loud about it, which is at least a clear error. Also note the API key is a local credential talking to your own Stash, not a cloud service, so the usual "your key is phoning home" worry from API-wrapper nodes doesn't apply; the traffic stays on your network.
Common issues
Failed connection to Stash at ...- Stash isn't running, the host/port is wrong, or the key is invalid. Check the URL first (a common slip is dropping the/graphqlsuffix), then re-copy the key.- Connection works but a downstream Stash node errors - the problem is no longer here. If Stash Server outputs a version string, the pipe is good; debug the querying node, not the connection.
- Settings were entered but the node still complains - confirm you restarted Comfy after saving, and that you edited the Comfy settings, not Stash's own settings page. They're two different gear icons and people mix them up constantly.
Inputs (0)
No inputs
Outputs (2)
| Name | Type | Description |
|---|---|---|
| STASH | STASH | — |
| version | STRING | — |