quarto-dev / quarto-dev/quarto-cli
quarto render with execute of ipynb created in vscode fails
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
I have:
- searched the issue tracker for similar issues
- installed the latest version of Quarto CLI
- formatted my issue following the Bug Reports guide
Bug description
A jupyter notebook created with vscode does not contain the path property in metadata.kernelspec. This leads quarto render --execute to fail. Manually adding this property, in the ipynb file with a text editor, even with an empty string, fixes the problem.
Steps to reproduce
- create a notebook in vscode
- add a single code cell containing
1+1 - selected the R kernel (
ir) - save the notebook as
minimal.ipynband run:
quarto render minimal.ipynb --output minimal.html --execute
Here is the full content of the ipynb file:
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "60eec7dd",
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"1+1"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"name": "R"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Actual behavior
This leads to the error message (with QUARTO_PRINT_STACK=true):
ERROR:
path
ERROR: Error
at renderFiles (file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:86922:29)
at eventLoopTick (ext:core/01_core.js:175:7)
at async render (file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:91824:21)
at async Command.actionHandler (file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:91975:32)
at async Command.execute (file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:8253:13)
at async Command.parseCommand (file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:8143:20)
at async quarto (file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:133948:9)
at async file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:133978:9
at async file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:133830:20
at async mainRunner (file:///tank/home/iimog/software/quarto-1.7.33/bin/quarto.js:133832:9)
Expected behavior
Successful rendering of the html file with cell output of 2.
Adapting the ipynb file from above to contain
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "it",
"path": ""
},
fixes the problem.
Your environment
- IDE: VS Code Version: 1.102.3
- OS: Linux x64 6.1.0-37-amd64
Quarto check output
Quarto 1.7.33
[✓] Checking environment information...
Quarto cache location: /tank/home/iimog/.cache/quarto
[✓] Checking versions of quarto binary dependencies...
Pandoc version 3.6.3: OK
Dart Sass version 1.85.1: OK
Deno version 1.46.3: OK
Typst version 0.13.0: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
Version: 1.7.33
Path: /tank/home/iimog/software/quarto-1.7.33/bin
[✓] Checking tools....................OK
TinyTeX: v2025.06
Chromium: (not installed)
[✓] Checking LaTeX....................OK
Using: TinyTex
Path: /tank/home/iimog/.TinyTeX/bin/x86_64-linux
Version: 2025
[✓] Checking Chrome Headless....................OK
Chrome: (not detected)
[✓] Checking basic markdown render....OK
[✓] Checking Python 3 installation....OK
Version: 3.11.2
Path: /usr/bin/python3
Jupyter: (None)
Jupyter is not available in this Python installation.
Install with python3 -m pip install jupyter
[✓] Checking R installation...........OK
Version: 4.4.2
Path: /opt/R/4.4.2/lib/R
LibPaths:
- /tank/home/iimog/R/x86_64-pc-linux-gnu-library/4.4
- /opt/R/4.4.2/lib/R/library
knitr: 1.50
rmarkdown: 2.29
[✓] Checking Knitr engine render......OK
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run the reported quarto render minimal.ipynb --output minimal.html --execute reproduction with the supplied notebook, then trace the CLI's notebook execution path where metadata.kernelspec.path is read. Confirm that notebooks without this property render successfully and produce HTML with the cell output 2.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, jupyter-notebook, vscode
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100