winget install --id Miller.Miller
About Miller
Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON. You get to work with your data using named fields, without needing to count positional column indices. This is something the Unix toolkit always could have done, and arguably always should have done. It operates on key-value-pair data while the familiar Unix tools operate on integer-indexed fields: if the natural data structure for the latter is the array, then Miller’s natural data structure is the insertion-orde...
What's new in 6.20.2
What's new in 6.20.2 - Miller now treats AI agents as first-class users - There is shell tab-completion for bash and zsh - There is a new bytes datatype, along with base64 encode/decode support (Note: versions 6.20.0 and 6.20.1 were in error and are not released.) Miller and AI Miller now treats AI agents as first-class users. Everything an agent needs to drive Miller well -- discovering what exists, learning your data's shape, validating expressions before running them, and recovering from errors -- is now a built-in, structured feature of the mlr binary, packaged for MCP-speaking agents (Claude Code, Claude Desktop, Cursor, ...) via a one-line setup. Your choice of # Claude mlr skill install ~/.claude/skills/miller # Codex and Gemini mlr skill install ~/.agents/skills/miller or # Claude claude mcp add miller -- mlr mcp # Codex codex mcp add miller -- mlr mcp # Gemini gemini mcp add miller mlr mcp See the new Miller and AI docs page for the quick start. Reference pages: - https://miller.readthedocs.io/en/latest/ai - https://miller.readthedocs.io/en/latest/agent-skill - https://miller.readthedocs.io/en/latest/mcp-server - https://miller.readthedocs.io/en/latest/ai-support PRs: - Machine-readable help catalog, mlr help --as-json: by @johnkerl in #2099, #2106 - JSON capability index and mlr which intent router by @johnkerl in #2107 - Structured verb options, with enum value-sets by @johnkerl in #2111 - Structured error output, --errors-json, with hints and did-you-mean suggestions by @johnkerl in #2113 - DSL validate/dry-run, mlr put --explain / mlr filter --explain by @johnk...
Version history
| Version | Updated | Notes |
|---|---|---|
| 6.20.2 | Unknown | What's new in 6.20.2 - Miller now treats AI agents as first-class users - There is shell tab-completion for bash and zsh - There is a new bytes datatype, along with base64 encode/decode support (Note: versions 6.20.0 and... |
| 6.13.0 | Unknown | New features - Add a stat DSL function by @johnkerl in #1560 - Add mad accumulator for stats1 DSL function by @johnkerl in #1561 - Support $NO_COLOR by @johnkerl in #1580 Bug fixes - Fraction bugfix by @oandrew in #1579... |
| 6.12.0 | Unknown | Release notes |
| 6.11.0 | Unknown | Release notes |
| 6.10.0 | Unknown | Release notes |
| 6.9.0 | Unknown | - Add DSL functions for integer nanoseconds since the epoch by @johnkerl in #1326 - Add %N and %O for strfntime by @johnkerl in #1334 - Add %s format specifier for strftime by @johnkerl in #1335 - Requested on issue #115... |