[GH-ISSUE #1699] [Bug]: Setting Alternate Download Model Path #508

Open
opened 2026-10-31 22:13:53 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @blakemccawe on GitHub (Apr 25, 2026).
Original GitHub issue: https://github.com/Comfy-Org/desktop/issues/1699

App Version

0.8.35

Expected Behavior

Configuring an alternate model download path to an external drive should allow downloading.

Actual Behavior

Model fails to download with cancelled error.
Code is failing on github.com/Comfy-Org/desktop@4d1ec49c41/src/models/DownloadManager.ts (L130)

Steps to Reproduce

Added custom config to extra_models_config.yaml

# ComfyUI extra_model_paths.yaml for win32
comfyui_desktop:
  base_path: C:\Users\Me\Documents\ComfyUI
  custom_nodes: custom_nodes/

desktop_extensions:
  custom_nodes: C:\Users\Me\AppData\Local\Programs\ComfyUI\resources\ComfyUI\custom_nodes

custom_config:
  is_default: "true"
  base_path: D:\ComfyUI
  download_model_base: models
  checkpoints: models/checkpoints
  text_encoders: models/text_encoders
  vae: models/vae
  loras: models/loras
  controlnet: models/controlnet
  clip_vision: models/clip_vision
  gligen: models/gligen
  upscale_models: models/upscale_models
  embeddings: models/embeddings
  diffusion_models: models/diffusion_models
  • Clicking download model from with the desktop UI
  • Download errors
  • Check main.log for error

Debug Logs

Save path D:\ComfyUI\models\vae\ae.safetensors is not in models directory C:\Users\Me\Documents\ComfyUI\models
Download progress [ae.safetensors]: 0, status: error, message: Save path is not in models directory

Browser Logs

No response

Settings JSON

No response

Other

No response

┆Issue is synchronized with this Notion page by Unito

Originally created by @blakemccawe on GitHub (Apr 25, 2026). Original GitHub issue: https://github.com/Comfy-Org/desktop/issues/1699 ### App Version 0.8.35 ### Expected Behavior Configuring an alternate model download path to an external drive should allow downloading. ### Actual Behavior Model fails to download with cancelled error. Code is failing on https://github.com/Comfy-Org/desktop/blob/4d1ec49c4169fc8b4f58463f7f6f0b77324375cc/src/models/DownloadManager.ts#L130 ### Steps to Reproduce Added custom config to `extra_models_config.yaml` ``` # ComfyUI extra_model_paths.yaml for win32 comfyui_desktop: base_path: C:\Users\Me\Documents\ComfyUI custom_nodes: custom_nodes/ desktop_extensions: custom_nodes: C:\Users\Me\AppData\Local\Programs\ComfyUI\resources\ComfyUI\custom_nodes custom_config: is_default: "true" base_path: D:\ComfyUI download_model_base: models checkpoints: models/checkpoints text_encoders: models/text_encoders vae: models/vae loras: models/loras controlnet: models/controlnet clip_vision: models/clip_vision gligen: models/gligen upscale_models: models/upscale_models embeddings: models/embeddings diffusion_models: models/diffusion_models ``` - Clicking download model from with the desktop UI - Download errors - Check `main.log` for error ### Debug Logs ```powershell Save path D:\ComfyUI\models\vae\ae.safetensors is not in models directory C:\Users\Me\Documents\ComfyUI\models Download progress [ae.safetensors]: 0, status: error, message: Save path is not in models directory ``` ### Browser Logs _No response_ ### Settings JSON _No response_ ### Other _No response_ ┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-1699-Bug-Setting-Alternate-Download-Model-Path-34d6d73d365081928603de5d3887f68e) by [Unito](https://www.unito.io)
Author
Owner

@dosubot[bot] commented on GitHub (Apr 25, 2026):

Hi @blakemccawe! I'm Dosu and I’m helping the desktop team.

This is a limitation in how the DownloadManager currently works. The extra_models_config.yaml configures where ComfyUI searches for existing models, but the DownloadManager validates downloads against a hardcoded {basePath}/models directory — in your case C:\Users\Me\Documents\ComfyUI\models [1]. It doesn't consult extra_models_config.yaml for download path validation [2], so your D:\ComfyUI\models path fails the containment check.

Workarounds:

  1. Reinstall with D: as the base path — PR #1408 enabled non-default drive support [3], so you should be able to install ComfyUI Desktop with D:\ComfyUI as the base path. This makes D:\ComfyUI\models the validated download directory.
  2. Download to the default path, then move — Let models download to C:\Users\Me\Documents\ComfyUI\models, then manually move them to D:\ComfyUI\models. Your extra_models_config.yaml will ensure ComfyUI still finds them there.

This does seem like a gap worth addressing — ideally the DownloadManager would respect paths configured in extra_models_config.yaml (with appropriate security validation) rather than only allowing the hardcoded base path.

To reply, just mention @dosu.


Docs are dead. Just use Dosu.

Leave Feedback Ask Dosu about desktop Share Dosu with your team

<!-- gh-comment-id:4319937545 --> @dosubot[bot] commented on GitHub (Apr 25, 2026): <!-- Greeting --> Hi @blakemccawe! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the desktop team. <!-- Answer --> This is a limitation in how the DownloadManager currently works. The `extra_models_config.yaml` configures where **ComfyUI searches for existing models**, but the DownloadManager validates downloads against a hardcoded `{basePath}/models` directory — in your case `C:\Users\Me\Documents\ComfyUI\models` [[1]](https://github.com/Comfy-Org/desktop/blob/4d1ec49c4169fc8b4f58463f7f6f0b77324375cc/src/utils.ts#L62-L64). It doesn't consult `extra_models_config.yaml` for download path validation [[2]](https://github.com/Comfy-Org/desktop/blob/4d1ec49c4169fc8b4f58463f7f6f0b77324375cc/src/config/comfyServerConfig.ts#L77-L79), so your `D:\ComfyUI\models` path fails the [containment check](https://github.com/Comfy-Org/desktop/blob/4d1ec49c4169fc8b4f58463f7f6f0b77324375cc/src/models/DownloadManager.ts#L126-L140). **Workarounds:** 1. **Reinstall with D: as the base path** — PR #1408 enabled non-default drive support [[3]](https://github.com/Comfy-Org/desktop/pull/1408), so you should be able to install ComfyUI Desktop with `D:\ComfyUI` as the base path. This makes `D:\ComfyUI\models` the validated download directory. 2. **Download to the default path, then move** — Let models download to `C:\Users\Me\Documents\ComfyUI\models`, then manually move them to `D:\ComfyUI\models`. Your `extra_models_config.yaml` will ensure ComfyUI still finds them there. This does seem like a gap worth addressing — ideally the DownloadManager would respect paths configured in `extra_models_config.yaml` (with appropriate security validation) rather than only allowing the hardcoded base path. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=Comfy-Org%2Fdesktop).* --- Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=Comfy-Org%2Fdesktop). [![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=Comfy-Org%2Fdesktop#message_id=f0f501f2-b52a-4534-9f3f-c8b3bdcb6ebf) [![Ask Dosu about desktop](https://img.shields.io/badge/Ask%20Dosu%20about%20desktop-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC45ODU2MyA4NS4zNjUyIDUuODQ3MDUgODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNTc5MTlIMTcuMDQzOVY3LjYxNTMyWk0yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjcuNjkxNjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/Comfy-Org/desktop?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=Comfy-Org%2Fdesktop) [![Share Dosu with your team](https://img.shields.io/badge/Share%20Dosu%20with%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=Comfy-Org%2Fdesktop)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/desktop#508
No description provided.