Answers
How do I move my whole ComfyUI install, with custom nodes, models and environment, to a new machine or a different cloud?
Copying the folder works only when the new machine closely matches the old one: same operating system, same Python layout, same GPU generation. For anything else, such as a different cloud, a newer GPU or a fresh Linux pod, the dependable way is to bring the files back and reinstall the exact dependency versions on the new machine. A Renest restore does that, checking every file and then running your workflow once.
What folders should I move from my old ComfyUI to the new one?
Inside the ComfyUI folder, the parts that are yours are:
models: checkpoints, LoRAs, VAEs, and so on, plus any folders listed inextra_model_paths.yamlif you keep models elsewhere;custom_nodes: each node's code;user: your saved workflows and settings;input, if your workflows load images from it, andoutput, if you want your results.
Those are files, and copying them is the easy part. What doesn't move by copying is the environment that makes them run: the Python packages each custom node installed, at the versions that worked, and the system libraries those packages load. That's the part that breaks on a different machine.
Can I just copy the whole folder to the new machine?
Yes, when the two machines are nearly the same. The ComfyUI Windows Portable folder carries its own Python, and copying it to another Windows PC with the same GPU generation is what the community does; it works. Between Linux cloud machines on the same image and GPU type, copying the folder with its virtual environment often works too.
It breaks when something underneath changes. A virtual environment refers to the Python
it was built with by path. The PyTorch inside it was built for a particular CUDA version and
range of GPU generations, so a newer GPU can fail with
no kernel image is available for execution on the device, and an older driver
can fail with The NVIDIA driver on your system is too old; see
errors after changing GPU. And system
libraries aren't in the folder at all.
I reinstalled ComfyUI and put my models and custom nodes back. Why are nodes still missing?
Because the folders came back but their Python packages didn't. A fresh ComfyUI has none
of the packages your custom nodes installed. Look in the startup log for
IMPORT FAILED next to each node; the lines after it say whether a Python package
or a system library is missing. Installing each node's requirements.txt brings
back the newest versions, not necessarily the ones you had working. See
nodes missing or import failed.
I'm switching from RunPod to another cloud. Can my environment come with me?
Not by moving the pod or its volume: those stay with the provider. You need a copy that lives outside the provider. With Renest, that is a nest in your Renest drive, packed from a run that worked and restored on the new provider with one command. The RunPod and vast.ai guides cover renting and preparing a machine on each.
How do I move it with Renest?
On the machine where the workflow works, install the tool and an access key, export the
workflow in API format (Export (API) in ComfyUI), and pack from the folder that
holds ComfyUI/:
$ renest pack --dir /workspace --workflow workflow-api.json \ --out /workspace/nests --dest hosted
The nest holds the model weights, the custom nodes' source pinned to their commits, the workflow, a lock of the exact Python package versions, and which system libraries the run loaded; every file gets a recorded checksum. If the lock can't be reinstalled elsewhere (for example, packages from conda), the pack warns you and marks the nest as not restorable elsewhere, while you still have the working machine to fix it on.
On the new machine, install the tool, open the nest in the web console, choose
Restore, and paste the command it gives you. It writes the restore code to
grant.json and runs:
$ renest restore --grant grant.json --dir ./run $ renest start --dir ./run --listen 0.0.0.0
The restore checks the machine first, downloads every file and checks it against its checksum, installs the locked dependency versions for this machine, starts ComfyUI and runs your workflow once, then reports which steps passed. Models still have to download, so a large nest takes as long as its size does. If the connection drops, run the same command again; files already on disk that match are kept. What to do next is in After the restore.
Files coming back checked and ComfyUI working are counted separately. Our own results, failures included, are on the Proof page. The same seed on a different GPU, or even a different host, may not produce the identical image; see Same GPU, two images.
What does the new machine need?
A Linux machine with an NVIDIA GPU, and enough disk for the nest. The restore's first step refuses, before downloading, a GPU generation the nest's PyTorch build has no code for, a driver too old for its CUDA build, and a CPU without avx2. It names any system library the original run loaded that the machine lacks, with the command to install it, and carries on. It also checks, before the model files download, that the dependency lock can be installed here. Renest doesn't swap PyTorch versions to suit a new GPU: to use a newer generation, get the setup working there once and pack again.
Want to see the path before packing your own? Take a starter nest.
When Renest isn't the answer
- Windows to Windows, or a desktop install: copy the Portable folder. Renest restores onto Linux machines with an NVIDIA GPU; there is no desktop app yet.
- Moving ComfyUI to another drive on the same PC: move the folder, or point
extra_model_paths.yamlat the new location for models. - Same image, same GPU type, same provider: copying the folder, or keeping it on a volume, is simpler.
- A setup that has never worked: Renest only carries a run that already produced output.
More cases are on When you don't need Renest.
These docs describe renest 0.1.15, the latest release.