Repository navigation
malformed .marimo.toml fails silently #11023
Description
Activity
- changed the title
[-].marimo.toml used in maraimo config show but ignored in marimo edit[/-][+].marimo.toml used in marimo config show but ignored in marimo edit[/+]on Sep 29, 2026 Thank you for the report @Nodd, we will take a look.
Thank you for the report @Nodd! I'm having trouble reproducing the issue.
The text in the settings editor that says "User Configuration is stored in
marimo.toml" is hard-coded to usemarimo.toml, so that doesn't necessarily represent an issue (although maybe we should use the actual value rather than the hard-coded value). @Nodd:- Can you update the issue with your full
.marimo.toml? - Did you remove the marimo-specific configurations from
pyproject.toml? Any values set in thepyproject.tomlwill override themarimo.tomlconfigs.- In the settings editor in the UI (the gear icon at the top right), there is an indicator next to each setting that is configured through the
pyproject.toml:
- In the settings editor in the UI (the gear icon at the top right), there is an indicator next to each setting that is configured through the
- Can you update the issue with your full
Here is the full
.marimo.toml:[runtime] auto_reload = "lazy" on_cell_change = "autorun" # or "lazy" execution_type = "strict" # or "relaxed" show_tracebacks = true [display] locale = "fr-FR" theme = "dark" reference_highlighting = true [ai] enabled = false [language_servers.pylsp] enabled = true enable_ruff = true [language_servers.ty] enabled = true [diagnostics] enabled = true [file_browser] folders = ["tests/visual"]
I did remove the marimo-specific configurations from pyproject.toml, I also checked that there is no
Overriden by pyproject.toml, I can change every value manually.I just noticed that I omited a detail, I actually run via
uv, so both commands are actually:uv run marimo config showanduv run marimo edit. That said, I get the exact same behavior after activating the venv manunally and running the commands withoutuv run.If I change some settings in the GUI, the
.marimo.tomlfile is correctly overriden. But if I restart marimo afterwards, the settings are still not read. It seems that the configuration points towards the correct file, but it's not loaded on startup.I tried to remove (rename)
pyproject.tomlin case the existence of the file would have an impact, but the behavior doesn't change.Oh ok I was able to reproduce this by using your
.marimo.toml. It looks like the issue is that one of your config values (folders) is formatted incorrectly and the entire config is not being used because of that. I'll keep this issue open because marimo should be warning users about malformed configs through bothmarimo config showandmarimo edit, but in the meantime, fixing the format of that config should unblock you:[file_browser] folders = [{ path = "/absolute/path/to/tests/visual" }]@marthacryan I recommend either updating the description or create new + close this one to track the work for warning malformed configs.
Reacted by Martha Cryan- changed the title
[-].marimo.toml used in marimo config show but ignored in marimo edit[/-][+]malformed .marimo.toml fails silently[/+]on Oct 7, 2026 - changed the title
[-]malformed .marimo.toml fails silently[/-][+]malformed `.marimo.toml` fails silently[/+]on Oct 7, 2026 Thank you for finding the problem, I'll be able to confirm the fix tomorrow.
What I don't understand is that when I changed the configuration via the GUI and saw that it changed the.marimo.tomlfile, when I tried to reload it it still didn't load the new paramters, but in this case the file is written by marimo so it should be correct. I'll double check this specifically to be sure.I confirmed that the correction of the files enables to load the config file correctly, thank you again! Still, it would be nice to not fail silently on a malformed file.
Describe the bug
I included some configuration in a
pyproject.toml, which was working fine. Then to avoid cluttering this file, I tried to switch to using a.marimo.tomlin the project root.The file is correctly detected when I run
marimo config show:But the configuration is not applied when i run
marimo editfrom the same directory (I usedtheme = "dark"to test).In the parameters window, I see:
User configuration is stored in marimo.toml Run marimo config show in your terminal to show your current configuration and file location.It's also ignored in
marimo run.I can keep using
pyproject.tomlin the meantime, but this behavior is really weird.Will you submit a PR?
Environment
{ "marimo": "0.25.0", "editable": false, "location": "D:/jmartino/Programmation/desir-proc.git/.venv/Lib/site-packages/marimo", "OS": "Windows", "OS Version": "11", "Processor": "Intel64 Family 6 Model 140 Stepping 1, GenuineIntel", "Python Version": "3.14.7", "Locale": "fr_FR", "Binaries": { "Browser": "154.0.8037.58", "Node": "--", "uv": "0.12.9 (9f9286029 2026-09-01 x86_64-pc-windows-msvc)" }, "Dependencies": { "click": "8.5.0", "docutils": "0.23", "itsdangerous": "2.2.0", "jedi": "0.20.0", "markdown": "3.11", "narwhals": "2.26.0", "packaging": "26.3", "psutil": "7.2.2", "pygments": "2.21.0", "pymdown-extensions": "11.0.2", "pyyaml": "6.0.3", "starlette": "1.7.0", "tomlkit": "0.15.1", "typing-extensions": "4.16.0", "uvicorn": "0.54.0", "websockets": "17.1" }, "Optional Dependencies": { "loro": "1.16.2", "pandas": "3.0.6", "pytest": "9.1.1", "ruff": "0.16.9" }, "Experimental Flags": {} }Code to reproduce
No response