Download Latest Version omo-windows-arm64.exe (134.2 MB) Google Add to Preferred Sources
Home / v5.1.28
Name Modified Size InfoDownloads / Week
Parent folder
senpi-desktop-engine-checksums.txt < 7 hours ago 396 Bytes
senpi-desktop-engine-win32-x64.exe < 7 hours ago 4.4 MB
senpi-desktop-engine-darwin-x64 < 7 hours ago 5.5 MB
senpi-desktop-engine-linux-x64 < 7 hours ago 19.7 MB
omo-windows-x64-baseline.exe < 7 hours ago 147.1 MB
omo-windows-x64.exe < 7 hours ago 147.1 MB
senpi-desktop-engine-darwin-arm64 < 7 hours ago 5.4 MB
SHA256SUMS < 7 hours ago 1.0 kB
omo-windows-arm64.exe < 7 hours ago 134.2 MB
omo-linux-x64-musl-baseline < 7 hours ago 131.9 MB
omo-linux-x64 < 7 hours ago 157.6 MB
omo-linux-x64-baseline < 7 hours ago 157.6 MB
omo-linux-x64-musl < 7 hours ago 131.9 MB
omo-darwin-arm64 < 7 hours ago 124.8 MB
omo-darwin-x64 < 7 hours ago 131.9 MB
omo-darwin-x64-baseline < 7 hours ago 131.9 MB
omo-linux-arm64 < 7 hours ago 137.9 MB
omo-linux-arm64-musl < 7 hours ago 131.0 MB
README.md < 8 hours ago 8.5 kB
v5.1.28 source code.tar.gz < 8 hours ago 42.6 MB
v5.1.28 source code.zip < 8 hours ago 48.6 MB
Totals: 21 Items   1.8 GB 0

omo runs on senpi 2026.10.10-10. With several Anthropic Subscription accounts, a session no longer switches accounts on a transient error and back on the next turn; it retries the same account, then stays on whichever account holds its transcript. With resumeMode: "off", the conversation is no longer written to the prompt cache again on every turn. A long streamed tool call on the Anthropic Subscription lane no longer fails with "session stream queue exceeded 256 messages". Full engine notes: senpi 2026.10.10-10. (senpi#2891, senpi#2982, senpi#2822, #9798)

Search, docs and quick work now run on Claude Haiku 5.5. The default explore, librarian and quick lineups use claude-haiku-5-5 at medium reasoning, right after GPT-6 Luna Fast, instead of Claude Haiku 4.5 at the end of the chain. On an Anthropic-only machine, the memory and Kibitzer sidecars run on it too. The Claude Code haiku alias now means Haiku 5.5. (#9802)

Approval and authorization questions can't be read as permission, whichever model asks them. ulw-plan's approval gate, its authorization block and mass-ulw's scope, spend and irreversible decisions are asked with required: true, so an unanswered gate ends the turn instead of continuing on best judgment. The plugin also sets the flag itself on gating questions, recognized by their pinned headers, for models that leave it out. (#9735, #9775, #9774, #9782)

chatgpt-subscription/gpt-6.1-sol-ultrafast is available without a local extension, with the Ultrafast service tier and default xhigh reasoning. Thanks to @audreyt. (senpi#2975)

Fixed

A config migration no longer reformats your omo.jsonc. The first start against an existing config rewrote every top-level value, dropping nested comments, trailing commas and your formatting. Migrations now edit only the values they change, in the file's own style. (#9777, #9783)

A child that won't stop no longer keeps finished children resident. One child that ignored SIGTERM stalled the idle sweep, so finished process children piled up (about 2 GB each). Every teardown step is now bounded, idle residents are reclaimed one by one, and task_cancel releases a finished resident; cancelling a running child that never answers its abort no longer hangs either. Thanks to @lee98www for the report. (#9785, #9788, #9791, #9792)

Binary downloads validate every archive entry on localized systems. Tar listings in a non-English locale (localized month names) or from GNU tar were not parsed, so their entries skipped validation; the downloader now lists archives in the C locale, parses both formats, and refuses a listing line it can't parse. Thanks to @MoerAI. (#9685, #9780, #9779)

A suspended background task no longer looks like it is working. Its row in the live task widget shows a still mark instead of a spinner and no climbing timer, names why it stopped (for example, the parent session restarted), and offers a message only where sending one would revive it. (#9350, #9795)

Memory no longer writes empty transcript journals. A session with nothing to record wrote an empty journal at every start; none is written now, and empty journals left by older builds are removed. (#9737, #9739)

  • 05d3a6840 Merge pull request [#9803] from code-yeongyu/docs/5.1.28-notes
  • 75272e703 docs(changelog): 5.1.28 release notes
  • 6fe9f0bf8 Merge pull request [#9802] from code-yeongyu/feat/haiku-5-5-default-lineups
  • 64020d1f6 test(memory): the Kibitzer pin-priority case pins a model outside the builtin chain, so it can fail (review r2)
  • bbe33686f fix(haiku 5.5 lineups): memory/Kibitzer sidecar tests, Copilot dotted capability ids, docs order (review)
  • 2e73a787b Merge pull request [#9795] from code-yeongyu/fix/suspended-task-row-static
  • 657ea5a2a Merge pull request [#9792] from code-yeongyu/fix/9791-bounded-cancel-abort
  • 594370543 Merge pull request [#9788] from code-yeongyu/fix/9785-idle-sweep-bounded-terminate
  • 0339104d6 Merge pull request [#9779] from MoerAI/fix/9685-localized-tar-month
  • 9dca4443b Merge origin/dev into fix/9685-localized-tar-month
  • 919a0f3d4 fix(binary-downloader): list tar owners as numbers
  • a47fe9860 Merge pull request [#9783] from code-yeongyu/fix/9777-surgical-migration-edits
  • ea801983d Merge origin/dev into fix/9685-localized-tar-month
  • cb531aaa3 fix(binary-downloader): leave tar link lines with a repeated separator unparsed
  • eccb5994e Merge remote-tracking branch 'origin/dev' into fix/9777-surgical-migration-edits
  • 29680a0ac Merge pull request [#9782] from code-yeongyu/feat/9774-question-gates
  • 87eb050b6 Merge remote-tracking branch 'origin/dev' into fix/9777-surgical-migration-edits
  • 31bbdbdf2 fix(binary-downloader): list tar entries in the C locale without TAR_OPTIONS
  • c5e2cfeb0 Merge origin/dev into fix/9685-localized-tar-month
  • 63b3db9cd Merge remote-tracking branch 'origin/dev' into feat/9774-question-gates
  • 0fbfef77a fix(test): register the archive extraction preflight tests (fixes [#9781])
  • 2347d3f48 fix(binary-downloader): fail closed on unparsed tar listing lines and parse GNU tar (fixes [#9780])
  • c6e00ee13 Merge pull request [#9775] from code-yeongyu/feat/ask-user-required-gates
  • 007deee7d Merge pull request [#9739] from code-yeongyu/fix/9737-no-empty-transcript-journal
  • b45143366 Merge remote-tracking branch 'origin/dev' into feat/9774-question-gates
  • b7fe100b4 fix(config): never drop a same-line member, keep CRLF files surgical, and verify every hand edit against jsonc-parser's (#9777)
  • e89de67c7 fix(binary-downloader): parse localized tar listings so entries are validated (fixes [#9685])
  • 1d598ab09 fix(config): migrations edit omo.jsonc only where a value changes, in the file style (#9777)
  • cdc7901d7 fix(memory): the empty-journal sweep treats a transcripts root under a file like a missing one (#9737 review)
  • 494432425 fix(memory): the empty-journal sweep re-checks and deletes under the journal lock, reads at most 4 KB, and runs once per identity per process (#9737 review)
  • af71ac1ce fix(memory): a journal with nothing to record is never written; sweep empty journals left by older builds (#9737)
  • f9181a90b Merge pull request [#9776] from code-yeongyu/release/v5.1.27-source-state
  • acbd5e145 Merge remote-tracking branch 'origin/dev' into feat/ask-user-required-gates

Thank you to 1 community contributor:

  • @MoerAI:
  • fix(binary-downloader): parse localized tar listings so entries are validated (fixes [#9685])
  • fix(binary-downloader): fail closed on unparsed tar listing lines and parse GNU tar (fixes [#9780])
  • fix(test): register the archive extraction preflight tests (fixes [#9781])
  • Merge origin/dev into fix/9685-localized-tar-month
  • fix(binary-downloader): list tar entries in the C locale without TAR_OPTIONS
  • fix(binary-downloader): leave tar link lines with a repeated separator unparsed
  • Merge origin/dev into fix/9685-localized-tar-month
  • fix(binary-downloader): list tar owners as numbers
  • Merge origin/dev into fix/9685-localized-tar-month

    :::bash bun add -g omo-ai

Source: README.md, updated 2026-10-09