{"id":25208059,"url":"https://github.com/comfy-org/desktop","last_synced_at":"2026-04-02T14:10:56.482Z","repository":{"id":264968709,"uuid":"841742628","full_name":"Comfy-Org/desktop","owner":"Comfy-Org","description":"The desktop app for ComfyUI (Windows \u0026 macOS)","archived":false,"fork":false,"pushed_at":"2026-03-23T07:38:09.000Z","size":29816,"stargazers_count":2114,"open_issues_count":89,"forks_count":201,"subscribers_count":26,"default_branch":"main","last_synced_at":"2026-03-24T04:53:49.184Z","etag":null,"topics":["ai","comfyui"],"latest_commit_sha":null,"homepage":"https://comfy.org/download","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Comfy-Org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-08-13T00:43:45.000Z","updated_at":"2026-03-24T04:50:00.000Z","dependencies_parsed_at":"2026-02-25T03:04:01.915Z","dependency_job_id":null,"html_url":"https://github.com/Comfy-Org/desktop","commit_stats":null,"previous_names":["comfy-org/desktop","comfy-org/electron"],"tags_count":114,"template":false,"template_full_name":null,"purl":"pkg:github/Comfy-Org/desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comfy-Org%2Fdesktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comfy-Org%2Fdesktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comfy-Org%2Fdesktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comfy-Org%2Fdesktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Comfy-Org","download_url":"https://codeload.github.com/Comfy-Org/desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Comfy-Org%2Fdesktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31307589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","comfyui"],"created_at":"2025-02-10T12:18:35.236Z","updated_at":"2026-04-02T14:10:56.457Z","avatar_url":"https://github.com/Comfy-Org.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ComfyUI Desktop\n\n![Beta](https://img.shields.io/badge/beta-blue.svg)\n\n# USER GUIDE\n\nPlease read the [user guide](https://docs.comfy.org/installation/desktop)\n\n# Download\n\nWindows (NVIDIA) NSIS x64: [Download](https://download.comfy.org/windows/nsis/x64)\n\nmacOS ARM: [Download](https://download.comfy.org/mac/dmg/arm64)\n\n# Overview\n\nThis desktop app is a packaged way to use [ComfyUI](https://github.com/comfyanonymous/ComfyUI) and comes bundled with a few things:\n\n- Stable version of ComfyUI from [releases](https://github.com/comfyanonymous/ComfyUI/releases)\n- [ComfyUI_frontend](https://github.com/Comfy-Org/ComfyUI_frontend)\n- [ComfyUI-Manager](https://github.com/ltdrdata/ComfyUI-Manager) (installed via pip when `--enable-manager` is set; legacy custom node is only cloned for older ComfyUI versions)\n- [uv](https://github.com/astral-sh/uv)\n\nOn startup, it will install all the necessary python dependencies with uv and start the ComfyUI server. The app will automatically update with stable releases of ComfyUI, ComfyUI-Manager (pip), and the uv executable as well as some desktop-specific features.\n\nDevelopers, read on.\n\n## Installed Files\n\n### Electron\n\nThe desktop application comes bundled with:\n\n- ComfyUI source code\n- ComfyUI-Manager (pip package or legacy custom node, depending on the bundled ComfyUI version)\n- Electron, Chromium binaries, and node modules\n\n**Windows**\n\nWe use the [NSIS installer](https://www.electron.build/nsis.html) for Windows and it will install files in these locations:\n\nBundled Resources: `%LOCALAPPDATA%\\Programs\\ComfyUI`\n\n![screenshot of resources directory](https://github.com/user-attachments/assets/0e1d4a9a-7b7e-4536-ad4b-9e6123873706)\n\nUser files are stored here: `%APPDATA%\\ComfyUI`\n\nAutomatic Updates: `%LOCALAPPDATA%\\comfyui-electron-updater` or `%LOCALAPPDATA%\\@comfyorgcomfyui-electron-updater`\n\n**macOS**\n\nThe macOS application is distributed as a [DMG](https://www.electron.build/dmg) and will install files in:\n\n`~/Library/Application Support/ComfyUI`\n\nThe application will be dragged into `/Applications`\n\n**Linux**\n\n`~/.config/ComfyUI`\n\n### ComfyUI\n\nYou will also be asked to select a location to store ComfyUI files like models, inputs, outputs, custom_nodes and saved workflows. This directory is stored in the `basePath` key of `config.json`.\n\nOn Windows: `%APPDATA%\\ComfyUI\\config.json`\n\nOn macOS: `~/Library/Application Support/ComfyUI/config.json`\n\nOn Linux: `~/.config/ComfyUI/config.json`\n\n#### Model Paths\n\nThis directory is also written as the `base_path` in `extra_models_config.yaml`. The Desktop app will look for model checkpoints here by default, but you can add additional models to the search path by editing this file.\n\nOn Windows: `%APPDATA%\\ComfyUI\\extra_models_config.yaml`\n\nOn macOS: `~/Library/Application Support/ComfyUI/extra_models_config.yaml`\n\nOn Linux: `~/.config/ComfyUI/extra_models_config.yaml`\n\n### Logs\n\nWe use electron-log to log everything. Electron main process logs are in `main.log`, and ComfyUI server logs are in `comfyui_\u003cdate\u003e.log`.\n\n```\non Linux: ~/.config/{app name}/logs\non macOS: ~/Library/Logs/{app name}\non Windows: %AppData%\\{app name}\\logs\n```\n\n# Development\n\n## Setup Python\n\nMake sure you have python 3.12+ installed. It is recommended to setup a virtual environment.\n\nLinux/MacOS:\n\n```bash\npython -m venv venv\nsource venv/bin/activate\n```\n\nWindows:\n\n```powershell\npy -3.12 -m venv venv\n.\\venv\\Scripts\\Activate.ps1\n```\n\n## Windows\n\n### Visual Studio\n\nVisual studio 2019 or later with the Desktop C++ workload is required for `node-gyp`. See the `node-gyp` [windows installation notes](https://github.com/nodejs/node-gyp#on-windows). Also requires the `spectre-mitigated` libraries, found in the individual components section of the VS installer.\n\nConfirmed working:\n\n- Visual Studio Community 2022 - 17.12.1\n- Desktop development with C++ workload\n- MSVC v143 x64 spectre-mitigated libraries (Latest / v14.42-17.12)\n  - Open the Visual Studio Installer\n  - Click \"Modify\" on your Visual Studio 2022 Community installation\n  - Go to the \"Individual Components\" tab\n  - Search for \"Spectre\"\n  - Check the boxes for the Spectre-mitigated libraries that match your project's architecture (x86 and/or x64)\n  - ![image](https://github.com/user-attachments/assets/0829db3d-84b7-48e8-9d13-c72c35169a05)\n\nLook for \"MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs\"\nIf you're using other toolsets, you may need their corresponding Spectre-mitigated libraries as well\n\n## NPM Dependencies\n\n### Node\n\nWe recommend using [nvm](https://github.com/nvm-sh/nvm) to manage node versions. This project uses node v20.x.\n\n#### Windows\n\nMicrosoft recommends [nvm-windows](https://github.com/coreybutler/nvm-windows) on their [Node.js on Windows page](https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows#install-nvm-windows-nodejs-and-npm).\n\n```ps1\nnvm install 20\nnvm use 20\n```\n\n### Yarn\n\nThis project uses `yarn` as its package manager. If you do not already have a `yarn` binary available on your PATH, run:\n\n```bash\n# corepack is a set of utilities included with all recent distributions of node\ncorepack enable\nyarn set version 4.5.0 # Look at the packageManager key in package.json for the exact version.\n```\n\nThis will install a usable `yarn` binary. Then, in the root directory of this repo (ie adjacent to the top-level package.json file), run:\n\n```bash\nyarn install\n```\n\n## ComfyUI Assets\n\nBefore you can start the electron application, you need to download the ComfyUI source code and other things that are usually bundled with the application.\n\n### ComfyUI and other dependencies\n\nFirst, initialize the application resources by running `yarn make:assets`:\n\nThis command will install ComfyUI under `assets/`. If the bundled ComfyUI version contains `manager_requirements.txt`, ComfyUI-Manager will be installed via pip at runtime; otherwise the legacy custom node is cloned for compatibility. The exact versions of each package is defined in `package.json`.\n\nYou can then run `start` to build and launch the app. A watcher will also be started; it will automatically rebuild the app when a source file is changed:\n\n```bash\ndeactivate # Deactivate your existing python env to avoid influencing the\nyarn start\n```\n\nYou can also build the package and/or distributables using the `make` command:\n\n```bash\n# build the platform-dependent package and any distributables\nyarn make\n# build cross-platform, e.g. windows from linux\nyarn make --windows\n```\n\n### Compiled Requirements\n\nThe source of truth for how compiled requirements are produced is in the header comments of the `.compiled` files. See `assets/requirements/*.compiled` for the exact commands and overrides in use.\n\n### Troubleshooting\n\nIf you get an error similar to:\n\n```\nThe module '/electron/node_modules/node-pty/build/Release/pty.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 115. This version of Node.js requires NODE_MODULE_VERSION 125. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`).\n```\n\nYou will need to rebuild the node-pty using [electron-rebuild](https://www.electronjs.org/docs/latest/tutorial/using-native-node-modules), for example:\n\n```\nnpx electron-rebuild\n```\n\nor if that fails\n\n```\nyarn add -D @electron/rebuild\nrm -rf node_modules\nrm yarn.lock\nyarn install\nnpx electron-rebuild\n```\n\n#### Missing libraries\n\nYou may get errors reporting that the build is unable to find e.g. `libnss3.so` if `electron` prerequisites are not included in your distro. Find the correct package for your distro and install.\n\n`apt` example:\n\n```\napt-get install libnss3\n```\n\n### Debugger\n\nThere are helpful debug launch scripts for VSCode / Cursor under `.vscode/launch.json`. The default launch script runs the Electron launcher in the project root and attaches the debugger. By default, the app is not built when this is used.\n\nThe default launch script can be run by pressing `F5` in VSCode or VSCode derivative. `Ctrl + Shift + F5` restarts the app with the debugger attached. `Shift + F5` terminates the debugger and the process tree it is attached to.\n\nTo keep the app built and up to date as you make changes, run the `Start Vite Build Watchers` build task defined in `.vscode/tasks.json`. This spawns two watcher tasks - one for the main app, and one for the preload script. These watchers will automatically rebuild the app when a source file is changed.\n\nThe launch environment can be customised, e.g. add a `\"linux\"` section to source your `~/.profile` (and other interactive config) when debugging in linux:\n\n```json\n{\n  \"version\": \"2.0.0\",\n  \"tasks\": [\n    {\n      \"linux\": { \"options\": { \"shell\": { \"args\": [\"-ci\"] } } }\n    }\n  ]\n}\n```\n\n### Troubleshooting the packaged app\n\nWhen the app has been packaged for use as a production app, it ignores environment variables used to configure development settings. To force the app to read env vars when packaged, use the `--dev-mode` command line argument to launch the app.\n\n# Release\n\nWe use Todesktop to build and codesign our distributables. To make a new release:\n\n1. Create a PR that updates package.json to the next version.\n1. Create a Github Release with semantic version tag eg. \"v1.0.0\"\n1. Make sure it is a pre-release.\n1. Check the Github action \"Publish All\" runs. It should update the release body with Download links when it is finished.\n1. Test the build, and if it looks good release it on ToDesktop. Also mark the release as \"Latest\".\n\nIf a build fails for some reason, you can manually retry by running the \"Publish All\" GH action with a release tag as input.\n\n## Release using Claude Code\n\nThere is a Claude Code command, \"bump-stable\", that can be used to automate the release process.\n\n## Updating uv compiled requirements\n\nApplying the \"Update Compiled Requirements\" label to an open PR will automatically update compiled requirements. If changes are made, the action commits the updated files to the PR.\n\n## Utility scripts\n\nA number of utility scripts are defined under the \"scripts\" field of package.json. For example, to clean up the build artifacts you can run:\n\n```bash\nyarn clean\n\n# Remove files created by yarn make:assets\nyarn clean:assets\n\n# clean:slate also removes node_modules\nyarn clean:slate\n```\n\n## Crash Reports \u0026 Metrics\n\nAt the onboarding step, you can opt-in to send us usage metrics. This really helps us prioritize issues and focus our limited engineering time. Read our privacy policy [here](https://comfy.org/privacy).\n\nYou can opt-out at anytime from the settings menu and nothing will ever be sent.\n\nIn either case, no personal data, workflows or logs will be sent.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomfy-org%2Fdesktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomfy-org%2Fdesktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomfy-org%2Fdesktop/lists"}