quarto-dev / quarto-dev/quarto-cli

Update of mtime of project configuration _quarto.yml during preview rendering results in "/web/<project>.pdf (404: Not Found)

Open
#14,470 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

Quarto seems to fail to render a PDF for command preview when the mtime of the project configuration is being changed during the render process.

It's unknown whether this behavior is related to issue 13726.

Steps to reproduce
  1. Create a quarto book project via quarto create project book quarto-book-loop
  2. Preview the project via quarto preview quarto-book-loop/ --to pdf --render pdf --debug
  3. The document will be correctly rendered and previewed.
  4. In a second shell execute while : ; do touch quarto-book-loop/_quarto.yml ; sleep 1; done

The command simply updates the mtime of the yaml project configuration every second.

  1. quarto starts to re-render and ends up being caught in an endless loop (because of the mtime updates), but without any PDF document being produced.
Actual behavior

Changing the mtime of the project configuration does retrigger the quarto preview rendering. No PDF document is being created.

Expected behavior

Changing the mtime of the project configuration should retrigger the quarto preview rendering. With every render loop quarto should produce a new PDF document.

Your environment
  • IDE: not applicable
  • OS: Linux Mint 22.3 live system
Quarto check output

quarto check
Quarto 1.9.37
[✓] Checking environment information...
      Quarto cache location: /home/mint/.cache/quarto
[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.8.3: OK
      Dart Sass version 1.87.0: OK
      Deno version 2.4.5: OK
      Typst version 0.14.2: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
      Version: 1.9.37
      Path: /opt/quarto/bin

[✓] Checking tools....................OK
      TinyTeX: v2026.04
      Chromium: (not installed)
      Chrome Headless Shell: (not installed)
      VeraPDF: (not installed)

[✓] Checking LaTeX....................OK
      Using: TinyTex
      Path: /home/mint/.TinyTeX/bin/x86_64-linux
      Version: 2026

[✓] Checking Chrome Headless....................OK
      Chrome:  (not detected)

[✓] Checking basic markdown render....OK

[✓] Checking R installation...........(None)

      Unable to locate an installed version of R.
      Install R from https://cloud.r-project.org/

[✓] Checking Python 3 installation....OK
      Version: 3.12.3
      Path: /home/mint/Desktop/quarto-env/bin/python3
      Jupyter: 5.9.1
      Kernels: python3

[✓] Checking Jupyter engine render....OK

[✓] Checking Julia installation...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the behavior with quarto preview quarto-book-loop/ --to pdf --render pdf --debug while repeatedly touching quarto-book-loop/_quarto.yml. Trace the preview rendering loop and verify that each configuration change produces a new PDF instead of an endless loop with no document.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
build-system, cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.