v1.13.0 — agent-drivable cloud login, run-template, spend gates
First release since v1.12.0 (2026-07-07) — 41 commits.
Features
comfy cloud loginis now agent-drivable. In--jsonmode it emits a machine-readablelogin_urlevent as soon as the authorize URL exists, instead of printing it only in pretty mode. This is what lets an MCP server or agent drive sign-in and hand the URL to a user.comfy run-template— fetch a template, fill its params, spend-gate, and run to completion in one verb.comfy outdated— read-only version check for ComfyUI core and installed node packs against latest.comfy run --prompt/--set— local text2img straight from the bundled default workflow, no graph authoring required.comfy generatespend gate — explicit consent before spending credits.comfy generatenow derives partner model enums from the active OpenAPI spec rather than a pinned list.comfy validateauto-converts UI-format workflows, matchingcomfy run.COMFY_LOCAL_URLis honored for the local ComfyUI address — the:8188hardcode is gone.
Fixes
Transfers / downloads
- Verify
Content-Lengthand download atomically via.partrename. - Sanitize the download extension taken from an untrusted
?filename=param. - Structured envelope on connection errors.
Workflows
- Detect oversize responses in
_http_requestinstead of silently truncating. - Widget-aware dynamic-combo expansion and name-aligned control-marker filtering in
workflow_to_api. validatepresence-checks required inputs, adds a no-outputs check, and hard-errors range violations.
Run / jobs
- Refresh the OAuth session during local partner-credential injection.
- Close the run WebSocket on every exit path of local
--wait. get_job_statusmigrated off the deprecated/api/job/<id>/statusendpoint.
Telemetry / install
- Bound telemetry network I/O so it can't outlive the run envelope.
- Build telemetry providers lazily so
comfy installcan upgradepydantic_core. - Pin
mixpanel<5socomfy installcan't wedgepydantic-coreon Windows.
Misc
comfy generate refreshfalls back to/openapi.yml.- Escape square brackets in Typer help strings so choice lists render.
- Surface GitHub rate limits from
find_pr_by_branch. - Registry pyproject hints emitted as single-line tomlkit comments.
Internal
Nine refactors (dead-code removal, shared helpers for banners/tarballs/download loops, CQL validate extraction, jobs WS dispatch table), CI now installs test deps from uv.lock so upstream releases can't break every PR, and an AGENTS.md contributor onboarding guide.
Full changelog: v1.12.0...v1.13.0