Nodes/ComfyCollectorNodes/Property List (CCN)
ComfyUI Node

Property List (CCN)

What did I name, and what is it?

By valkymaera·Created 4 months ago·Updated 10 days ago· 1
Property List (CCN)
  • trigger
  • listing
  • trigger_out
scope

Named variables are great until you forget what you named. Property List (CCN) is the inventory for the Property system: pick a scope - workflow, session, or all - and it lists every stored property name along with a short description of its value's type. You get the listing as a listing STRING output, and the ever-useful trigger_out for chaining.

The value descriptions are the nice touch: instead of just names, it tells you what kind of thing is stored. A tensor shows up as Tensor [4, 512, 512, 3] (float32); a string as a quoted preview; a dict as its first few keys. That turns "what did I store here" into "oh right, mask_cache is a tensor" at a glance.

How to use it

One required input (the scope dropdown), one optional trigger, two outputs. Drop it in, run, read the listing string - or the console, since it prints there too. It always re-executes (the NaN IS_CHANGED idiom) because session properties mutate from other nodes without its own inputs changing.

This is the debug companion to Property Clear: List first to see what exists (and whether a session variable you thought was cleared is still sitting there), then Clear precisely. If you're hunting a "why is this workflow returning None" bug, the listing will show you whether the key exists at all - which immediately tells you whether the problem is a typo, a scope mismatch, or a value that was never set.

Install

Part of ComfyCollectorNodes, one install:

cd ComfyUI/custom_nodes
git clone https://github.com/valkymaera/ComfyCollectorNodes

then restart, or install via ComfyUI Manager ("ComfyCollectorNodes"). No models, no extra deps.

Where people get burned

Scope confusion is the main one - workflow only shows values from the current run, so on a fresh queue run it may look empty even though session values exist; pick session or all if you're hunting for strays. And as with every always-dirty node, it defeats caching downstream, so keep it out of a production path. Otherwise there's not much to get wrong - it's a read-only dashboard.

CategoryCCN/utils

Inputs (2)

NameTypeDefaultDescription
scopeCOMBO3 options: workflow, session, all
triggeropt*

Outputs (2)

NameTypeDescription
listingSTRING
trigger_out*