How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/comfy-org/comfy-cli --skill comfy-custom-nodes-frontendBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Frontend extension fallback
Two declarations expose a pack's browser-side directory, and both write into one registry keyed by name: module-level WEB_DIRECTORY in the pack's __init__.py, keyed by the pack's directory name, and [tool.comfy].web in pyproject.toml, keyed by project.name. Either is honored only when the directory exists on disk; a wrong relative path is skipped with no error, so "my script never loads" is usually a path. [tool.comfy].web also requires that the runtime can read pyproject.toml and is skipped with only a log warning otherwise, so WEB_DIRECTORY has fewer preconditions.
Declare one. Declaring both resolves by name rather than merging: equal names — the common case — mean WEB_DIRECTORY applies second and silently drops the pyproject.toml entry; differing names serve both prefixes and the second registration of one name raises.
Files are served at /extensions/<name>/…, and the listing the frontend loads enumerates **/*.js only, so build TypeScript or JSX to .js. An extension's name must be unique; registering it twice raises.
Treat frontend state as presentation only. Every non-secret value the Python node reads must live in the persisted widget value, because the browser layer is absent for an API-submitted prompt. Never put credentials in widget values — read secrets from the environment or the runtime's secret mechanism.


