github code-yeongyu/oh-my-openagent v5.1.7

2 hours ago

Computer use on macOS says what it needs and where its engine comes from. A downloaded install trusts the engine shipped inside its own app, a missing Screen Recording or Accessibility grant opens the right System Settings pane, and /computer status and omo doctor show which engine you have before it starts. This release runs on the senpi 2026.9.30 engine, like 5.1.6.

Added

/computer status and omo doctor report where the computer-use engine is and where it came from (the app bundle, the cache or a path you set) without starting it, name hosts it does not support, and give the same answer. omo doctor never downloads the engine. (#9286, #9311)

Changed

Test cleanups from an internal audit, with no change to behavior. (#9302, #9304, #9310, #9312, #9314, #9315, #9316, #9317, #9318, #9319, #9321)

Fixed

On macOS, an install downloaded from the web trusts the computer-use engine shipped inside its own app when the engine sits inside the install and matches the checksums shipped beside it. Before, the download quarantine made that engine look untrusted. Any other quarantined engine is still refused. (#9283, #9301)

When computer use is missing the Screen Recording or Accessibility grant, it opens that System Settings pane once, names the app to enable, and tells you to quit and relaunch it. A denied Accessibility listener now reads as a permission problem instead of "supervisor not live". (#9284, #9309)

On Windows set to a language other than English, unpacking a download no longer fails when tar lists month names outside ASCII. Thanks to @willowite for the report, the reproduction and the fix. (#9289, #9303)

Editing a file with no extension, such as a shebang script or a Makefile, no longer returns "LSP errors detected ... please fix" when no language server covers it. Thanks to @MoerAI for the fix and @floweredao for the report. (#9292, #9296)

Your home folder no longer counts as a project by itself, so a dotfiles .git or a stray ~/package.json stops the language-server install prompt from firing for every file in it. A project with its own marker inside your home folder still counts. Thanks to @MoerAI. (#9227, #9297)

On OpenCode, picking a non-GPT model for Hephaestus fails with an error saying Hephaestus needs a GPT model, instead of an opaque UnknownError. Thanks to @RaviTharuma. (#7704, #7707)

On OpenCode, opencode run --agent sisyphus and the other original config keys pick that agent again after display names are applied. A category or an unknown name passed to --agent fails with a clear error instead of quietly running the default agent. Thanks to @RaviTharuma. (#7701, #7703, #7708)

On OpenCode, ordinary chat no longer turns into a goal, and a message containing pause, resume or clear leaves your goal alone. A prompt longer than 2,000 characters no longer fails with InvalidObjectiveError. Goals change only through an explicit /goal command, or from your first message when default_mode.goal is on. Thanks to @RaviTharuma for the fix and @Cle2ment for the report. (#6391, #7979)

On Codex, updating removes the retired features.child_agents_md setting that Codex 0.156 rejects at startup, and the bundled rules no longer mention it. Thanks to @LilMGenius. (#8693)

On Codex, the spawn examples in the bundled Hephaestus rule name their agent_type, so a session that follows them spawns its subagents instead of being blocked by the spawn guard. Thanks to @LilMGenius. (#8298)

  • 8968816 Merge pull request #9328 from code-yeongyu/release/v5.1.7-source-state
  • ac9d8fc Merge pull request #9323 from code-yeongyu/docs/changelog-5.1.7-notes
  • 6ebdf85 docs(changelog): add the 5.1.7 notes
  • ade39f6 Merge pull request #9321 from code-yeongyu/test-audit/o6b-lsp-engine-batch
  • e9ca727 Merge pull request #9311 from code-yeongyu/feat/computer-use-engine-reporting
  • 9233b9d Merge remote-tracking branch 'origin/dev' into feat/computer-use-engine-reporting
  • 405eb46 test(lsp): drop the lsp-tools-mcp replays and make the surface tests assert behaviour
  • c215e07 Merge pull request #9318 from code-yeongyu/test-audit/o6g-recall-barrel-nudge-seam
  • fbecf83 fix(computer-use): keep the engine locator in the lazy runtime entry
  • 98ddbce Merge remote-tracking branch 'origin/dev' into feat/computer-use-engine-reporting
  • 55898a9 Merge pull request #8298 from LilMGenius/fix/hephaestus-rule-spawn-role
  • def6b22 Merge pull request #7979 from RaviTharuma/fix/explicit-goal-chat-boundary
  • 7ef7d51 test(ulw-loop): drop the undefined-payload branch a regex match cannot reach
  • 76fa487 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7979
  • 0067cc1 style(ulw-loop): format the matrix test with the component's own biome
  • f277085 fix(rules): keep agent_type to the multi_agent_v1 spawn examples
  • 75265be fix(rules): name agent_type in the bundled Hephaestus spawn examples
  • 81d13fe test(memory-core): drop the recall barrel probe and the test-only renderNudgeMessage
  • 42ec97e Merge pull request #9319 from code-yeongyu/test-audit/o6i-omo-native-pins
  • 6c12e26 Merge pull request #9317 from code-yeongyu/test-audit/o6d-agents-filename-seam
  • 048d17b Merge pull request #9316 from code-yeongyu/test-audit/o6f-ast-grep-name-prose-pins
  • 7757746 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7979
  • fae4c42 Merge pull request #9297 from MoerAI/fix/9227-home-not-project-root
  • 095298a Merge pull request #9296 from MoerAI/fix/9292-extensionless-post-edit
  • 4d365a0 Merge pull request #9303 from code-yeongyu/fix/9289-localized-tar-month
  • 36a96b2 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7979
  • c377821 Merge pull request #7708 from RaviTharuma/fix/hidden-config-key-aliases
  • 38538f4 Merge branch 'fix/9292-extensionless-post-edit' of https://github.com/MoerAI/oh-my-opencode into HEAD
  • 235dbb1 Merge branch 'fix/9289-localized-tar-month' of https://github.com/code-yeongyu/oh-my-openagent into HEAD
  • 3c4bb23 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7708
  • bb4b4d2 Merge branch 'dev' of https://github.com/code-yeongyu/oh-my-openagent into HEAD
  • 8a7ce25 fix(computer-use): keep acquisition error paths and report one engine location
  • 76bdedc Merge pull request #8693 from LilMGenius/fix/codex-remove-retired-child-agents-flag
  • c0c9f13 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7708
  • cc4da58 Merge pull request #9315 from code-yeongyu/test-audit/o6c-playwright-dup-pin
  • 0343261 test(agents-md-core): remove the AGENTS_FILENAME re-export that only its test used
  • 28d4eb0 test(ast-grep-mcp): drop the tool-name and verbatim description pins
  • 18244a8 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7708
  • f299b7b Merge pull request #9312 from code-yeongyu/test-audit/o6h-mailbox-barrel-probe
  • 868cb79 Merge pull request #9314 from code-yeongyu/test-audit/o6e-prompts-type-probe
  • 481d573 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7708
  • 569cd19 Merge pull request #7707 from RaviTharuma/fix/hephaestus-requires-gpt-error
  • ff6aef2 Merge remote-tracking branch 'origin/dev' into fix/9289-localized-tar-month
  • 6e71bdc build(omo-codex): regenerate config installer
  • 9e1db00 test(codex): name the child_agents_md true case after what it checks
  • 03539bb fix(codex): remove retired child_agents_md setting
  • 46026cf merge: synchronize engine reporting with dev
  • db86e45 merge: bring engine reporting current with dev
  • 8a4a66f Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7707
  • 9784cd1 Merge pull request #9309 from code-yeongyu/fix/macos-permission-guidance
  • 61adc36 test(skills-loader-core): drop the duplicate playwright MCP config pin
  • 62ac407 test(prompts-core): drop the type-shape test that reads back its own literals
  • 2fe4dd7 Merge pull request #9310 from code-yeongyu/test-audit/o6a-tmux-barrel-probes
  • 5e19ebd feat(computer-use): report the located engine, its source and unsupported hosts from status, doctor and first use
  • 5474730 test(team-core): drop the mailbox barrel typeof probe
  • c570750 Merge remote-tracking branch 'origin/dev' into fix/macos-permission-guidance
  • a8897fb Merge pull request #9301 from code-yeongyu/fix/desktop-engine-sidecar-quarantine
  • 7f6a66b test(tmux-core): drop typeof probes for barrel exports that consumers already import
  • b1baf52 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7979
  • e9bcde7 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7708
  • 869dfe8 Merge remote-tracking branch 'origin/dev' into fix/9289-localized-tar-month
  • d1e34f4 Merge remote-tracking branch 'origin/dev' into HEAD
  • ffdcdbc Merge remote-tracking branch 'origin/dev' into HEAD
  • 5ebbb40 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7707
  • cbf3de0 Merge pull request #9302 from code-yeongyu/test-audit/o2-features-shim-twins
  • fab4e33 fix(desktop-engine): trust a quarantined engine sidecar only when contained and checksum-verified
  • 413c72b Merge pull request #9304 from code-yeongyu/test-audit/o1-hooks-batch
  • 3132e7b merge: integrate release v5.1.6 for permission guidance
  • 9a3f3c4 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7979
  • 0fecf4f Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7708
  • 930946d fix(desktop-macos): open the Settings pane once, name the app, and classify an Accessibility miss as a permission error
  • 49dab3d Merge remote-tracking branch 'origin/dev' into fix/9289-localized-tar-month
  • d188e1f Merge remote-tracking branch 'origin/dev' into HEAD
  • e460f81 Merge remote-tracking branch 'origin/dev' into HEAD
  • 1e9a09e docs(reference): drop the 14 re-export shims this batch removed from the inventory
  • 85f26be Merge remote-tracking branch 'origin/dev' into fix/9289-localized-tar-month
  • 1eb8648 docs(hooks): update the directory counts and unwired list
  • 97bece2 test(auto-update-checker): fold the CLI run mode case into hook.test.ts
  • 5ce12bb test(ralph-loop): assert the async toast path in showToastBestEffort
  • f64ecde test(hooks): drop duplicate and assertion-free hook probes
  • 4daade9 test(keyword-detector): replace assertions that could not fail
  • cf2f9f0 test(hooks): remove the unwired hashline-edit-diff-enhancer module and its test
  • 985bf82 fix(utils): parse localized tar month tokens
  • 99d7b5e Merge remote-tracking branch 'origin/dev' into HEAD
  • 50046a3 Merge remote-tracking branch 'origin/dev' into maint/omo-ravi-7707
  • a739c53 Merge remote-tracking branch 'origin/dev' into HEAD
  • 10d7354 fix(lsp-core): never treat HOME itself as a project root for the post-edit install nudge (fixes #9227)
  • 7814651 Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • faf58d6 Merge branch 'dev' into fix/hidden-config-key-aliases
  • 7ab00d3 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • c5bb81e test(omo-opencode): assert compaction hook wiring instead of grepping source
  • 9e23e17 refactor(team-mode): remove tasklist and pane shims that only identity tests imported
  • 350dfa3 refactor(openclaw): remove adapter shims that only an identity test imported
  • ead854a test(agents): fold the qwen Hephaestus rejections into the eligibility table
  • cbae206 test(team-mode): make parseMember error cases fail when nothing throws
  • a6ef65f test(plugin): drop the consensus past-wording source scan
  • 8aeb573 test(openclaw): drop adapter rows that replay openclaw-core config tests
  • 08b3264 test(omo-opencode): drop type-only probes that assert nothing at runtime
  • b1b966c test(omo-opencode): drop skills-loader twins that replay skills-loader-core
  • 9d405a5 test(omo-opencode): drop claude-code loader and mcp-oauth storage twins
  • 080e8e4 test(team-mode): drop omo-opencode suites that replay team-core tests
  • 0d09ea2 Merge branch 'dev' into fix/hidden-config-key-aliases
  • dc1f57e Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • b6069e9 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 8ec7e5c Merge branch 'dev' into fix/hidden-config-key-aliases
  • 8b030de Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 9435b7b Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 034ee1d Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 09b37a7 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • fa6a035 Merge branch 'dev' into fix/hidden-config-key-aliases
  • b54b297 Merge branch 'dev' into fix/hidden-config-key-aliases
  • e5da172 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • ba626c8 Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 053cbd6 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 96c8c33 Merge branch 'dev' into fix/hidden-config-key-aliases
  • 92b2baf Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 63596d0 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • fbbdfa7 Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 354f5ba Merge branch 'dev' into fix/hidden-config-key-aliases
  • da6f6f3 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 86b8e2d Merge branch 'dev' into fix/hidden-config-key-aliases
  • a0750b1 Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 1e2011a Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • b3916eb Merge branch 'dev' into fix/hidden-config-key-aliases
  • b8416a6 Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 95a48eb Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 164f633 Merge branch 'dev' into fix/hidden-config-key-aliases
  • b967b4a Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 81ec9af Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • e2f1bae Merge branch 'dev' into fix/hidden-config-key-aliases
  • b8caeac Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • b6a34fd Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 35f2db6 Merge branch 'dev' into fix/hidden-config-key-aliases
  • cf44657 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 607654e fix(opencode): attach hidden agent aliases after applyToolConfig
  • a0b1d5f Merge branch 'dev' into fix/hidden-config-key-aliases
  • 240ff45 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • f40810e Merge branch 'dev' into fix/hidden-config-key-aliases
  • 7ac0eeb Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 586e12b Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 9464e6c Merge branch 'dev' into fix/hidden-config-key-aliases
  • 8ee957b Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 23bed6b Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 64664ea Merge branch 'dev' into fix/hidden-config-key-aliases
  • b2c87a4 Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • ca4f771 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 7bff398 Merge branch 'dev' into fix/hidden-config-key-aliases
  • a72b39e Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 1b0c37b Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • 1319c6a Merge branch 'dev' into fix/hidden-config-key-aliases
  • a85dbde Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • f80bbf6 Merge branch 'dev' into fix/hidden-config-key-aliases
  • c132f61 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • 06b0066 Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • d398e69 Merge branch 'dev' into fix/hephaestus-requires-gpt-error
  • cb3b197 Merge branch 'dev' into fix/hidden-config-key-aliases
  • 758ac17 Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • af65e36 fix(goal): only parse explicit commands from original chat text
  • 19bcc1c Append hidden agent aliases after visible display-name keys
  • 7edd0a5 Keep hidden config-key agent aliases and fail closed on category --agent
  • 14ea6ee Throw HephaestusRequiresGptError for non-GPT Hephaestus primaries

Thank you to 4 community contributors:

  • @RaviTharuma:
    • Throw HephaestusRequiresGptError for non-GPT Hephaestus primaries
    • Keep hidden config-key agent aliases and fail closed on category --agent
    • Append hidden agent aliases after visible display-name keys
    • fix(goal): only parse explicit commands from original chat text
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/hephaestus-requires-gpt-error
    • Merge branch 'dev' into fix/hidden-config-key-aliases
    • Merge branch 'dev' into fix/explicit-goal-chat-boundary
  • @cursoragent:
    • fix(opencode): attach hidden agent aliases after applyToolConfig
  • @MoerAI:
    • fix(lsp-core): never treat HOME itself as a project root for the post-edit install nudge (fixes #9227)
  • @LilMGenius:
    • fix(codex): remove retired child_agents_md setting
    • test(codex): name the child_agents_md true case after what it checks
    • build(omo-codex): regenerate config installer
    • fix(rules): name agent_type in the bundled Hephaestus spawn examples
    • fix(rules): keep agent_type to the multi_agent_v1 spawn examples
    • style(ulw-loop): format the matrix test with the component's own biome
    • test(ulw-loop): drop the undefined-payload branch a regex match cannot reach
bun add -g omo-ai

Don't miss a new oh-my-openagent release

NewReleases is sending notifications on new releases.