# Why are the nodes red and the model lists empty in a ComfyUI workflow someone sent me?

> A workflow file carries the graph, not what the graph needs. Red nodes mean a custom node isn't installed here, or the installed version no longer has that node type. An empty model list or 'Value not in list' means the model file isn't in this machine's models folder under that exact name. Each one has its own fix below.

Canonical page: https://renest.ai/answers/red-nodes-empty-models

<p>Most of these are not environment problems. They come from sending a graph without the
things it points at. Copying a workflow JSON never brings the models or custom nodes with
it.</p>

<h2 id="red-nodes">Every custom node is red after I import a workflow</h2>

<p>A red node means ComfyUI has no node type by that name. Either the custom node pack isn't
installed here, or it is installed and failed to load, or the installed version no longer
has that node type.</p>

<ul>
  <li>Open ComfyUI-Manager and use <em>Install Missing Custom Nodes</em>. It looks up the
  missing types and offers the packs that provide them.</li>
  <li>Restart ComfyUI after installing, and check the start-up log. If the pack shows
  <code>(IMPORT FAILED)</code>, the folder is there but the node didn't load; see
  <a href="/answers/nodes-missing-after-move">Custom nodes missing or IMPORT
  FAILED</a>.</li>
  <li>If the pack is installed, loads, and the node is still red, the type was renamed or
  removed in the version you have. The next two sections cover that.</li>
</ul>

<h2 id="frontend-only">Nodes went red with "frontend_only" after an update</h2>

<p>This is a version mismatch, not a lost file. Some node packs define part of their nodes
in the browser-side code. Set/Get nodes are a commonly reported example. When ComfyUI's
frontend and the node pack are updated out of step, old workflows can show those nodes red
with a <code>frontend_only</code> message while the pack's files are still on disk.</p>

<p>What to do: update ComfyUI and the node pack together, then reload the browser tab. If
that doesn't fix it, go back to the versions that last worked together, and check the pack's
issue tracker for the exact message. Reinstalling the same version won't help.</p>

<h2 id="old-commit">The workflow records an old version of the node pack</h2>

<p>Workflows saved by recent ComfyUI versions record, in each node's properties, which node
pack and which version or commit made it. If the latest version of that pack changed its
nodes, you can match the old one instead. Check out the recorded commit inside the pack's
folder and reinstall its requirements:</p>

<pre>$ git -C custom_nodes/&lt;pack&gt; checkout &lt;commit&gt;
$ /path/to/venv/bin/python -m pip install -r custom_nodes/&lt;pack&gt;/requirements.txt</pre>

<p>ComfyUI-Manager can also switch a pack to another version. Either way, the whole install
moves to that version, so other workflows that need the newer pack may break. The other way
is to edit the workflow onto the new nodes.</p>

<h2 id="api-blank">An API-format workflow opens to a blank canvas</h2>

<p>That is expected. A workflow exported with <em>Export (API)</em> stores only the nodes
and their inputs, with no layout. When node types are missing, ComfyUI often can't draw it at
all, so there are no red nodes for ComfyUI-Manager to find. Ask for the normal workflow file,
the one saved with <em>Save</em> or <em>Export</em>, install what's missing from that, then
use the API file.</p>

<h2 id="value-not-in-list">"Value not in list", or the model dropdown is empty</h2>

<p>This means the workflow names a model file that this machine doesn't have under that
exact name. The dropdown lists only the files ComfyUI finds in this machine's model folders.
A name from someone else's machine doesn't bring the file with it. The error looks like
<code>Value not in list: ckpt_name: '…' not in [...]</code>.</p>

<ul>
  <li>Put the file in the matching folder, for example <code>models/checkpoints</code> or
  <code>models/loras</code>, then refresh the node list or restart ComfyUI.</li>
  <li>Check subfolders. A name like <code>SDXL\model.safetensors</code> includes the
  subfolder it sat in on the other machine. A name saved on Windows uses a backslash and
  won't match the same file on Linux, so pick it again in the dropdown.</li>
  <li>If the file is in a folder ComfyUI doesn't scan, add that folder in
  <code>extra_model_paths.yaml</code>.</li>
</ul>

<h2 id="renamed">I renamed a model file and the workflow can't find it</h2>

<p>ComfyUI matches models by file name only, so a renamed file is a different file to it.
Pick the file again in each loader's dropdown and save the workflow, or rename the file
back. Some community nodes record a model's hash in the workflow and search for it on disk;
that is their feature, not ComfyUI's.</p>

<h2 id="png-no-workflow">I dragged in a PNG and ComfyUI says it has no workflow</h2>

<p>ComfyUI stores the workflow inside the PNG's metadata, and many apps strip it. Chat apps,
some cloud drives, image compressors and converting to JPEG or WebP all remove it. The image
is fine; the workflow is gone. It has nothing to do with installed models. Ask for the
original PNG file, sent as a file, or for the workflow JSON.</p>

<h2 id="renest">Where Renest comes in, and where it has nothing to do with it</h2>

<p>Renest works on a whole setup that already ran, not on a workflow file. A nest is packed
from the machine where the workflow produced output. It carries the custom node source at
the commit that ran, the exact Python package versions, and the model files themselves under
the names and folders they had. Every file is checked against its checksum when it comes
back. Restored together, the graph and the things it points at arrive as one piece. To give
someone a setup that way, see <a href="/answers/hand-a-working-setup">Give a working
setup to someone</a>.</p>

<p>What it doesn't do:</p>

<ul>
  <li>It doesn't fix a workflow JSON on its own. With only the JSON, none of the fixes on
  this page involve Renest.</li>
  <li>It doesn't rewrite an old graph onto newer nodes, and doesn't upgrade node packs. If
  you update after a restore, an update can break things the same way it did before.</li>
  <li>It doesn't match renamed or moved model files. It checks that each file is the file
  that was packed, and puts it back under the name it had.</li>
  <li>It doesn't rebuild a workflow from an image whose metadata was stripped.</li>
</ul>

<h2 id="not-renest">When Renest isn't the answer</h2>

<ul>
  <li><strong>You have a workflow file and nothing else.</strong> Install the missing nodes
  and models as above.</li>
  <li><strong>The other person already has the same nodes and models</strong> and only needs
  your graph. Send the JSON.</li>
  <li><strong>The workflow never ran anywhere you can reach.</strong> Renest only carries a
  setup from a run that worked.</li>
</ul>

<p>Related: <a href="/answers/nodes-missing-after-move">Custom nodes missing or IMPORT
FAILED after a move</a> · <a href="/answers/when-you-dont-need-renest">When you don't
need Renest</a></p>
