ComfyUI only re-executes nodes whose inputs have changed since the last run
The execution engine caches every node’s output keyed by its input signature. When a prompt is queued, ComfyUI compares each node’s current inputs against the cached signature; nodes whose inputs are unchanged return their cached outputs immediately. Only the changed node and its dependents run. This means changing the seed only re-runs the KSampler and VAEDecode — the expensive model load and CLIP encode are skipped. Submitting the same graph twice executes nothing on the second run. The IS_CHANGED / fingerprint_inputs hook lets custom nodes declare that their output depends on external state (random, time) that the signature comparison cannot detect.
Examples
Change only the CFG value → only KSampler and downstream nodes re-execute. Change the checkpoint → everything downstream of the loader re-runs.
Assessment
A user reports their workflow seems instant on second submit. Explain why, and describe one case where this caching would produce stale results without IS_CHANGED.