`hugo server` not updating menu `param`eters

A websites navigation is loaded from baseof.html via

{{ partial "navigation.html" . }}

This part in navigation.html is inside the individual menu item loop (child menu):

{{ with .Params.special}}
<span class="star"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
  class="bi bi-star-fill" viewBox="0 0 16 16">
  <path
    d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z" />
</svg></span>
<span>Special: </span>
{{ end }}

The front matter looks like this:

menu:
  header:
    parent: packages
    weight: 510
    params:
      special: true

When I delete the params the server keeps showing the icon and extra text until I stop and start the server. Is this expected?

menu:
  header:
    parent: packages
    weight: 510

Is there maybe something in my server script that keeps it from monitoring the front matter properly?

hugo server trust
hugo server \
  --watch \
  --disableFastRender \
  --forceSyncStatic \
  --printI18nWarnings \
  --printPathWarnings \
  --printUnusedTemplates \
  --templateMetrics \
  --templateMetricsHints \
  --logLevel debug \
  --tlsAuto \
  --baseURL https://192.168.1.201:1313/ \
  --bind 192.168.1.201 2>&1 | tee -a hugo.log

Things I looked into without them changing things:

  • I have nowhere from baseof.html up to the location of that navigation snippet any partial caching involved.
  • I also tested if setting the value to false instead of removing it changes things… it doesn’t.
  • I added the --watch parameter to hugo server.

A thing I noticed, but have no explanation for (yet): in the debug output I can see this:

DEBUG cachebuster: Matching "content/packages/sailing-and-recreational-diving/index.md" with source "(postcss|tailwind)\\.config\\.js": no match

I have no cache(buster) configured, and I don’t have postcss.config.js or tailwind.config.js in my system. No Tailwind is used (it’s Twitter Bootstrap behind the SCSS).

My styles are created with SASS.

{{ $sassTemplate := resources.Get "scss/theme.scss" }}
{{ $options := (dict
			"targetPath" "style.css"
			"outputStyle" "compressed"
			"enableSourceMap" true
			"includePaths" (slice "node_modules")
) }}
{{ $style := $sassTemplate | resources.ExecuteAsTemplate "css/theme.scss" . | css.Sass $options | resources.Minify }}
{{ $secureCSS := $style | resources.Fingerprint "sha512" }}

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{{ $secureCSS.Permalink }}" integrity="{{ $secureCSS.Data.Integrity }}">

The website is built properly on hugo and restarting the server is not an issue for me. But what might be the culprit?

hugo v0.152.2-6abdacad3f3fe944ea42177844469139e81feda6+extended linux/amd64 BuildDate=2025-10-24T15:31:49Z VendorInfo=gohugoio

I have noticed this same behavior often when editing partials that are loaded using baseof.html. I don’t think this is related to a misconfiguration on your end. From what I can tell it is just related to caching of partials by the embedded web server. Maybe give it a try with the --ignoreCacheflag added to your server command.