Constant moving of folders
- Dominant language
- Python
- Stars
- 133k
- Forks
- 15.7k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 158
Description
### Custom Node Testing
- [x] I have tried disabling custom nodes and the issue persists (see [how to disable custom nodes](https://docs.comfy.org/troubleshooting/custom-node-issues#step-1%3A-test-with-all-custom-nodes-disabled) if you need help)
### Expected Behavior
When I set a custom install location, I expect everything to be installed there.
### Actual Behavior
Somehow, despite setting a custom folder, it has 1 folder in appdata/local, 2 folders in appdata/roaming, a folder in my user directory and it does happen to install *some* stuff in the folder I did specify. All are apparently used as they all have files modified very recently.
### Steps to Reproduce
Install the program and specify a folder that isn't the default.
### Debug Logs
```powershell
[INFO] Adding extra search path checkpoints C:\tools\ComfyUI\models\checkpoints
[INFO] Adding extra search path classifiers C:\tools\ComfyUI\models\classifiers
[INFO] Adding extra search path clip_vision C:\tools\ComfyUI\models\clip_vision
[INFO] Adding extra search path configs C:\tools\ComfyUI\models\configs
[INFO] Adding extra search path controlnet C:\tools\ComfyUI\models\controlnet
[INFO] Adding extra search path diffusers C:\tools\ComfyUI\models\diffusers
[INFO] Adding extra search path diffusion_models C:\tools\ComfyUI\models\diffusion_models
[INFO] Adding extra search path embeddings C:\tools\ComfyUI\models\embeddings
[INFO] Adding extra search path gligen C:\tools\ComfyUI\models\gligen
[INFO] Adding extra search path hypernetworks C:\tools\ComfyUI\models\hypernetworks
[INFO] Adding extra search path latent_upscale_models C:\tools\ComfyUI\models\latent_upscale_models
[INFO] Adding extra search path loras C:\tools\ComfyUI\models\loras
[INFO] Adding extra search path model_patches C:\tools\ComfyUI\models\model_patches
[INFO] Adding extra search path audio_encoders C:\tools\ComfyUI\models\audio_encoders
[INFO] Adding extra search path photomaker C:\tools\ComfyUI\models\photomaker
[INFO] Adding extra search path style_models C:\tools\ComfyUI\models\style_models
[INFO] Adding extra search path text_encoders C:\tools\ComfyUI\models\text_encoders
[INFO] Adding extra search path upscale_models C:\tools\ComfyUI\models\upscale_models
[INFO] Adding extra search path vae C:\tools\ComfyUI\models\vae
[INFO] Adding extra search path vae_approx C:\tools\ComfyUI\models\vae_approx
[INFO] Adding extra search path CogVideo C:\tools\ComfyUI\models\CogVideo
[INFO] Adding extra search path Joy_caption C:\tools\ComfyUI\models\Joy_caption
[INFO] Adding extra search path LLM C:\tools\ComfyUI\models\LLM
[INFO] Adding extra search path animatediff_models C:\tools\ComfyUI\models\animatediff_models
[INFO] Adding extra search path animatediff_motion_lora C:\tools\ComfyUI\models\animatediff_motion_lora
[INFO] Adding extra search path animatediff_video_formats C:\tools\ComfyUI\models\animatediff_video_formats
[INFO] Adding extra search path background_removal C:\tools\ComfyUI\models\background_removal
[INFO] Adding extra search path blip C:\tools\ComfyUI\models\blip
[INFO] Adding extra search path detection C:\tools\ComfyUI\models\detection
[INFO] Adding extra search path frame_interpolation C:\tools\ComfyUI\models\frame_interpolation
[INFO] Adding extra search path geometry_estimation C:\tools\ComfyUI\models\geometry_estimation
[INFO] Adding extra search path insightface C:\tools\ComfyUI\models\insightface
[INFO] Adding extra search path layerstyle C:\tools\ComfyUI\models\layerstyle
[INFO] Adding extra search path liveportrait C:\tools\ComfyUI\models\liveportrait
[INFO] Adding extra search path optical_flow C:\tools\ComfyUI\models\optical_flow
[INFO] Adding extra search path tensorrt C:\tools\ComfyUI\models\tensorrt
[INFO] Adding extra search path xlabs C:\tools\ComfyUI\models\xlabs
[INFO] Adding extra search path clip C:\tools\ComfyUI\models\clip
[INFO] Adding extra search path unet C:\tools\ComfyUI\models\unet
[INFO] Adding extra search path t2i_adapter C:\tools\ComfyUI\models\t2i_adapter
[INFO] Setting output directory to: C:\tools\ComfyUI\output
[INFO] Setting input directory to: C:\tools\ComfyUI\input
[INFO] Setting user directory to: C:\tools\ComfyUI\user
[START] Security scan
[DONE] Security scan
** ComfyUI startup time: 2026-06-12 20:33:39.780
** Platform: Windows
** Python version: 3.12.12 (main, Oct 14 2025, 21:24:50) [MSC v.1944 64 bit (AMD64)]
** Python executable: C:\tools\ComfyUI\.venv\Scripts\python.exe
** ComfyUI Path: C:\Users\User\ComfyUI-Installs\ComfyUI\ComfyUI
** ComfyUI Base Folder Path: C:\Users\User\ComfyUI-Installs\ComfyUI\ComfyUI
** User directory: C:\tools\ComfyUI\user
** ComfyUI-Manager config path: C:\tools\ComfyUI\user\__manager\config.ini
** Log path: C:\tools\ComfyUI\user\comfyui.log
[INFO] [PRE] ComfyUI-Manager
[INFO] Found comfy_kitchen backend cuda: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'apply_rope_split_half', 'apply_rope_split_half1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'gemv_awq_w4a16', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'quantize_svdquant_w4a4', 'scaled_mm_nvfp4', 'scaled_mm_svdquant_w4a4', 'stochastic_rounding_fp8']}
[INFO] Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'apply_rope_split_half', 'apply_rope_split_half1', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'gemv_awq_w4a16', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'quantize_svdquant_w4a4', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4', 'scaled_mm_svdquant_w4a4', 'stochastic_rounding_fp8']}
[INFO] Found comfy_kitchen backend triton: {'available': True, 'disabled': True, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'apply_rope_split_half', 'apply_rope_split_half1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8']}
[INFO] Checkpoint files will always be loaded safely.
[INFO] Total VRAM 32607 MB, total RAM 130868 MB
[INFO] pytorch version: 2.9.1+cu130
[INFO] Set vram state to: NORMAL_VRAM
[INFO] Device: cuda:0 NVIDIA GeForce RTX 5090 : cudaMallocAsync
[INFO] Using async weight offloading with 2 streams
[INFO] Enabled pinned memory 52347.0
[INFO] working around nvidia conv3d memory bug.
[INFO] Using pytorch attention
aimdo: src-win/cuda-detour.c:38:INFO:aimdo_setup_hooks: installing 6 hooks
aimdo: src-win/cuda-detour.c:28:DEBUG:install_hook_entries: hooks successfully installed
aimdo: src-win/shmem-detect.c:80:INFO:comfy-aimdo WDDM adapter match: NVIDIA GeForce RTX 5090 runtime_luid=00000000:0000f25d dxgi_luid=00000000:0000f25d
aimdo: src/control.c:241:INFO:comfy-aimdo inited for GPU: NVIDIA GeForce RTX 5090 (VRAM: 32606 MB)
[INFO] DynamicVRAM support detected and enabled
[INFO] Python version: 3.12.12 (main, Oct 14 2025, 21:24:50) [MSC v.1944 64 bit (AMD64)]
[INFO] ComfyUI version: 0.24.1
[INFO] comfy-aimdo version: 0.4.8
[INFO] comfy-kitchen version: 0.2.10
[INFO] comfyui-frontend-package version: 1.44.19
[INFO] comfyui-workflow-templates version: 0.9.98
[INFO] comfyui-embedded-docs version: 0.5.2
[INFO] comfy-kitchen version: 0.2.10
[INFO] comfy-aimdo version: 0.4.8
[INFO] [Prompt Server] web root: C:\tools\ComfyUI\.venv\Lib\site-packages\comfyui_frontend_package\static
[INFO] Asset seeder disabled
[INFO] [START] ComfyUI-Manager
[ComfyUI-Manager] Using GitPython backend
[INFO] [ComfyUI-Manager] network_mode: public
[INFO] [LoRA-Manager] Added path mapping: D:/AI/Models/loras -> C:/tools/ComfyUI/models/loras
[INFO] [LoRA-Manager] Found LoRA roots:
- C:/tools/ComfyUI/models/loras
- C:/tools/ComfyUI/output/loras
[INFO] [LoRA-Manager] Added path mapping: D:/AI/Models/checkpoints -> C:/tools/ComfyUI/models/checkpoints
[INFO] [LoRA-Manager] Added path mapping: D:/AI/Models/diffusion_models -> C:/tools/ComfyUI/models/diffusion_models
[INFO] [LoRA-Manager] Added path mapping: D:/AI/Models/unet -> C:/tools/ComfyUI/models/unet
[INFO] [LoRA-Manager] Found checkpoint roots:
- C:/tools/ComfyUI/models/checkpoints
- C:/tools/ComfyUI/models/diffusion_models
- C:/tools/ComfyUI/models/unet
- C:/tools/ComfyUI/output/checkpoints
[INFO] [LoRA-Manager] Added path mapping: D:/AI/Models/embeddings -> C:/tools/ComfyUI/models/embeddings
[INFO] [LoRA-Manager] Found embedding roots:
- C:/tools/ComfyUI/models/embeddings
[INFO] [LoRA-Manager] Symlink cache loaded with 0 mappings
[INFO] [LoRA-Manager] Symlink mappings restored from cache in 1.12 ms
[INFO] [LoRA-Manager] Symlink configuration changed; rescanning symbolic links
[INFO] [LoRA-Manager] Symlink mappings rebuilt and cached in 10.42 ms
[INFO] [LoRA-Manager] Updated 'comfyui' library with current folder paths
[INFO] [LoRA-Manager] Detected async ComfyUI execution, installing async metadata hooks
[INFO] [LoRA-Manager] Metadata collection hooks installed for runtime values
[INFO] [LoRA-Manager] ComfyUI Metadata Collector initialized
[INFO] [LoRA-Manager] Example images path:
[INFO] [LoRA-Manager] Added static route for locales: /locales -> C:\tools\ComfyUI\custom_nodes\comfyui-lora-manager\locales
[INFO]
Import times for custom nodes:
[INFO] 0.0 seconds: C:\tools\ComfyUI\custom_nodes\Comfyui-Resolution-Master
[INFO] 0.1 seconds: C:\tools\ComfyUI\custom_nodes\ComfyUI_TensorRT-master
[INFO] 0.3 seconds: C:\tools\ComfyUI\custom_nodes\comfyui-lora-manager
[INFO]
[INFO] Context impl SQLiteImpl.
[INFO] Will assume non-transactional DDL.
[INFO] Using RAM pressure cache.
[INFO] Starting server
[INFO] To see the GUI go to: http://127.0.0.1:8000
[INFO] [LoRA-Manager] Recipe cache miss: performing full directory scan
[INFO] [LoRA-Manager] Lora cache hydrated from persisted snapshot with 12 models
[INFO] [LoRA-Manager] Checkpoint cache hydrated from persisted snapshot with 10 models
[INFO] [LoRA-Manager] Embedding cache hydrated from persisted snapshot with 2 models
[INFO] [LoRA-Manager] Recipe cache initialized in 0.01 seconds. Found 0 recipes
[INFO] [LoRA-Manager] FTS index validated, reusing existing index with 0 recipes
[WARNING] [DEPRECATION WARNING] Detected import of deprecated legacy API: /scripts/ui.js. This is likely caused by a custom node extension using outdated APIs. Please update your extensions or contact the extension author for an updated version.
[INFO] [ComfyUI-Manager] The ComfyRegistry cache update is still in progress, so an outdated cache is being used.
FETCH DATA from: C:\tools\ComfyUI\user\__manager\cache\3351870820_custom-node-list.json [DONE]
```
### Other
I have things set to certain folders for a reason. My extensions all respect it. If you aren't going to respect that, why even ask me what folder I want it in? Every major update manages to add another folder while moving around all the previous ones. I understand the updater being where it is but everything else should not have left my specified folder.
Contributor guide
Assessment
This issue has not been assessed yet.