Environment
- Windows 11 Home (build 26200), VS Code 1.139.0
- nRF Kconfig 2026.9.356 (regression; 2026.6.334 works), nRF Connect 2026.9.2797, nRF DeviceTree 2026.9.977
- nRF Connect SDK v3.3.1, toolchain 936afb6332 (CMake 4.2.1, ninja 1.13.2)
- Board: nrf52840dk/nrf52840, sysbuild build
Symptom
After a successful pristine build, the Problems panel shows:
Kconfig Language Server cannot start for build 'build_app'. Try rebuilding or do the pristine build to fix this issue.
The Kconfig status bar item shows "no context", and the Kconfig output only logs No context for .../src/main.c. Because of this, C files get false warnings, e.g. The GPIO drivers must be enabled by CONFIG_GPIO to be included in the build on #include <zephyr/drivers/gpio.h>, although CONFIG_GPIO=y is in the generated .config. Rebuilding, pristine rebuilding and reloading the window do not help. Building and flashing work normally.
Root cause
In dist/extension.js, the ninja runner's runTarget() (used by addBuild()) changed how it queries the menuconfig target:
- 2026.6.334:
ninja -v -n sysbuild_menuconfig - 2026.9.356:
ninja -t commands sysbuild_menuconfig
On Windows, CMake wraps the long menuconfig command in a .bat file, so the output contains no menuconfig.py env and the code falls back to this regex, which is the same in both versions:
/\[(\d+\/\d+)\]\s(?<batchFn>.+\.bat)(?<rest>.*)/
ninja -v -n prints a progress prefix, but ninja -t commands never does:
> ninja -v -n sysbuild_menuconfig [0/1] _sysbuild\CMakeFiles\sysbuild_menuconfig-1e014e8.bat da8f7097bdf2b385 > ninja -t commands sysbuild_menuconfig _sysbuild\CMakeFiles\sysbuild_menuconfig-1e014e8.bat da8f7097bdf2b385
The regex therefore never matches, _regenerateNeeded stays true, addBuild() records the build as requiring regeneration, and setMainBuild() fires kconfig/regenerationNeeded, which produces the warning above.
The non-sysbuild target shows the same output format (ninja -C <build>/<image> -t commands menuconfig gives CMakeFiles\menuconfig-5f29641.bat 673f077d20e1e163). So this probably affects any Windows build where CMake wraps the command in a .bat, not only sysbuild.
Verification
Running the extension's regex on the real ninja -t commands output fails. With the prefix made optional, it matches _sysbuild\CMakeFiles\sysbuild_menuconfig-1e014e8.bat. That file exists and contains \cmake.exe -E env , so the rest of the existing Windows fallback path would proceed normally.
Suggested fix
Make the progress prefix optional, e.g.:
/(?:\[\d+\/\d+\]\s)?(?<batchFn>\S+\.bat)(?<rest>.*)/
Workaround
Installing nRF Kconfig 2026.6.334 via "Install Specific Version".