Skip to main content

Config Nesting Too Deep

yaml
A configuration structure is nested more deeply than Quarto allows.

Q-1-27 — Config Nesting Too Deep

A configuration structure is nested more deeply than Quarto allows.

What this means

Quarto places a bound on how deeply nested a configuration can be when it walks the configuration to decide which values carry markdown — for example the text: of a navigation item, which may sit at any depth inside a sidebar’s nested contents:. The bound is large enough that ordinary project configurations sit comfortably inside it; this warning fires only when nesting reaches unusual depths.

The bound protects Quarto from infinite or near-infinite structures that could arise from accidental self-reference in generated configurations.

Configuration below the bound is still read normally. What stops is the markdown interpretation of values beneath that point: a text: nested deeper than the bound renders as literal text rather than as markdown.

Why this happens

Two situations:

  • A generated configuration has accidentally recursed. A tool that emits part of _quarto.yml has nested its output inside itself, multiplying the depth on each run.
  • A configuration was hand-built with deeper structure than Quarto’s data model expects. This is rare; Quarto’s schema rarely demands very deep nesting.

How to fix

Inspect the configuration at the location named in the error. If the structure is the result of generation, flatten or repair the generator. If the configuration was written by hand, look for whether the same information could be expressed at a shallower level — Quarto’s schema typically offers a flatter alternative where one exists.