Netlify.toml path semantics changed?


Have netlify.toml semantics changed? It seems the “publish” path is now expected to be relative to the “base” path.

It seems like one of my sites is grandfathered into old behavior, where the build will succeed if the “publish” path in netlify.toml is absolute, but fails when it’s relative to “base”.

I have another, newly created site from the same git repo that behaves the opposite way. Builds succeed only when the “publish” path in netlify.toml is relative to “base”.

If this is some internal compatibility flag you have enabled for my old site, can Netlify change it so that my old site behaves like all new sites seem to behave? Otherwise, let me know if I’m mistaken. Tried clearing build cache already. I’ve worked around the issue by temporarily removing the path specifications from netlify.toml and specifying them in the UI.

I’m hesitant to provide the site DNS name here publicly until I’m more confident about the cause of the problem.

Thanks for your understanding

Hi, @janne, there are two possibilities that come to mind.

The first is that the Trusty build image is used for the older site. If so there is more information about how to switch to Xenial here.

The other possibility is that the repo itself hasn’t been relinked since the monorepo support was enabled in Xenial:

If so, click the Edit button and select the same repo to relink it under Site Name > Settings > Build & deploy > Continuous Deployment.

If there are other questions about this or if the solution above doesn’t work, please let us know.


Both were using the Xenial build image. I solved the problem by re-linking the GitHub repo, and also moving netlify.toml inside the site base directory. I now specify the base directory in the Netlify UI, and the build command and publish directory in netlify.toml, which feels right.