When I click the “ride of the week” tile, only the blue background is shown, not the ride and climb tiles. After a couple of minutes on that empty screen, zwift exits. Tried three times in a row, happened all three times.
Still running on Linux? I haven’t heard other reports of this (yet)
No issue on Apple TV
It’s still happening today, all other tiles work just fine. No lines are appended to the log file when I click the route of the week tile and while I’m on the empty screen.
There’s a LOT of spam about creating the zwift directory in the logs though (and I mean a lot, the log file is 350.000 lines long from being on the zwift home screen for about 4 minutes). Which doesn’t make sense since that directory exists and has the right permissions (confirmed manually and also evidenced by the prefs.xml file working correctly).
[9:12:24] Downloader::EnsurePath: Failed to create directory "C:\users\user\AppData\Local\Zwift". Error code: 4390 (unknown error).
[9:12:24] ENSUREPATH_PROBE platform=pc raw="C:\users\user\AppData\Local/Zwift/MapSchedule_v2.xml" parent="C:\users\user\AppData\Local\Zwift" parent_empty=0 raw_relative=0 has_forward_slash=1 has_backslash=1
This issue started with zwift v1.117
Deleting the Zwift AppData directory and restarting Zwift fixed the broken route of the week tile. So there’s definitely something fishy with updating to v1.117. The Failed to create directory… is still happening (but does not seem to affect functionality).
Doing some more research, it’s actually broken pretty badly.
- Clicking the workout of the week tile → zwift hangs
- Remove AppData/Local/Zwift to see if that fixes it
- Restart Zwift
- Zwift creates AppData/Local/Zwift with empty .logrecord file in it
- Workout of the week tile works again
- Since I deleted AppData/Local/Zwift, prefs.xml is also gone, so I pair devices and update settings
- Zwift writes prefs.xml, logs, … to Documents/Zwift instead of AppData/Local/Zwift
- I exit Zwift
- I copy the contents from Documents/Zwift to AppData/Local/Zwift
- I remove Documents/Zwift
- Start Zwift
- Settings are loaded from AppData/Local/Zwift/prefs.xml, logs are stored in appdata, …
- I change a setting and restart Zwift, it’s updated in AppData/Local/Zwift/prefs.xml
- The workout of the week tile is broken again
Excerpt from the log file (after removing the AppData directory, so step 3):
[9:05:06] ASSERT: "Failed to create Zwift directory for logrecord - this indicates a larger permissions issue", file=D:\git\zwift-game-client\Projects\ZwiftApp\CODE\MissingLogUploader.cpp, line=121
[9:05:06] INFO LEVEL: [FileIO] Game: Using user data path: C:\users\user\Documents
Note that it did manage to create AppData/Local/Zwift/.logrecord successfully even though it claims it failed in the log entry.
Excerpt from the log file (after copying Documents/Zwift to AppData/Local/Zwift, so step 11):
[10:11:05] ASSERT: "Failed to create Zwift directory for logrecord - this indicates a larger permissions issue", file=D:\git\zwift-game-client\Projects\ZwiftApp\CODE\MissingLogUploader.cpp, line=121
[10:11:05] INFO LEVEL: [FileIO] Game: Using user data path: C:\users\user\AppData\Local
That seems pretty bad @Paul_Southworth maybe you can convince Zwift staff to have a look?
I can try but if you are still running it in Linux it may be a hard sell unless we can replicate it on a supported Windows OS. Can you confirm you are using launcher 1.1.17?
Launcher version is 1.1.16, but it’s only used to install/update zwift. I don’t use the launcher to start zwift.
Do you have the option to install 1.1.17 and try using it to start Zwift? That would get you as close to a supported system as is possible. My understanding is that some of the data migration tasks were put in the launcher. I haven’t tried to study those details but the change from Documents\Zwift to %LocalAppData%\Zwift was associated with a launcher update. That might be a reason why there is general silence about this problem from other people.
Hi
I have the same issue.
Zwift details:
Launcher Version 1.1.16
Game Version 1.117.0 (162952)
The logs are flooded with the following:
[0:04:04] ENSUREPATH_PROBE platform=pc raw="C:\users\steamuser\AppData\Local/Zwift/MapSchedule_v2.xml" parent="C:\users\steamuser\AppData\Local\Zwift" parent_empty=0 raw_relative=0 has_forward_slash=1 has_backslash=1
[0:04:04] Downloader::EnsurePath: Failed to create directory "C:\users\steamuser\AppData\Local\Zwift". Error code: 4390 (unknown error).
Running on:
OS: CachyOS x86_64
Kernel: Linux 7.1.3-2-cachyos
I actually tried deleting the Zwift folder in AppData but for me it did not fix the issue. I have noticed however that the logs file grew over 1GB in size!
I use the launcher (run ZwiftLauncher.exe) to start Zwift and to update the game itself.
I have no idea however how to update the launcher manually. Do you have any advice?
It took some time to set everything up so I would not want to break things ![]()
For me the issue is currently not a big deal but I’m just afraid there might be further changes in the future that would affect other views/menus and at some point make the whole thing unusable.
Thanks!
My suggestions are to try it with the current launcher (1.1.17) and test it under Windows so you can access support. I have no reason to believe or not believe that this is related to running under Linux, but doing that cuts you off from support which it appears would be useful now.
I would love to hear from a Windows user who has seen this issue since that would help spur investigation.
A bit to my surprise, I managed to launch zwift with the v1.1.17 launcher. (the webview content did not work in the past, so couldn’t log in with the launcher, but it’s working now!)
[11:30:49 2026-07-16] Launcher: Auto Startup is Enabled.
[11:30:49 2026-07-16] Launcher: Launcher Version Number 1.1.17 (162624)
[11:30:49 2026-07-16] Launcher: Initializing UI Components
[11:30:49 2026-07-16] Launcher: Initializing Tray Components
[11:30:49 2026-07-16] Launcher: prefs.xml file found at C:\users\user\AppData\Local\Zwift\prefs.xml
[11:30:49 2026-07-16] Launcher: Initializing Patcher
[11:30:49 2026-07-16] Launcher: Attempting to create or access download folder at C:\users\user\AppData\Local\Zwift\launcher
[11:30:49 2026-07-16] Launcher: Attempting to create or access download folder at C:\Program Files (x86)\Zwift
[11:30:49 2026-07-16] Launcher: Attempting to create or access download folder at C:\users\user\AppData\Local\Temp\Zwift\Downloads
[11:30:49 2026-07-16] Launcher: Attempting to create or access download folder at C:\users\user\AppData\Local\Zwift
[11:30:49 2026-07-16] Launcher: Using user data path: C:\users\user\AppData\Local\Zwift
[11:30:49 2026-07-16] Launcher: prefs.xml file found at C:\users\user\AppData\Local\Zwift\prefs.xml
[11:30:49 2026-07-16] Launcher: Setting Login URL
[11:30:49 2026-07-16] Launcher: prefs.xml file found at C:\users\user\AppData\Local\Zwift\prefs.xml
[11:30:50 2026-07-16] Launcher: Found Launcher URL.
[11:30:50 2026-07-16] Launcher: prefs.xml file found at C:\users\user\AppData\Local\Zwift\prefs.xml
[11:30:50 2026-07-16] Launcher: Navigating to Login URL
[11:30:50 2026-07-16] Launcher: Checking for VerCur Override
[11:30:50 2026-07-16] Launcher: prefs.xml file found at C:\users\user\AppData\Local\Zwift\prefs.xml
[11:30:50 2026-07-16] [Info] CNL: 3.79.3
[11:30:50 2026-07-16] [Info] Machine Id: 1-dda952d7-816d-427f-83a1-a0d356e1b0a7
[11:30:50 2026-07-16] Patcher: Found ff vercur override: Zwift_ver_cur.162952.xml
[11:30:51 2026-07-16] Patcher: No config override
[11:30:51 2026-07-16] Patcher: Found update interval override: 12 hours
[11:30:51 2026-07-16] Launcher: Starting WebView2 Initialization
[11:30:51 2026-07-16] Launcher: WebView2 user data folder: ~\AppData\Local\Zwift\launcher\webview
[11:30:51 2026-07-16] Launcher: Creating WebView2 environment with userDataFolder: ~\AppData\Local\Zwift\launcher\webview
[11:30:51 2026-07-16] Launcher: WebView2 environment created, calling EnsureCoreWebView2Async
[11:30:51 2026-07-16] Launcher: Displaying Main Window.
[11:30:52 2026-07-16] Launcher: WebView2 initialized
[11:30:52 2026-07-16] Launcher: WebView2 browser version: 109.0.1518.140
[11:30:53 2026-07-16] Launcher: Checking for Internet Connection
[11:30:53 2026-07-16] Launcher: Patcher Update Process Check
[11:30:53 2026-07-16] Patcher: Patcher Version Number: "1.3.1".
[11:30:53 2026-07-16] Patcher: Local download path set to "C:\users\user\AppData\Local\Temp\Zwift\Downloads\".
[11:30:53 2026-07-16] Patcher: Server URL path set to "https://cdn.zwift.com/gameassets/Zwift_Updates_Root/".
[11:30:53 2026-07-16] Patcher: Local update path set to "C:\Program Files (x86)\Zwift\".
[11:30:53 2026-07-16] Patcher: Kicking download of "Zwift_ver_cur.162952.xml"...
[11:30:53 2026-07-16] Patcher: Kicking download of "Launcher_ver_cur.xml"...
[11:30:53 2026-07-16] Downloader: Created file handle for "C:\users\user\AppData\Local\Temp\Zwift\Downloads\Zwift_ver_cur.162952.xml".
[11:30:53 2026-07-16] Downloader: Created file handle for "C:\users\user\AppData\Local\Temp\Zwift\Downloads\Launcher_ver_cur.xml".
[11:30:53 2026-07-16] Downloader: "Launcher_ver_cur.xml" downloaded successfully (manifest checksum not provided, i.e. -1).
[11:30:53 2026-07-16] Downloader::Update m_filesCompleted.push_back path=C:/users/user/AppData/Local/Temp/Zwift/Downloads/Launcher_ver_cur.xml success=1[11:30:53 2026-07-16] Downloader: "Zwift_ver_cur.162952.xml" downloaded successfully (manifest checksum not provided, i.e. -1).
[11:30:53 2026-07-16] Downloader::Update m_filesCompleted.push_back path=C:/users/user/AppData/Local/Temp/Zwift/Downloads/Zwift_ver_cur.162952.xml success=1[11:30:53 2026-07-16] Patcher: Completed downloading server XML version files (Game & Launcher).
[11:30:53 2026-07-16] Patcher: Fetching version attribute from file: "C:\Program Files (x86)\Zwift\Zwift_ver_cur.162952.xml"
[11:30:53 2026-07-16] Patcher: Local version is "1.0.162952".
[11:30:53 2026-07-16] Patcher: Server version is "1.0.162952".
[11:30:53 2026-07-16] Patcher: Local manifest is "Zwift_1.0.162952_18758a5a_manifest.xml".
[11:30:53 2026-07-16] Patcher: Server manifest is "Zwift_1.0.162952_18758a5a_manifest.xml".
[11:30:53 2026-07-16] Patcher: Server manifest file checksum is "-2087735278".
[11:30:53 2026-07-16] Patcher: Server ver_cur checksum is "1117405824".
[11:30:53 2026-07-16] Patcher: Local Launcher version is "1.1.17".
[11:30:53 2026-07-16] Patcher: Server Launcher version is "0.0.0".
[11:30:53 2026-07-16] Patcher: Launcher URL for updating self is "www.zwift.com".
[11:30:53 2026-07-16] Patcher: No update available, deleting temp files...
[11:30:53 2026-07-16] Patcher: GetAllFoldersInDirectory found 881 folders
[11:30:53 2026-07-16] Downloader::ForgetCompleted path=Zwift_ver_cur.162952.xml[11:30:53 2026-07-16] Downloader::ForgetCompleted path=Launcher_ver_cur.xml[11:30:53 2026-07-16] Launcher: Launcher Update Process Check
[11:30:53 2026-07-16] Launcher: Checking for Game Update Availability
[11:30:53 2026-07-16] Launcher: Game Update Not Found
[11:30:53 2026-07-16] Launcher: Checking for update again in 12 hours
[11:31:00 2026-07-16] Launcher: ZwiftApp.exe is not running.
[11:31:00 2026-07-16] Launcher: Starting Zwift App.
[11:31:00 2026-07-16] Launcher: WebView2 navigation failed Status: ConnectionAborted, HttpStatusCode: 0
[11:31:10 2026-07-16] Launcher: ZL has a valid process pointer and the flag HasExited is False.
The launcher seems happy. But the game client is behaving exactly as in my op.
[11:31:00] Log Time: 11:31:00 2026-07-16
[11:31:00] Game Version: 1.117.0(162952) rc/1.117.0
[11:31:00] Config: Shipping
[11:31:00] Device: PC
[11:31:00] ASSERT: "Failed to create Zwift directory for logrecord - this indicates a larger permissions issue", file=D:\git\zwift-game-client\Projects\ZwiftApp\CODE\MissingLogUploader.cpp, line=121
[11:31:00] INFO LEVEL: [FileIO] Game: Using user data path: C:\users\user\AppData\Local
[11:31:00] [OS]: Time resolution(1000)
[11:31:00] [OS]: Initialized
[11:31:00] [ZWATCHDOG]: Initialized
[11:31:00] Launcher Version : 1.1.17
(using AppData/Zwift, workout of the week crashes, this time immediately instead of hanging until the os detects it and kills the process)
If you do a clean install it will automatically use the latest version of the launcher. If you let it update automatically, it will update after a while when zwift updates the version number to use for everyone.
Thanks for the instructions!
Downloaded the latest ZwiftSetup.exe binary and it updated the launcher to:
Launcher Version 1.1.17 (162624)
Before I launched the game I deleted the Zwift folder in AppData just in case.
I went straight to the Ride of the Week menu but the game crashed just as before!
Logs are once again flooded with:
[13:55:44] Downloader::EnsurePath: Failed to create directory "C:\users\steamuser\AppData\Local\Zwift". Error code: 4390 (unknown error).
[13:55:44] ENSUREPATH_PROBE platform=pc raw="C:\users\steamuser\AppData\Local/Zwift/MapSchedule_v2.xml" parent="C:\users\steamuser\AppData\Local\Zwift" parent_empty=0 raw_
relative=0 has_forward_slash=1 has_backslash=1
And right when clicking the Ride of the Week tile I get also the following errors:
[13:55:45] DEBUG LEVEL: [StructuredEvents] Queueing event. {eventCase: 102, timeNow: 1784202944371ms}
[13:55:45] ERROR LEVEL: [DiskCache] Cache must be initialized before use.
[13:55:45] ERROR LEVEL: [DiskCache] Cache must be initialized before use.
[13:55:45] ENSUREPATH_PROBE platform=pc raw="C:\users\steamuser\AppData\Local/Zwift/MapSchedule_v2.xml" parent="C:\users\steamuser\AppData\Local\Zwift" parent_empty=0 raw_relative=0 has_forward_slash=1 has_backslash=1
[13:55:45] Downloader::EnsurePath: Failed to create directory "C:\users\steamuser\AppData\Local\Zwift". Error code: 4390 (unknown error).
[13:55:45] ERROR LEVEL: [DiskCache] Cache must be initialized before use.
[13:55:45] ERROR LEVEL: [DiskCache] Cache must be initialized before use.
After that the game hangs (I launch it via Lutris) and there are no more log entries.
Is it still using AppData/Local/Zwift to store everything or did it switch to Documents/Zwift?
That’s such a weird symptom we’re seeing!
I believe Documents/Zwift was used before the 1.1.16 launcher update.
Just to be sure I deleted the Zwift folder in both locations and it got re-created only under:
../AppData/Local/Zwift
Of course the bug persists!
I managed to “solve” the issue but not sure how reliable my fix is and whether it won’t break anything else down the line ![]()
Basically I’ve noticed that steamuser was a symlink that pointed to my own user folder.
So what I did was delete the steamuser symlink and create a steamuser folder and copy all the data from my user folder to the steamuser.
Then I thought it was a bit silly to have two folders with the same data and experimented a bit and just deleted my user folder and created an empty one (if I didn’t do it a symlink with my username would be created and the launcher would crash!).
In summary:
- delete steamuser symlink
- create steamuser folder
- move data from user folder to steamuser
- the user folder will be empty and after launching the game only a Temp folder will be created there
Obviously just because it worked for me does not mean it will work for anyone else! Please make any backup as necessary, thanks!
We may have found the culprit then. Your AppData/Local/Zwift folder is a symlink. Mine is a volume mounted to a container. This worked fine in previous releases. So Zwift broke resolving (soft/hard)-links when checking if files/folders exist in v1.117.0!
This should be reproducible in windows!
Anyone with a windows system willing to try?
- Create a backup of the AppData/Local/Zwift directory just in case
- Rename AppData/Local/Zwift to AppData/Local/ZwiftOriginal
- Create a shortcut AppData/Local/Zwift to AppData/Local/ZwiftOriginal
- Launch Zwift
- See if you observe the behaviour discussed in this forum topic
Update: I tried it myself by installing Zwift on my work laptop (the only windows machine in this home). For step 3. I created a junction point using mklink /j Zwift ZwiftOriginal. Zwift still worked as expected, so a junction point is not enough to trigger this issue on Windows.
I did some further investigation to see what exactly is going on. And the AppData/Local/Zwift directory being a link (symbolic, hard, volume, mount, …) is indeed a problem now. This is a regression since it was working fine before Zwift v1.117.0.
Symptoms:
- Ride of the week tile is not working
- Climb portal tiles are not loading (this is what’s really happening and causing the route of the week tile to crash)
- When the game client starts
ASSERT: "Failed to create Zwift directory for logrecord - this indicates a larger permissions issue", file=D:\git\zwift-game-client\Projects\ZwiftApp\CODE\MissingLogUploader.cpp, line=121Note that the .logrecord file is created just fine, so the ASSERT is lying. - While the game client is running, the log is flooded with
Downloader::EnsurePath: Failed to create directory "C:\users\user\AppData\Local\Zwift". Error code: 4390 (unknown error).
None of these symptoms happen if the AppData/Local/Zwift is not a link to somewhere else.
So my question to Zwift is, what changed in v1.117.0? Is this a bug in Zwift or is a new api being used that is not supported by Wine? The second seems unlikely since I analyzed the Wine logs and see no indication of this.
It’s still broken in v1.118.0