Skip to content

[bug]: On windows: After organizing outputs images in sub-folders, clearing intermediates becomes impossible #9504

Description

@SaraDonzellini

Is there an existing issue for this problem?

  • I have searched the existing issues

Install method

Invoke's Launcher

Operating system

Windows

GPU vendor

Nvidia (CUDA)

GPU model

GTX 970

GPU VRAM

4GB

Version number

6.14.0rc1

Browser

Edge v.151.0.4129.78

System Information

{
"version": "6.14.0-rc1",
"dependencies": {
"absl-py" : "2.5.0",
"accelerate" : "1.14.0",
"annotated-doc" : "0.0.4",
"annotated-types" : "0.7.0",
"anyio" : "4.14.2",
"argon2-cffi" : "25.1.0",
"argon2-cffi-bindings" : "25.1.0",
"arrow" : "1.4.0",
"asttokens" : "3.0.2",
"async-lru" : "2.3.0",
"attrs" : "26.1.0",
"babel" : "2.18.0",
"bcrypt" : "3.2.2",
"beautifulsoup4" : "4.15.0",
"bidict" : "0.23.1",
"bitsandbytes" : "0.41.1",
"blake3" : "1.0.9",
"bleach" : "6.4.0",
"certifi" : "2026.6.17",
"cffi" : "2.1.0",
"charset-normalizer" : "3.4.9",
"click" : "8.4.2",
"colorama" : "0.4.6",
"coloredlogs" : "15.0.1",
"comm" : "0.2.3",
"compel" : "2.4.0",
"contourpy" : "1.3.3",
"cryptography" : "49.0.0",
"CUDA" : "11.8",
"cycler" : "0.12.1",
"debugpy" : "1.8.21",
"decorator" : "5.3.1",
"defusedxml" : "0.7.1",
"Deprecated" : "1.3.1",
"diffusers" : "0.39.0",
"dnspython" : "2.8.0",
"dynamicprompts" : "0.31.0",
"ecdsa" : "0.19.2",
"einops" : "0.8.2",
"email-validator" : "2.3.0",
"executing" : "2.2.1",
"fastapi" : "0.118.3",
"fastapi-events" : "0.12.2",
"fastjsonschema" : "2.21.2",
"filelock" : "3.29.0",
"flatbuffers" : "25.12.19",
"fonttools" : "4.63.0",
"fqdn" : "1.5.1",
"fsspec" : "2026.4.0",
"gguf" : "0.19.0",
"h11" : "0.16.0",
"hf-xet" : "1.6.0",
"httpcore" : "1.0.9",
"httptools" : "0.8.0",
"httpx" : "0.28.1",
"huggingface_hub" : "1.24.0",
"humanfriendly" : "10.0",
"idna" : "3.18",
"ImageIO" : "2.37.3",
"imageio-ffmpeg" : "0.6.0",
"importlib_metadata" : "9.0.0",
"InvokeAI" : "6.14.0rc1",
"ipykernel" : "7.3.0",
"ipython" : "9.15.0",
"ipython_pygments_lexers" : "1.1.1",
"isoduration" : "20.11.0",
"jax" : "0.7.1",
"jaxlib" : "0.7.1",
"jedi" : "0.20.0",
"Jinja2" : "3.1.6",
"json5" : "0.15.0",
"jsonpointer" : "3.1.1",
"jsonschema" : "4.26.0",
"jsonschema-specifications": "2025.9.1",
"jupyter-events" : "0.12.1",
"jupyter-lsp" : "2.3.1",
"jupyter_builder" : "1.1.1",
"jupyter_client" : "8.9.1",
"jupyter_core" : "5.9.1",
"jupyter_server" : "2.20.0",
"jupyter_server_terminals" : "0.5.4",
"jupyterlab" : "4.6.1",
"jupyterlab_pygments" : "0.3.0",
"jupyterlab_server" : "2.28.0",
"kiwisolver" : "1.5.0",
"lark" : "1.3.1",
"markdown-it-py" : "4.2.0",
"MarkupSafe" : "3.0.3",
"matplotlib" : "3.11.1",
"matplotlib-inline" : "0.2.2",
"mdurl" : "0.1.2",
"mediapipe" : "0.10.14",
"mistune" : "3.3.3",
"ml_dtypes" : "0.5.4",
"mpmath" : "1.3.0",
"nbclient" : "0.11.0",
"nbconvert" : "7.17.1",
"nbformat" : "5.10.4",
"nest-asyncio2" : "1.7.2",
"networkx" : "3.6.1",
"notebook" : "7.6.0",
"notebook_shim" : "0.2.4",
"numpy" : "1.26.4",
"onnx" : "1.16.1",
"onnxruntime" : "1.19.2",
"opencv-contrib-python" : "4.11.0.86",
"opt_einsum" : "3.4.0",
"packaging" : "26.2",
"pandocfilters" : "1.5.1",
"parso" : "0.8.7",
"passlib" : "1.7.4",
"picklescan" : "1.0.5",
"pillow" : "12.3.0",
"pip" : "26.2.1",
"platformdirs" : "4.10.1",
"prometheus_client" : "0.25.0",
"prompt_toolkit" : "3.0.52",
"protobuf" : "4.25.9",
"psutil" : "7.2.2",
"pure_eval" : "0.2.3",
"pyasn1" : "0.6.4",
"pycparser" : "3.0",
"pydantic" : "2.13.4",
"pydantic-settings" : "2.14.2",
"pydantic_core" : "2.46.4",
"Pygments" : "2.20.0",
"pyparsing" : "3.3.2",
"PyPatchMatch" : "1.0.2",
"pyreadline3" : "3.5.6",
"python-dateutil" : "2.9.0.post0",
"python-dotenv" : "1.2.2",
"python-engineio" : "4.13.3",
"python-jose" : "3.5.0",
"python-json-logger" : "4.1.0",
"python-multipart" : "0.0.32",
"python-socketio" : "5.16.3",
"PyWavelets" : "1.9.0",
"pywinpty" : "3.0.5",
"PyYAML" : "6.0.3",
"pyzmq" : "27.1.0",
"referencing" : "0.37.0",
"regex" : "2026.7.19",
"requests" : "2.34.2",
"rfc3339-validator" : "0.1.4",
"rfc3986-validator" : "0.1.1",
"rfc3987-syntax" : "1.1.0",
"rich" : "15.0.0",
"rpds-py" : "2026.6.3",
"rsa" : "4.9.1",
"safetensors" : "0.8.0",
"scipy" : "1.17.1",
"scypy" : "0.0.8",
"semver" : "3.0.4",
"Send2Trash" : "2.1.0",
"sentencepiece" : "0.2.0",
"setuptools" : "78.1.0",
"shellingham" : "1.5.4",
"simple-websocket" : "1.1.0",
"six" : "1.17.0",
"sounddevice" : "0.5.5",
"soupsieve" : "2.9",
"spandrel" : "0.4.2",
"stack-data" : "0.6.3",
"starlette" : "0.48.0",
"sympy" : "1.14.0",
"terminado" : "0.18.1",
"tinycss2" : "1.5.1",
"tokenizers" : "0.22.2",
"torch" : "2.7.1+cu118",
"torchaudio" : "2.7.1+cu118",
"torchsde" : "0.2.6",
"torchvision" : "0.22.1+cu118",
"tornado" : "6.5.7",
"tqdm" : "4.69.0",
"traitlets" : "5.15.1",
"trampoline" : "0.1.2",
"transformers" : "5.5.4",
"typer" : "0.27.0",
"typing-inspection" : "0.4.2",
"typing_extensions" : "4.15.0",
"tzdata" : "2026.3",
"uri-template" : "1.3.0",
"urllib3" : "2.7.0",
"uvicorn" : "0.51.0",
"watchfiles" : "1.2.0",
"wcwidth" : "0.8.2",
"webcolors" : "25.10.0",
"webencodings" : "0.5.1",
"websocket-client" : "1.9.0",
"websockets" : "16.1.1",
"wrapt" : "2.2.2",
"wsproto" : "1.3.2",
"zipp" : "4.1.0"
},
"config": {
"schema_version": "4.0.3",
"legacy_models_yaml_path": null,
"host": "0.0.0.0",
"port": 9090,
"allow_origins": [],
"allow_credentials": true,
"allow_methods": [""],
"allow_headers": ["
"],
"ssl_certfile": null,
"ssl_keyfile": null,
"base_url": null,
"forwarded_allow_ips": "127.0.0.1",
"log_tokenization": true,
"patchmatch": true,
"models_dir": "models",
"convert_cache_dir": "models\.convert_cache",
"download_cache_dir": "models\.download_cache",
"legacy_conf_dir": "configs",
"db_dir": "databases",
"outputs_dir": "E:\InvokeAi\outputs",
"image_subfolder_strategy": "date",
"custom_nodes_dir": "nodes",
"style_presets_dir": "style_presets",
"workflow_thumbnails_dir": "workflow_thumbnails",
"log_handlers": ["console", "file=C:/Users/Witch/invokeai/invokedammiilog.log"],
"log_format": "color",
"log_level": "debug",
"log_sql": false,
"log_level_network": "warning",
"use_memory_db": false,
"dev_reload": false,
"profile_graphs": false,
"profile_prefix": null,
"profiles_dir": "profiles",
"max_cache_ram_gb": null,
"max_cache_vram_gb": null,
"log_memory_usage": false,
"model_cache_keep_alive_min": 0,
"device_working_mem_gb": 3.5,
"enable_partial_loading": true,
"keep_ram_copy_of_weights": true,
"ram": null,
"vram": null,
"lazy_offload": true,
"pytorch_cuda_alloc_conf": null,
"device": "auto",
"generation_devices": ["cuda:0"],
"offload_text_encoders_to_idle_gpus": true,
"precision": "float16",
"sequential_guidance": true,
"attention_type": "sliced",
"attention_slice_size": 4,
"force_tiled_decode": true,
"pil_compress_level": 1,
"max_queue_size": 10000,
"session_queue_mode": "round_robin",
"clear_queue_on_startup": false,
"max_queue_history": null,
"allow_nodes": null,
"deny_nodes": null,
"node_cache_size": 2024,
"hashing_algorithm": "blake3_multi",
"remote_api_tokens": [
{"url_regex": "cool-models.com", "token": ""},
{
"url_regex": "^https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%.\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%\\+.~#?&\\/=]
)$",
"token": "
"
},
{"url_regex": "huggingface.co", "token": "
"},
{
"url_regex": "^[-a-zA-Z0-9@:%.\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%\\+.~#?&\\/=]
)$",
"token": "
"
},
{
"url_regex": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/blob/main/sd3.5_large_controlnet_canny.safetensors",
"token": "
"
},
{"url_regex": "^[a-z]{3}whatever.
\.com$", "token": "
"},
{
"url_regex": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_blur.safetensors?download=true",
"token": "
"
},
{"url_regex": "^[a-z]{3}whatever.
\.com$", "token": "
"},
{
"url_regex": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/blob/main/sd3.5_large_controlnet_depth.safetensors",
"token": "
"
},
{
"url_regex": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_blur.safetensors?download=true",
"token": "
"
},
{
"url_regex": "(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\\s]{2,}|www\.[a-zA-Z0-9]+\.[^\\s]{2,})",
"token": "
"
},
{
"url_regex": "https?:\/\/(www\.)?[-a-zA-Z0-9@:%.\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%\+.~#?&//=]
)",
"token": "
*****"
}
],
"scan_models_on_startup": false,
"unsafe_disable_picklescan": false,
"allow_unknown_models": true,
"multiuser": false,
"strict_password_checking": false,
"external_alibabacloud_api_key": null,
"external_alibabacloud_base_url": null,
"external_gemini_api_key": null,
"external_openai_api_key": null,
"external_gemini_base_url": null,
"external_openai_base_url": null,
"external_seedream_api_key": null,
"external_seedream_base_url": null
},
"set_config_fields": [
"remote_api_tokens", "log_handlers", "attention_type", "attention_slice_size",
"host", "outputs_dir", "log_level", "sequential_guidance",
"node_cache_size", "hashing_algorithm", "legacy_models_yaml_path", "force_tiled_decode",
"log_tokenization", "precision", "device_working_mem_gb", "image_subfolder_strategy",
"generation_devices"
]
}

What happened

Image
[2026-08-14 14:41:59,203]::[InvokeAI]::DEBUG --> Unable to fsync file: C:\Users\witch\invokeai\outputs\images\05270af8-6a95-4b2b-b16c-c8ad361e95c5.png: [Errno 9] Bad file descriptor
[2026-08-14 14:41:59,203]::[InvokeAI]::DEBUG --> Unable to open directory for fsync: C:\Users\witch\invokeai\outputs\images: [Errno 13] Permission denied: 'C:\\Users\\witch\\invokeai\\outputs\\images'
[2026-08-14 14:41:59,204]::[InvokeAI]::DEBUG --> Unable to open directory for fsync: C:\Users\witch\invokeai\outputs\images\2025\10\23: [Errno 13] Permission denied: 'C:\\Users\\witch\\invokeai\\outputs\\images\\2025\\10\\23'
[2026-08-14 14:41:59,211]::[InvokeAI]::DEBUG --> Unable to fsync file: C:\Users\witch\invokeai\outputs\images\thumbnails\05270af8-6a95-4b2b-b16c-c8ad361e95c5.webp: [Errno 9] Bad file descriptor
[2026-08-14 14:41:59,211]::[InvokeAI]::DEBUG --> Unable to open directory for fsync: C:\Users\witch\invokeai\outputs\images\thumbnails: [Errno 13] Permission denied: 'C:\\Users\\witch\\invokeai\\outputs\\images\\thumbnails'
[2026-08-14 14:41:59,212]::[InvokeAI]::DEBUG --> Unable to open directory for fsync: C:\Users\witch\invokeai\outputs\images\thumbnails\2025\10\23: [Errno 13] Permission denied: 'C:\\Users\\witch\\invokeai\\outputs\\images\\thumbnails\\2025\\10\\23'
[2026-08-14 14:41:59,445]::[InvokeAI]::DEBUG --> Image storage maintenance is active

Okay so, after moving images to sub-folders (by date, but I suppose it would be the same for other sub-folders), windows refuses to move them again or clear intermediates.
It seems a problem of permissions but it is not. I changed all permissions and didn't change anything.

But I did found what could be the problem at this link:

https://stackoverflow.com/questions/27709093/error-trying-to-fsync-a-directory

What you expected to happen

I expected to be able to clear intermediates and moving images again trough the UI.

How to reproduce the problem

On windows, create images, move the images to sub-folders via the UI, try to clear intermediates. (Or try to move them again in another type of sub-folders)

Additional context

Guess happens only on windows

Discord username

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions