AIHub Expose Project Config Boolean
Read a boolean from the project's config file, quietly
- BOOLEAN
AIHub Expose Project Config Boolean is one of the four config readers in this pack, and it's the toggle node. It pulls a true/false value out of the current AIHub project's configuration and hands it to your workflow as a BOOLEAN output. If your workflow has a step that flips on or off - "did the user enable high-quality mode," "is a mask expected," "apply the refiner" - this is how that decision gets made without the client ever showing the user a ComfyUI field.
The "project" part is the whole context here, so it's worth one paragraph. AIHub projects are a way to bundle state - config values and files - around a workflow (or a chain of workflows) that a client manages. A workflow opts in by having an AIHubWorkflowController with a project_type set (and it must not be the project_init workflow, which starts the project). Once a project exists, the client stores things however it likes - the README's canonical shape is a folder with a config.json, but the whole point is the server doesn't dictate that. These config exposes read from that client-side config. Outside a real project, the node just hands back its default.
What you set
- field - which config value to read, using dots for sublevels.
quality.hddigs into a nested{"quality": {"hd": true}};my-fieldgrabs a top-level key. This is the input you'll actually fiddle with. - default - what to return if the field is missing or empty. Defaults to
true, which is worth noting: if you want a missing flag to read as "off," set it tofalse. - id - the protocol field id (alphanumeric,
_,-).
No label, no tooltip, no sort index - the client never displays this, so it doesn't get the display machinery. It's a hidden read, by design.
When you'd use it
The set of Project Config nodes is deliberately separate from the plain exposes: these are for values the client manages on its side of the project, invisible to the user, while regular exposes are user-facing fields. Boolean is the branch node - feed its output into an AIHubAddRunCondition or gate a section of the graph with it.
Install & gotchas
Same pack install: ComfyUI Manager → search ComfyUI-aihub-workflow-exposer, or git clone https://github.com/otavanopisto/ComfyUI-aihub-workflow-exposer into custom_nodes, then restart. No requirements.txt, no model downloads.
The classic gotcha: it reads the project config, not the workflow. Drop it into a workflow without a project_type (or into the init workflow) and there's no project config to read - you'll get the default and it'll look like the node is ignoring you. Also, the dotted field path matches whatever structure the client actually stores; if the client writes {"quality": {"hd": true}} and you ask for quality.hd, you get true. Ask for quality/hd and you get the default.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| id | STRING | boolean | A unique custom id for this workflow. |
| field | STRING | my-field | The field to expose, use dots for entering sublevels |
| default | BOOLEAN | true | The default value of the field |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BOOLEAN | BOOLEAN | — |