uutils coreutils now points a caret at the exact character that broke your command

Pointing at the error: compiler-style diagnostics in uutils coreutils

The uutils project, a Rust reimplementation of GNU coreutils, has added compiler-style diagnostics to 28 utilities. When a command like `tr`, `chmod`, or `sort` fails to parse a small language argument, the error now echoes the command line and marks the offending character with a caret, similar to rustc. This interactive feature only activates when stderr is a terminal, preserving plain messages for scripts. The rendering is powered by the ariadne library and can be disabled via a cargo feature.

For 50 years, Coreutils have never stopped evolving. Now, we're pushing that innovation further by rethinking how they report errors.
  1. discardable_dan

    Handling errors in compilers has become the most interesting part of my job. If you do the math, most calls to compilers are error-yielding calls. So those calls really need to produce the best errors possible! (Maybe this is less true in LLM land, but certainly it was right before.) Tracking spans, doing extra algorithmic work, and exploring why the expectation failed in order to give a user the most-informative error possible is extra work on the main compute path. But it pays dividends: easily-diagnosable bugs and quick fixes present in the code itself. Tracking spans to point back to origin definitions, etc., always feel like plumbing work until you see the error that explains exactly what went sideways. And once you do, the errors that don't feel like a frustration you are trying to cast your net over.

  2. shakna

    Please run all of these through a TTS engine.

    Yes, it is very helpful to have actually directed information. But the need to use a TUI to do it, bugs me. Not coincidentally, I use JAWS most of the time.

  3. emilfihlman

    Cool innovation (actually is good and cool).

    Do it after you have actually made the rust version work the same as the C version.

    Insane to be adding complexity, breaking compatibility and introducing new bugs to software that needs to function correctly.

More from this day

2026-09-05