DGX Spark - NVIDIA Sync AI Workbench launch issue

Hello,

I’m setting up a new DGX Spark and I have managed to install all the applications via NVIDIA Sync, howerer, when I launch AI Work Bench I get the following error.

Application Error

could not get nvwb cli version: fork/exec C:\..\..\AppData\Local\NVIDIA Corporation\AI Workbench\.nvwb\bin\nvwb-cli.exe: The system cannot find the path specified.

Having browsed to the specified path, nvwb doesn’t exist.

My PC is on Windows 11 Education.

Thank you.

Sounds like it could be an installation issue. Please follow the Win11 installer instructions Install, Update, and Uninstall on Windows — NVIDIA AI Workbench User Guide
Then rerun NV Sync

This is the error:

AI Workbench is installed system wide in C:\Program Files\NVIDIA AI Workbench\ and not per user.

nvwb-cli is located in C:\Program Files\NVIDIA AI Workbench\resources\bin\ and not in user’s AppData

The AI Workbench launches okay, just not from Sync menu!

This is what’s in $USER directory:

PS C:\Users\elsac\AppData\Local\NVIDIA Corporation\AI Workbench> ls

Directory: C:\Users\elsac\AppData\Local\NVIDIA Corporation\AI Workbench

Mode                 LastWriteTime         Length Name




d----          10/28/2025  3:24 PM                blob_storage
d----          10/28/2025  2:56 PM                Cache
d----          10/28/2025  2:56 PM                Code Cache
d----          10/28/2025  2:56 PM                DawnGraphiteCache
d----          10/28/2025  2:56 PM                DawnWebGPUCache
d----          10/28/2025  2:56 PM                GPUCache
d----          10/28/2025  3:28 PM                IndexedDB
d----          10/28/2025  3:08 PM                integrations
d----          10/28/2025  2:56 PM                Local Storage
d----          10/28/2025  2:56 PM                logs
d----          10/28/2025  3:28 PM                Network
d----          10/28/2025  3:24 PM                registries
d----          10/28/2025  3:24 PM                Session Storage
d----          10/28/2025  2:56 PM                Shared Dictionary
d----          10/28/2025  3:28 PM                WebStorage
-a—          10/28/2025  2:56 PM             36 .updaterId
-a—           9/29/2025 11:48 AM       14356512 credential-manager.exe
-a—          10/28/2025  2:56 PM            434 Local State
-a—          10/28/2025  3:24 PM             57 Preferences
-a—          10/28/2025  2:58 PM           4096 SharedStorage
-a—          10/28/2025  3:26 PM              0 SharedStorage-wal
-a—          10/28/2025  3:24 PM            108 versions

I have installed AI Workbench on my Windows system and it runs fine through NV Sync so there is probably an issue with your installation. The file locations are the same as you shared as well. Can you attach or send me the NV Sync logs so we can see why it can’t find the right files?
NV Sync logs can be found C:\Users\<username>\AppData\Local\NVIDIA Corporation\Sync\logs

Hi, I have followed the guide, I’m still getting the same issue from trying to launch workbench from nvidia sync. I can, however, launch workbench locally and add the spark as a remote location and still work. But I’d like nvidia sync to work properly. Here is my log when I try to launch workbench from nvidia sync.

“level”:“info”,“time”:“2025-10-29T17:52:23.019Z”,“source”:“cli”,“message”:[“executeCLICommand”,“status”,[“spark-xxxx”]]}
{“level”:“info”,“time”:“2025-10-29T17:52:23.022Z”,“source”:“cli”,“message”:[“cliPath: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe", status args: spark-xxxx, [command, …stringArgs]: status,spark-xxxx”]}
{“level”:“info”,“time”:“2025-10-29T17:52:23.023Z”,“source”:“async-spawn”,“message”:[“spawnProcess: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe" args: status,spark-xxxx “]}
{“level”:“info”,“time”:“2025-10-29T17:52:23.243Z”,“source”:“async-spawn”,“message”:[”"C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe"”,[“status”,“spark-xxxx”],“Process exited with code 0”]}
{“level”:“info”,“time”:“2025-10-29T17:52:23.244Z”,“source”:“async-spawn”,“message”:[“asyncSpawn: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe" args: status,spark-xxxx success”]}
{“level”:“info”,“time”:“2025-10-29T17:52:23.245Z”,“source”:“cli”,“message”:[“status args: spark-xxxx, result: {\n "status": "RUNNING",\n "error": "",\n "ports": {\n "11000": {\n "status": "OPENED",\n "error": ""\n },\n "11002": {\n "status": "OPENED",\n "error": ""\n }\n }\n}\n”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.661Z”,“source”:“tray”,“message”:[“Primary tray action triggered by ‘click’ event.”,{“bounds”:{“x”:2346,“y”:1215,“width”:40,“height”:40}}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.663Z”,“source”:“tray”,“message”:[“Setting main window position, provided height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.664Z”,“source”:“tray”,“message”:[“Using height:”,429,“stored height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.665Z”,“source”:“tray”,“message”:[“Current tray bounds:”,{“x”:2346,“y”:1215,“width”:40,“height”:40}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.665Z”,“source”:“tray”,“message”:[“Current cursor point:”,{“x”:2366,“y”:1235}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.666Z”,“source”:“tray”,“message”:[“Calculated fixed screen position for Windows:”,{“x”:2223,“y”:953,“width”:327,“height”:429}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.667Z”,“source”:“tray”,“message”:[“updateWindowPosition called with height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.667Z”,“source”:“create-window”,“message”:[“Blur hiding disabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.671Z”,“source”:“tray”,“message”:[“Current window state:”,{“windowBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“contentBounds”:{“x”:-32000,“y”:-32000,“width”:0,“height”:0},“requestedSize”:{“width”:327,“height”:429},“requestedPosition”:{“x”:2223,“y”:953}}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.672Z”,“source”:“tray”,“message”:[“Window size unchanged:”,327,429,“requested:”,327,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.674Z”,“source”:“create-window”,“message”:[“Blur hiding enabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.674Z”,“source”:“tray”,“message”:[“Window correctly positioned”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.675Z”,“source”:“create-window”,“message”:[“Blur hiding disabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.702Z”,“source”:“create-window”,“message”:[“Window main show event”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.703Z”,“source”:“tray”,“message”:[“Main window shown”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.704Z”,“source”:“create-window”,“message”:[“Main window focus event, updating position”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.705Z”,“source”:“tray”,“message”:[“Setting main window position, provided height:”,0]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.705Z”,“source”:“tray”,“message”:[“Using height:”,429,“stored height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.706Z”,“source”:“tray”,“message”:[“Windows platform detected, allowing reposition for tray alignment”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.708Z”,“source”:“tray”,“message”:[“Current tray bounds:”,{“x”:2346,“y”:1215,“width”:40,“height”:40}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.709Z”,“source”:“tray”,“message”:[“Current cursor point:”,{“x”:2367,“y”:1235}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.709Z”,“source”:“tray”,“message”:[“Calculated fixed screen position for Windows:”,{“x”:2223,“y”:953,“width”:327,“height”:429}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.711Z”,“source”:“tray”,“message”:[“updateWindowPosition called with height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.711Z”,“source”:“create-window”,“message”:[“Blur hiding disabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.715Z”,“source”:“tray”,“message”:[“Current window state:”,{“windowBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“contentBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“requestedSize”:{“width”:327,“height”:429},“requestedPosition”:{“x”:2223,“y”:953}}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.716Z”,“source”:“tray”,“message”:[“Window size unchanged:”,327,429,“requested:”,327,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.719Z”,“source”:“create-window”,“message”:[“Blur hiding enabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.720Z”,“source”:“tray”,“message”:[“Window correctly positioned”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.721Z”,“source”:“main:init-window-events”,“message”:[“resize-window”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.722Z”,“source”:“tray”,“message”:[“Setting main window position, provided height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.722Z”,“source”:“tray”,“message”:[“Using height:”,429,“stored height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.723Z”,“source”:“tray”,“message”:[“Windows platform detected, allowing reposition for tray alignment”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.724Z”,“source”:“tray”,“message”:[“Current tray bounds:”,{“x”:2346,“y”:1215,“width”:40,“height”:40}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.725Z”,“source”:“tray”,“message”:[“Current cursor point:”,{“x”:2367,“y”:1235}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.726Z”,“source”:“tray”,“message”:[“Calculated fixed screen position for Windows:”,{“x”:2223,“y”:953,“width”:327,“height”:429}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.726Z”,“source”:“tray”,“message”:[“updateWindowPosition called with height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.727Z”,“source”:“create-window”,“message”:[“Blur hiding disabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.732Z”,“source”:“tray”,“message”:[“Current window state:”,{“windowBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“contentBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“requestedSize”:{“width”:327,“height”:429},“requestedPosition”:{“x”:2223,“y”:953}}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.733Z”,“source”:“tray”,“message”:[“Window size unchanged:”,327,429,“requested:”,327,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.735Z”,“source”:“create-window”,“message”:[“Blur hiding enabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.736Z”,“source”:“tray”,“message”:[“Window correctly positioned”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.737Z”,“source”:“create-window”,“message”:[“Main window focus event, updating position”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.738Z”,“source”:“tray”,“message”:[“Setting main window position, provided height:”,0]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.739Z”,“source”:“tray”,“message”:[“Using height:”,429,“stored height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.739Z”,“source”:“tray”,“message”:[“Windows platform detected, allowing reposition for tray alignment”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.740Z”,“source”:“tray”,“message”:[“Current tray bounds:”,{“x”:2346,“y”:1215,“width”:40,“height”:40}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.742Z”,“source”:“tray”,“message”:[“Current cursor point:”,{“x”:2367,“y”:1235}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.743Z”,“source”:“tray”,“message”:[“Calculated fixed screen position for Windows:”,{“x”:2223,“y”:953,“width”:327,“height”:429}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.744Z”,“source”:“tray”,“message”:[“updateWindowPosition called with height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.744Z”,“source”:“create-window”,“message”:[“Blur hiding disabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.749Z”,“source”:“tray”,“message”:[“Current window state:”,{“windowBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“contentBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“requestedSize”:{“width”:327,“height”:429},“requestedPosition”:{“x”:2223,“y”:953}}]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.750Z”,“source”:“tray”,“message”:[“Window size unchanged:”,327,429,“requested:”,327,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.752Z”,“source”:“create-window”,“message”:[“Blur hiding enabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:26.753Z”,“source”:“tray”,“message”:[“Window correctly positioned”]}
{“level”:“info”,“time”:“2025-10-29T17:52:27.109Z”,“source”:“create-window”,“message”:[“Blur hiding enabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:27.967Z”,“source”:“async-spawn”,“message”:[“spawnProcess: wsl args: -d,NVIDIA-Workbench,-u,workbench,/home/workbench/.nvwb/bin/nvwb-cli,list,contexts,-o,json “]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.276Z”,“source”:“cli”,“message”:[“executeCLICommand”,“status”,[“spark-xxxx”]]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.277Z”,“source”:“cli”,“message”:[“cliPath: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe", status args: spark-xxxx, [command, …stringArgs]: status,spark-xxxx”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.278Z”,“source”:“async-spawn”,“message”:[“spawnProcess: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe" args: status,spark-xxxx “]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.308Z”,“source”:“async-spawn”,“message”:[“wsl”,[”-d”,“NVIDIA-Workbench”,”-u”,“workbench”,“/home/workbench/.nvwb/bin/nvwb-cli”,“list”,“contexts”,“-o”,“json”],“Process exited with code 0”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.309Z”,“source”:“async-spawn”,“message”:[“asyncSpawn: wsl args: -d,NVIDIA-Workbench,-u,workbench,/home/workbench/.nvwb/bin/nvwb-cli,list,contexts,-o,json success”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.311Z”,“source”:“nvwb-cli”,“message”:[“listContexts result”,{“success”:true,“stdout”:“{\n "result": [\n {\n "name": "local",\n "description": "My Computer (myComputer)",\n "hostname": "localhost",\n "workbenchDir": "/home/workbench/.nvwb",\n "contextType": "local",\n "contextTypeMetadata": {},\n "sshKeyPath": null,\n "sshUsername": null,\n "sshPort": null,\n "sshFingerprint": null,\n "proxyPort": 10000,\n "servicePort": 10001,\n "status": "stopped",\n "externalAccess": "disabled"\n }\n]\n}\n”,“stderr”:“”,“code”:0}]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.312Z”,“source”:“cli”,“message”:[“executeCLICommand”,“nvwb”,[“create-context”,“spark-spark-xxxx”,“spark-xxxx”]]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.313Z”,“source”:“cli”,“message”:[“cliPath: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe", nvwb args: create-context,spark-spark-xxxx,spark-xxxx, [command, …stringArgs]: nvwb,create-context,spark-spark-xxxx,spark-xxxx”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.314Z”,“source”:“async-spawn”,“message”:[“spawnProcess: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe" args: nvwb,create-context,spark-spark-xxxx,spark-xxxx “]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.497Z”,“source”:“async-spawn”,“message”:[”"C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe"”,[“status”,“spark-xxxx”],“Process exited with code 0”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.498Z”,“source”:“async-spawn”,“message”:[“asyncSpawn: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe" args: status,spark-xxxx success”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.499Z”,“source”:“cli”,“message”:[“status args: spark-xxxx, result: {\n "status": "RUNNING",\n "error": "",\n "ports": {\n "11000": {\n "status": "OPENED",\n "error": ""\n },\n "11002": {\n "status": "OPENED",\n "error": ""\n }\n }\n}\n”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.729Z”,“source”:“async-spawn”,“message”:[“"C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe"”,[“nvwb”,“create-context”,“spark-spark-xxxx”,“spark-xxxx”],“Process exited with code 1”]}
{“level”:“error”,“time”:“2025-10-29T17:52:28.730Z”,“source”:“async-spawn”,“message”:[“asyncSpawn: "C:\Users\xxxx\AppData\Local\Programs\nvidia-sync\resources\bin\nvsync-amd64.exe" args: nvwb,create-context,spark-spark-xxxx,spark-xxxx error”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.731Z”,“source”:“cli”,“message”:[“nvwb args: create-context,spark-spark-xxxx,spark-xxxx, result: {\n "heading": "Unexpected Error",\n "details": "could not get nvwb cli version: fork/exec C:\\Users\\xxxx\\AppData\\Local\\NVIDIA Corporation\\AI Workbench\\.nvwb\\bin\\nvwb-cli.exe: The system cannot find the path specified."\n}\n”]}
{“level”:“error”,“time”:“2025-10-29T17:52:28.733Z”,“source”:“main:window:applications”,“message”:[“Error: could not get nvwb cli version: fork/exec C:\Users\xxxx\AppData\Local\NVIDIA Corporation\AI Workbench\.nvwb\bin\nvwb-cli.exe: The system cannot find the path specified.”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.747Z”,“source”:“main:init-window-events”,“message”:[“resize-window”,650]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.748Z”,“source”:“tray”,“message”:[“Setting main window position, provided height:”,650]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.749Z”,“source”:“tray”,“message”:[“Using height:”,650,“stored height:”,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.750Z”,“source”:“tray”,“message”:[“Windows platform detected, allowing reposition for tray alignment”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.751Z”,“source”:“tray”,“message”:[“Current tray bounds:”,{“x”:2350,“y”:1392,“width”:32,“height”:48}]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.752Z”,“source”:“tray”,“message”:[“Current cursor point:”,{“x”:2367,“y”:1235}]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.752Z”,“source”:“tray”,“message”:[“Calculated fixed screen position for Windows:”,{“x”:2223,“y”:732,“width”:327,“height”:650}]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.753Z”,“source”:“tray”,“message”:[“updateWindowPosition called with height:”,650]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.754Z”,“source”:“create-window”,“message”:[“Blur hiding disabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.758Z”,“source”:“tray”,“message”:[“Current window state:”,{“windowBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“contentBounds”:{“x”:2223,“y”:953,“width”:327,“height”:429},“requestedSize”:{“width”:327,“height”:650},“requestedPosition”:{“x”:2223,“y”:732}}]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.759Z”,“source”:“tray”,“message”:[“Setting window size to:”,327,650,“from current:”,327,429]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.763Z”,“source”:“tray”,“message”:[“After setting size:”,{“windowBounds”:{“x”:2223,“y”:953,“width”:327,“height”:650},“contentBounds”:{“x”:2223,“y”:953,“width”:327,“height”:650},“sizeDifference”:{“width”:0,“height”:0}}]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.767Z”,“source”:“create-window”,“message”:[“Blur hiding enabled for main window”]}
{“level”:“info”,“time”:“2025-10-29T17:52:28.768Z”,“source”:“tray”,“message”:[“Window correctly positioned”]}
{“level”:“info”,“time”:“2025-10-29T17:52:29.927Z”,“source”:“create-window”,“message”:[“Main window blur event, minimizing window on Windows”]}

What version of NV Sync do you have? It should be 0.41.22

Yep, it is, and I’m using Windows 11 Education 24H2

May not be related, but just in case I am commenting. The “normal” installation for AI Workbench on Windows consistently failed for me. I did not have WSL prior to installing and the installation of AI Workbench seemed to fail related to WSL (yes, WSL 2, just leaving off the number for convenience).
So, I cleaned up the partial installation, and then installed WSL directly with defaults (as I recall).
Then, the next time I tried to AI Workbench it worked. Seems like there was some complaint at some point, but it claims to have succeeded. I have not really tried anything yet.
ADVICE: Install Timeshift on your Spark(s) as soon as possible and take checkpoints/snapshots at important stages, like before and after changing anything significant. Your snapshots cannot be over the network to a NAS as I discovered, so just go ahead with the default storing them on the same local storage as the OS. This won’t protect against drive failure, but it can help with mistakes you might make to the system.

On Windows, the Workbench installs a container name NVIDIA-Workbench that’s why WSL is required.

The instructions clearly state WSL2 is required for AI Workbench to run. The issue here is what NVIDIA Sync is pointing to, it might be a registry issue.

AI Workbench works fine if launched from the start menu, I have run projects on the local windows PC and I am able to add a remote location for the DGX spark. That works fine. The only issue is launchng from NVIDIA Sync on the windows PC.

same issue here - it’s (nvidia sync) looking for nvwb-cli.exe, but that isn’t actually in the user profile:
..\AppData\Local\NVIDIA Corporation\AI Workbench\.nvwb\ ← this folder isn’t created. subfolder ‘bin’ and nvwb-cli.exe is also missing (no parent ;)), at least for me.

interestingly, workbench drops a binary here: C:\Program Files\NVIDIA AI Workbench\resources\bin\nvwb-cli (this looks to be the same binary as my linux box for doing the ai workbench install /shrug - not a win32 bin though)

wonder if either sync is missing it’s mark (unable to get through
seems like sync might be missing something in the build

deets:
win 11, 25h2
sync ver: 0.41.22
workbench from the latest install
if needed: wsl ver:
C:>wsl --version
WSL version: 2.6.1.0
Kernel version: 6.6.87.2-1
WSLg version: 1.0.66
MSRDC version: 1.2.6353
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.7171

and:
C:>wsl --list --verbose
NAME STATE VERSION
NVIDIA-Workbench Running 2
docker-desktop Running 2

That’s what I have. I tried copying the files and creating the phantom Bin folder. Sync thinks about it for a little longer and then comes back with the same message! Still no solution to this issue.

did all the usuals with nogo

Built a fresh load OS with prereqs and tried again - same deal
pretty sure this is an issue inside of nvidia sync at this point (not much we can do to work around it outside of manual steps to build whatever connector they’re using - not sure if anyone has steps for manually recreating it?)

Otherwise, just gotta use ai workbench gui until they sort it. apps like vs code i’ve tried seem to work okay ( haven’t tried windsurf or cursor yet since I don’t use them but maybe i’ll give them a shot and see if they have similar issues)

Is Sync working and can’t launch Workbench? Make sure Sync can connect to the remote device first. Then launch Workbench and watch C:\Users\$USER\AppData\Local\NVIDIA Corporation\AI Workbench\logs\main.log to see what’s going on.

If Windows, use Get-Content -Wait -Path “main.log" or tail -f on Linux & MacOS.

yup - sync connects. terminal works great, visual studio code, etc.
It’s just ai workbench (so far) @elsaco
Logs reflect the same thing - everythings dandy except it can’t find nvwb-cli (which doesn’t exist in the windows installs, apparently).

*i’ll be seeing if we have similar issues with cursor later tonight since I wanted to test it out - haven’t tried it yet

Edit: tried cursor - also worked good - no nvwb-cli dependency [doesn’t even try for the exe anywhere according to procmon ;P ] (same as setup with vs code) - so issue seems to be specific to nvidia ai workbench, as expected (i mean, kinda figured - but heck, worth a shot for testing ;))

Setting up remote location in AI workbench directly works fine (outside of dns issues resolving network names locally which is unrelated to the event - ip works)

p.s. - no issues on ubuntu, only via windows as the client for sync.

When NVIDIA AI Workbench is being installed, a WSL container named NVIDIA-Workbench is registered, and the files in C:\Program Files\NVIDIA AI Workbench\resources\bin\ are being imported in the container under /home/workbench/.nvwb/ That’s why there is the nvwb-cli Linux binary in the host filesystem.

The container is just a Ubuntu Jammy from cloud-images.ubuntu.com:

[info]  (download-util) downloadFile() https://cloud-images.ubuntu.com/wsl/releases/jammy/current/ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz

A user workbench is added to the container:

[info]  (configure-distro) RUNNING:  wsl -u root -d NVIDIA-Workbench -- useradd -m -s /bin/bash workbench

then the two utilities from the host side are being copied into Workbench:

 {
    to: '/home/workbench/.nvwb/bin/wb-svc',
    from: '"C:\\Program Files\\NVIDIA AI Workbench\\resources\\bin\\wb-svc"'
  },
  {
    to: '/home/workbench/.nvwb/bin/nvwb-cli',
    from: '"C:\\Program Files\\NVIDIA AI Workbench\\resources\\bin\\nvwb-cli"'
  },
  {
    to: 'C:\\Users\\elsaco\\AppData\\Local\\NVIDIA Corporation\\AI Workbench\\credential-manager.exe',
    from: '"C:\\Program Files\\NVIDIA AI Workbench\\resources\\bin\\credential-manager.exe"'
  }

There is no nvwb-cli.exe

If you remove the container and launch the Workbench it will go through the setup again. It might fix your issue!

thanks for the reply

I do agree - but the problem is the sync application is actually looking for an ‘nvwb-cli.exe’ stashed in the dir listed above.

For giggles, gave unregisternig the wsl entity ‘NVIDIA-Workbench’ and re-adding it a shot. no go. same error. Thought I did that before but wasn’t 100% sure lol

Note - Nvidia sync is NOT looking at the wsl container (nvidia-workbench) for the bin and trying to do anything inside of wsl. it’s looking for it in the app data of the user profile running it in the win32 environment but.. that item isn’t there.

Easiest way to replicate this is throw in a new profile and install sync and ai workbench and give it a go - happens on fresh loads for new profiles as well as new OS loads (just threw together a few images to test it after nuking the wsl container)

For ref:
On my ubuntu machine, it’s looking for nvwb-cli in the following location:
/opt/NVIDIA AI Workbench/resources/bin/nvwb-cli (which is valid - and does fancy stuff)

on the windows machine, the ref is for:
the ref for nvwb-cli itself (./mnt/c/Program Files/NVIDIA AI Workbench/resources/bin/nvwb-cli

figured i’d trace this line of reasoning a bit more to see where it goes

procmon records that nvsync-amd64.exe (the host process for sync) - tries the following:

  1. get any additional execution params from: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\nvwb-cli.exe (none exist, not found)
  2. uses this path: (userprofile)\AppData\Local\NVIDIA Corporation\AI Workbench.nvwb\bin\nvwb-cli.exe to run:
    nvwb create-context (device) (ip)

which is interesting since nvwb would be inside the container, but it’s trying to execute it in the OSE level, not the wsl container…
So issue seems to be the sync tool is either:
A. missing binaries outside of the nvidia WSL container (nvwb-cli to get nvwb)
B. should be trying to execute inside of the wsl environment (NVIDIA-Workbench) but isn’t…
hrm.

1 Like

I have also been beating my head against this issue all day. I have reached the end of the internet and from what I can tell, (1) the sync tool installed on other platforms (maybe Ubuntu) may have configuration options for the applications it launches, but the one for Windows does not. (2) The sync tool for Windows is looking in the %localappdata% location for the .exe but the Windows install of AI Workbench does not add a nvwb-cli.exe there. It appears it is installing to the Windows directory C:\Program Files\NVIDIA AI Workbench\resources\bin and the WSL location \wsl.localhost\NVIDIA-Workbench\home\workbench.nvwb\bin
(3) You cannot simply copy the file to the location sync expects it to be and add the .exe extension. This results in an incompatible version error.

1 Like

was 99% sure this wouldn’t work but for giggles i constructed a passthrough to the wsl binary that passes the args and returns any output as is from nvwb-cli inside of the wsl container - thought it would be funny to try:

image

as expected, it didn’t work :P

but now i know how to goof around with wsl from outside the ose lol