Skip to content

Comfy-Org/ComfyUI-Launcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

263 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ComfyUI-Launcher

Latest Release CI License

An Electron app for managing multiple ComfyUI installations.

Downloads

Windows

Windows x64 Windows ARM64

macOS

macOS Apple Silicon

Linux

Linux AppImage x64 Linux AppImage ARM64 Linux DEB x64 Linux DEB ARM64

Running

Windows

Run the NSIS installer (.exe) and launch from the Start Menu or desktop shortcut.

macOS

Open the .dmg, drag ComfyUI Launcher to Applications, and launch from there.

Linux

.deb (Debian/Ubuntu):

sudo apt install ./ComfyUI-Launcher-*.deb

Then launch from your application menu.

AppImage:

chmod +x ComfyUI-Launcher-*.AppImage
./ComfyUI-Launcher-*.AppImage --no-sandbox

Development

Prerequisites

  • Node.js v22 LTS or later
  • pnpm v10 or later (via Corepack recommended)

We recommend using nvm (or nvm-windows) to manage Node versions:

# Install and use Node 22
nvm install 22
nvm use 22

# Verify
node --version   # should print v22.x.x

# Enable pnpm via Corepack (bundled with Node)
corepack enable
pnpm --version

Stack

Project structure

src/
  main/          # Electron main process (TypeScript)
  preload/       # Preload scripts (context bridge)
  renderer/src/  # Vue 3 renderer
    components/  # Reusable UI components
    composables/ # Vue composables (useModal, useTheme, …)
    stores/      # Pinia stores (session, installation)
    views/       # Top-level views and modal views
    types/       # Renderer-side type re-exports
  types/         # Shared IPC types (single source of truth)
locales/         # i18n translation files
sources/         # Installation source plugins

Setup

git clone https://github.com/Comfy-Org/ComfyUI-Launcher.git
cd ComfyUI-Launcher
pnpm install

Run in development

Windows / macOS:

pnpm run dev

Linux:

./linux-dev.sh

Type checking

pnpm run typecheck          # both main + renderer
pnpm run typecheck:node     # main process only
pnpm run typecheck:web      # renderer only

Linting

pnpm run lint           # check for lint errors
pnpm run lint:fix       # auto-fix lint errors
pnpm run format         # format with Prettier
pnpm run format:check   # check formatting without writing

Testing

pnpm test               # run all unit tests
pnpm run test:watch     # run in watch mode

Build for distribution

# Platform-specific
pnpm run build:win      # Windows (NSIS installer)
pnpm run build:mac      # macOS (DMG)
pnpm run build:linux    # Linux (AppImage, .deb)

Build output is written to the dist/ directory.

Releasing

Pushing a version tag triggers the ToDesktop Build & Release workflow. It runs a ToDesktop cloud build and creates a draft GitHub Release with platform download links.

# Ensure package.json version matches the tag version first
# e.g. package.json "version": "0.2.0"

# Tag the current commit with that same version
git tag v0.1.0

# Push the tag to trigger the release workflow
git push origin v0.1.0

The workflow enforces tag == package.json version. Once the build finishes, go to the Releases page to review and publish the draft.

Data Locations

On Windows and macOS, all app data lives under the standard Electron userData path.

Dev vs. production path difference: Electron derives the userData directory name from the app's name. In development (pnpm run dev), it uses the name field from package.json (comfyui-launcher), while packaged builds use the productName from electron-builder.yml (ComfyUI Launcher). This means the two environments use separate data directories:

Windows macOS Linux
Dev %APPDATA%\comfyui-launcher ~/Library/Application Support/comfyui-launcher ~/.config/comfyui-launcher
Production %APPDATA%\ComfyUI Launcher ~/Library/Application Support/ComfyUI Launcher ~/.config/ComfyUI Launcher

On Linux, the app follows the XDG Base Directory Specification:

Purpose Linux Path
Config (settings.json) $XDG_CONFIG_HOME/comfyui-launcher (default ~/.config/comfyui-launcher)
Data (installations.json) $XDG_DATA_HOME/comfyui-launcher (default ~/.local/share/comfyui-launcher)
Cache (download-cache/) $XDG_CACHE_HOME/comfyui-launcher (default ~/.cache/comfyui-launcher)
State (port-locks/) $XDG_STATE_HOME/comfyui-launcher (default ~/.local/state/comfyui-launcher)
Default install dir ~/ComfyUI-Installs

Existing files at the old ~/.config/comfyui-launcher location are automatically migrated on first launch.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors