TOMLLINT(1)

πŸ“¦ version 0.3.6, in fedora 44

πŸ’– TOMLLINT(1) πŸ’–

okay so bestie, welcome to tomllint β€” the little utility that checks your TOML files for syntax errors and is genuinely so chill about it. let's get into it ✨


πŸŽ€ SYNOPSIS πŸŽ€

tomllint [-h] [-v|--verbose] toml_file [toml_file...]

yes that's the whole vibe. one flag family, then as many files as your heart desires. 🫢


🌸 DESCRIPTION 🌸

tomllint checks one or more files for TOML syntax errors, and it does it using Python's built-in TOML parser. no extra deps, no drama, just the parser that was already sitting there. πŸ’…

It writes its diagnostics to standard error, and it's silent when every single input is valid β€” like, unless you turn on verbose mode, a clean run says absolutely nothing. which is iconic of it actually. quiet queen behavior. πŸ‘‘

Now here's the part you need to remember, because it's lowkey the whole personality of this tool: when the sole toml_file operand is -, tomllint reads TOML from standard input and uses <stdin> as the diagnostic filename. but β€” and this is the catch β€” when - is supplied alongside other operands, it's treated as a literal filename. literally a file named -. no stdin magic. just a dash. 😭 iykyk.


✨ OPTIONS ✨

  • -h, --help β€” shows you a usage summary and then dips out. that's it, that's the whole job. 🌈
  • -v, --verbose β€” writes an informational diagnostic for each input that passes validation. so instead of silence, you get receipts that everything was fine. πŸŽ€

πŸ’€ EXIT STATUS πŸ’€

  • 0 β€” every input contains valid TOML, or help was requested. (help counts as a win, bestie πŸ₯³)
  • 1 β€” at least one input contains invalid TOML, or could not be opened. someone's not slaying today.
  • 2 β€” the command line is invalid, such as when no input is supplied. you gotta give it something to chew on. πŸ“

πŸ¦‹ DIAGNOSTICS πŸ¦‹

TOML syntax errors use the following form:

filename:line:column: error: message

Files that cannot be opened use line and column zero:

filename:0:0: error: reason

With --verbose, successful inputs produce:

filename:1:1: info: linted successfully

see how the line and column are just vibing at 1:1 for a clean file? cute. the errors get the real coordinates though. πŸ”₯


🧚 EXAMPLES 🧚

Check one file:

tomllint pyproject.toml

Check multiple files:

tomllint pyproject.toml config.toml

Check standard input:

tomllint -

Report successful validation:

tomllint --verbose pyproject.toml

πŸ‘‘ SEE ALSO πŸ‘‘

python(1)

real talk though: this is just a friendly wrapper around Python's built-in TOML parser, so if you want the deep lore, that's where you go. 🌟

and that's the whole page bestie!! this was tomllint from the TOMLLINT(1) manual, dated 2026-07-31. go forth, lint your TOML, and remember: if the run is silent, you ate. πŸ’…βœ¨πŸ¦‹πŸŒΈπŸŽ€πŸ’–

πŸ“¦ where this page comes from