Unknown project key (underscore spelling)
_quarto.yml uses project.pre_render / project.post_render; the recognized keys are hyphenated.
Q-5-11 — Unknown project key (underscore spelling)
_quarto.ymlusesproject.pre_render/project.post_render; the recognized keys are hyphenated.
What this means
Quarto’s configuration keys are hyphenated: pre-render,
post-render, output-dir, execute-dir. An underscore spelling is
not recognized, and an unrecognized key under project: is ignored.
Ignored quietly, this would be hard to spot. Your scripts simply never run, the render succeeds, and the output is missing whatever the scripts were meant to produce. Quarto reports the underscore spelling specifically because it is a near-miss worth naming rather than leaving to be discovered.
Why this happens
- Habit from another tool. Python, Ruby, and many YAML-configured
tools use
snake_case. - An editor or formatter that normalizes key names.
- Transcription from prose where the key was written with an underscore.
How to fix
Replace the underscores with hyphens:
project:
pre-render: tools/prepare.py
post-render: tools/finish.pyBoth keys accept a single entry or a list:
project:
pre-render:
- tools/fetch-data.py
- tools/build-index.pyIf you have other project: keys that are not taking effect, the same
rule applies to all of them — Quarto’s configuration is hyphenated
throughout.