omm

omm log

Read the local run log every omm command writes — what ran, when, whether it succeeded, and how long it took — without sending anything anywhere.

01 / 06

Overview

Every omm invocation appends a summary block to ~/.omm/logs/history.log, and writes the full detail of that one run to its own ~/.omm/logs/<timestamp>_<pid>_<command>.jsonl file. log is how you read that back: the last 40 runs by default, fewer or more with -n, or only the runs matching some text with --grep. Arguments are recorded as <arg> rather than their values, so a model name or search term never lands in the log. The log is local only and is never uploaded, whatever the omm setting upload policies say — it exists so you can see what omm actually did after the fact, especially when something failed and the screen has scrolled away.

02 / 06

Options

Every flag this command accepts, and what it defaults to when you leave it out.

  • --linesNDefault: 40

    How many of the most recent runs to show.

  • --grepTEXTDefault: no filter

    Only show runs whose block contains this text — a command name, a version, an error.

  • --rebuildDefault: off

    Regenerate history.log from the per-run JSONL files, for when the rolled-up file is missing or truncated.

03 / 06

Examples

From a plain search to something you'd put in a script.

The last 40 runs.

$ omm log

Just the last five runs.

$ omm log -n 5

Only runs whose block mentions install.

$ omm log --grep install

Rebuild the rolled-up log from the per-run detail files.

$ omm log --rebuild

04 / 06

A real run

Real omm log run, 2026-09-01, against a throwaway OMM_HOME — four consecutive real runs (list, doctor, search, setting) logged and read back verbatim, timings and PIDs included. Two other blocks the same log held (an omm help --all run and a hidden background version check) are cut for length; nothing shown is edited. Note the <arg> in the search and setting blocks: that is what omm records, not the query.

06 / 06

If something goes wrong

Every message below is one this command actually prints. Find yours, read why it happened, then do the last line.

  1. No run log yet.
    why
    Nothing has been logged yet under this OMM_HOME — a brand-new install, or a log directory that was cleared.
    what to do
    Run any omm command, then read the log again.
    source
    src/omm/cli.py:6365-6366
  2. Rebuilt history.log from 12 run(s).
    why
    Not an error: --rebuild reports how many per-run JSONL files it re-rolled into history.log.
    what to do
    Nothing to do — the count is how many runs the rebuilt log now covers.
    source
    src/omm/cli.py:6362-6363

Still stuck? Open an issue with the exact message you saw.

All commands