I have:
Bug description
Quarto 1.9.36 fails with Theme file compilation failed on Windows systems where Group Policy blocks execution of .bat files from the %TEMP% directory (common in corporate/enterprise environments).
The root cause is a regression in how Dart Sass is invoked. In Quarto 1.8.25, sass.bat --version was called directly from the Quarto installation directory (C:\Program Files\...\dart-sass\sass.bat), which is in a trusted/allowed path. In Quarto 1.9.36, the same Sass check is now routed through a temporary wrapper batch file (quarto-safe-exec*.bat) written to %TEMP% and executed via cmd /c. On locked-down systems, Group Policy (Software Restriction Policies / AppLocker) blocks .bat execution from %TEMP%, causing the Sass check to fail.
Note that the quarto-safe-exec mechanism is also used in 1.8.25 for optional tool checks (TinyTeX, Chromium, LaTeX, Chrome) — those also fail with exit code 1, but they are handled gracefully as "not installed"/"not detected." The difference is that in 1.9.36, Dart Sass — a critical, non-optional dependency — is now also called via this mechanism, and its failure is fatal.
Steps to reproduce
- Use a Windows machine with Group Policy / AppLocker rules that block execution of
.bat files from the user's %TEMP% directory (common in enterprise environments).
- Install Quarto 1.9.36 (e.g., bundled with Positron).
- Run:
quarto check --log-level debug
Actual behavior
quarto check crashes with Theme file compilation failed:
[execProcess] cmd /c C:\Users\<USERNAME>\AppData\Local\Temp\quarto-safe-exec91e465e27a39d068.bat
[execProcess] Success: false, code: 1
[DART path] : C:\Program Files\Positron\resources\app\quarto\bin\tools\x86_64\dart-sass\sass.bat
[DART args] : --version
[DART stdout] :
[DART stderr] : This program is blocked by group policy. For more information, contact your system administrator.
ERROR: Theme file compilation failed:
Stack trace:
at processResult (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:79072:13)
at dartCommand (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:79089:12)
...
The Sass invocation goes through a quarto-safe-exec*.bat wrapper in %TEMP%, which is blocked by Group Policy.
Expected behavior
quarto check should succeed, as it does with Quarto 1.8.25. In 1.8.25, sass.bat is called directly from the installation directory and succeeds:
[execProcess] C:\Program Files\RStudio\resources\app\bin\quarto\bin\tools\x86_64\dart-sass\sass.bat --version
[execProcess] Success: true, code: 0
Dart Sass version 1.87.0: OK
Possible fix:
- Revert Dart Sass invocation to call
sass.bat directly (as in 1.8.25) instead of via the safe-exec wrapper.
Your environment
- IDE: Positron Version: 2026.04.0 (system setup) build 269 (with bundled Quarto 1.9.36)
- OS: Windows_NT x64 10.0.26200 (corporate/enterprise environment with Group Policy restrictions)
- Also tested with: RStudio (with bundled Quarto 1.8.25) — works correctly
Quarto check output
$ quarto check --log-level debug
Quarto version: 1.9.36
Quarto 1.9.36
[>] Checking environment information...
Quarto cache location: C:\Users<USERNAME>\AppData\Local\quarto
[>] Checking versions of quarto binary dependencies...
[execProcess] C:\Program Files\Positron\resources\app\quarto\bin\tools\pandoc --version
[execProcess] Success: true, code: 0
[execProcess] cmd /c C:\Users<USERNAME>\AppData\Local\Temp\quarto-safe-exec91e465e27a39d068.bat
[execProcess] Success: false, code: 1
[DART path] : C:\Program Files\Positron\resources\app\quarto\bin\tools\x86_64\dart-sass\sass.bat
[DART args] : --version
[DART stdout] :
[DART stderr] : This program is blocked by group policy. For more information, contact your system administrator.
[NotebookContext]: Starting Cleanup
ERROR: Theme file compilation failed:
Stack trace:
at processResult (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:79072:13)
at dartCommand (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:79089:12)
at eventLoopTick (ext:core/01_core.js:179:7)
at async checkVersions (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:163474:24)
at async check (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:163388:9)
at async _Command.actionHandler (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:163784:3)
at async _Command.execute (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:102022:7)
at async _Command.parseCommand (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:101899:14)
at async quarto4 (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:187547:5)
at async file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:187575:5
I have:
Bug description
Quarto 1.9.36 fails with
Theme file compilation failedon Windows systems where Group Policy blocks execution of.batfiles from the%TEMP%directory (common in corporate/enterprise environments).The root cause is a regression in how Dart Sass is invoked. In Quarto 1.8.25,
sass.bat --versionwas called directly from the Quarto installation directory (C:\Program Files\...\dart-sass\sass.bat), which is in a trusted/allowed path. In Quarto 1.9.36, the same Sass check is now routed through a temporary wrapper batch file (quarto-safe-exec*.bat) written to%TEMP%and executed viacmd /c. On locked-down systems, Group Policy (Software Restriction Policies / AppLocker) blocks.batexecution from%TEMP%, causing the Sass check to fail.Note that the
quarto-safe-execmechanism is also used in 1.8.25 for optional tool checks (TinyTeX, Chromium, LaTeX, Chrome) — those also fail with exit code 1, but they are handled gracefully as "not installed"/"not detected." The difference is that in 1.9.36, Dart Sass — a critical, non-optional dependency — is now also called via this mechanism, and its failure is fatal.Steps to reproduce
.batfiles from the user's%TEMP%directory (common in enterprise environments).Actual behavior
quarto checkcrashes withTheme file compilation failed:The Sass invocation goes through a
quarto-safe-exec*.batwrapper in%TEMP%, which is blocked by Group Policy.Expected behavior
quarto checkshould succeed, as it does with Quarto 1.8.25. In 1.8.25,sass.batis called directly from the installation directory and succeeds:Possible fix:
sass.batdirectly (as in 1.8.25) instead of via the safe-exec wrapper.Your environment
Quarto check output
$ quarto check --log-level debug
Quarto version: 1.9.36
Quarto 1.9.36
[>] Checking environment information...
Quarto cache location: C:\Users<USERNAME>\AppData\Local\quarto
[>] Checking versions of quarto binary dependencies...
[execProcess] C:\Program Files\Positron\resources\app\quarto\bin\tools\pandoc --version
[execProcess] Success: true, code: 0
[execProcess] cmd /c C:\Users<USERNAME>\AppData\Local\Temp\quarto-safe-exec91e465e27a39d068.bat
[execProcess] Success: false, code: 1
[DART path] : C:\Program Files\Positron\resources\app\quarto\bin\tools\x86_64\dart-sass\sass.bat
[DART args] : --version
[DART stdout] :
[DART stderr] : This program is blocked by group policy. For more information, contact your system administrator.
[NotebookContext]: Starting Cleanup
ERROR: Theme file compilation failed:
Stack trace:
at processResult (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:79072:13)
at dartCommand (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:79089:12)
at eventLoopTick (ext:core/01_core.js:179:7)
at async checkVersions (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:163474:24)
at async check (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:163388:9)
at async _Command.actionHandler (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:163784:3)
at async _Command.execute (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:102022:7)
at async _Command.parseCommand (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:101899:14)
at async quarto4 (file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:187547:5)
at async file:///C:/Program Files/Positron/resources/app/quarto/bin/quarto.js:187575:5