An Electron app for managing multiple ComfyUI installations.
Run the NSIS installer (.exe) and launch from the Start Menu or desktop shortcut.
Open the .dmg, drag ComfyUI Launcher to Applications, and launch from there.
.deb (Debian/Ubuntu):
sudo apt install ./ComfyUI-Launcher-*.debThen launch from your application menu.
AppImage:
chmod +x ComfyUI-Launcher-*.AppImage
./ComfyUI-Launcher-*.AppImage --no-sandbox- Node.js v22 LTS or later
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- Build tool: electron-vite
- Renderer: Vue 3 (Composition API) + TypeScript
- State: Pinia
- i18n: vue-i18n (locale files in
locales/) - Styling: Tailwind CSS v4
- Icons: Lucide
- Main process: TypeScript (
src/main/) - Linting: ESLint (flat config) + Prettier
- Testing: Vitest + Vue Test Utils
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
git clone https://github.com/Comfy-Org/ComfyUI-Launcher.git
cd ComfyUI-Launcher
npm installWindows / macOS:
npm run devLinux:
./linux-dev.shnpm run typecheck # both main + renderer
npm run typecheck:node # main process only
npm run typecheck:web # renderer onlynpm run lint # check for lint errors
npm run lint:fix # auto-fix lint errors
npm run format # format with Prettier
npm run format:check # check formatting without writingnpm test # run all unit tests
npm run test:watch # run in watch mode# Platform-specific
npm run build:win # Windows (NSIS installer)
npm run build:mac # macOS (DMG)
npm run build:linux # Linux (AppImage, .deb)Build output is written to the dist/ directory.
Pushing a version tag triggers the Build & Release workflow, which builds for Windows, macOS, and Linux, then creates a draft GitHub Release with all artifacts.
# Tag the current commit with the new version
git tag v0.1.0
# Push the tag to trigger the release workflow
git push origin v0.1.0The workflow sets the app version from the tag automatically. Once the builds finish, go to the Releases page to review and publish the draft.
On Windows and macOS, all app data lives under the standard Electron userData path (%APPDATA%\comfyui-launcher / ~/Library/Application Support/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.