Skip to content

oh-my-openagent

v4.12.0 Feature

This release adds 2 notable features for engineering teams evaluating rollout.

Published 1mo AI Coding Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai ai-agents anthropic chatgpt claude claude-skills
+9 more
codex cursor gemini ide openai opencode orchestration tui typescript

Affected surfaces

auth deps

Summary

AI summary

Codex adds team mode, LazyCodex installs become stricter, OpenCode wakes are hardened, publish workflow gates npm release on PR merge.

Full changelog

Codex Has Teams Now

Codex can now work as a coordinated team, not just as one session plus isolated helpers. LazyCodex ships a Codex-only teammode skill that creates a named group of durable Codex threads under the current session as leader, records the team in .omo/teams, gives each member a concrete ownership area or perspective, and keeps shared artifacts on disk so the work can be inspected, resumed, archived, or deleted cleanly.

Team members are real Codex threads created through codex_app.create_thread, not ephemeral spawned agents. The bundled controller script owns team.json, guide.md, member bindings, status updates, artifacts, optional worktree paths, and cleanup. That makes team work useful for jobs where multiple perspectives need to coordinate with each other: code areas that overlap, release reviews, adversarial audits, broad investigations, and long-running parallel work where the leader still needs a durable control plane.

Team Mode Demos

GitHub usually plays the GIF previews inline. If your client freezes large GIFs, use the MP4 originals below; they preserve the source video quality and open in the browser's native video player.

Demo 1

Watch the MP4 original

Demo 2

Watch the MP4 original

Safer LazyCodex Installs and Marketplace Payloads

LazyCodex installation is stricter about what it activates. Hook command targets are validated, Windows hook paths are covered, marketplace installs preserve their update and re-approval boundary, Bun global installs are detected more reliably, and Codex plugin hooks are now shipped as split per-hook manifests with display metadata that is easier to inspect.

Team Mode Guardrails

The team workflow now rejects weak or unsafe composition: single-member teams, duplicate member focus after trimming, spawn_agent substitutes, symlink writes into team guides, symlink-based delete escapes, and unresolved state paths. Members are also instructed to communicate frequently with small status updates, which makes the leader session much less blind during parallel work.

More Reliable OpenCode Runtime Wakes

OpenCode-side parent wake handling and delegate-task polling were hardened around stale sessions, live-route probes, placeholder sleep waits, terminal errors, background output polling, and plugin component reloads. The practical effect is fewer silent stalls when background work finishes or internal wakes race with session state.

Release Operations Now Fail Earlier

The publish workflow now gates npm publication on the release source-state PR landing first. If protected-branch checks or branch rules block that PR, publishing stops before packages are pushed to npm, preventing a repeat of the half-published v4.12.0 failure mode.


Minor Compatibility and Stability Release

This release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.

  • Task and tool behavior updates, including delegate-task contract and runtime registration behavior.
  • Install and publish workflow hardening, including safer release sequencing and package/install fixes.

Commit Summary

  • 197dcbea3 Merge pull request #5441 from code-yeongyu/release/v4.12.0-source-state-20260620
  • eae7cffc1 test(publish): cover release state gate dependencies
  • 3354198a7 fix(publish): gate npm publish on release state merge
  • 6544c2d53 Merge pull request #5440 from code-yeongyu/release/v4.12.0-source-state-20260620
  • f7ccce76c Merge pull request #5436 from code-yeongyu/code-yeongyu/fix-codex-qa-app-server-empty-catch-20260619
  • 837a43386 fix(opencode): surface terminal errors after internal wakes
  • 69efd37dd fix(opencode): reload plugin components per config call
  • 8fa243282 fix(codex-installer): validate Windows hook command targets
  • 1a7db735d test(codex): split teammode safety fixtures
  • b8bb8f2cb fix(codex-qa): report app-server cleanup errors
  • 9bd10f362 Merge pull request #5433 from code-yeongyu/code-yeongyu/fix-opencode-plugin-components-retry-20260619
  • ef90216a8 Merge pull request #5432 from code-yeongyu/code-yeongyu/fix-codex-teammode-composition-20260619
  • 5b368609e fix(opencode): avoid caching fallback plugin agents
  • 9d548729b fix(opencode): retry plugin component load failures
  • 4dd556dce fix(codex): enforce teammode composition invariants
  • 9ccd57ca2 Merge pull request #5431 from code-yeongyu/code-yeongyu/fix-codex-hook-manifest-publish-20260619
  • 9b451acc2 test(publish): avoid catch helper in validator pin
  • 0936bb299 fix(publish): stage split codex hook manifests
  • c6b22861e Merge pull request #5430 from code-yeongyu/code-yeongyu/fix-opencode-wake-probe-wait-live-dispatch
  • 9cc924236 test(qa): cover wake probe usage errors
  • 46860f972 test(qa): harden opencode wake split verdict
  • e12a08f39 Merge pull request #5429 from code-yeongyu/code-yeongyu/fix-codex-qa-hook-false-green
  • 8bc5a40c8 test(qa): fail release probes on hidden hook regressions
  • 54cb8f04f Merge pull request #5428 from code-yeongyu/code-yeongyu/fix-codex-installer-release-blockers
  • 282cbd5d3 Merge pull request #5427 from code-yeongyu/code-yeongyu/fix-codex-teammode-delete-symlink
  • 076494be6 fix(codex-installer): validate hook targets during activation
  • eb62bc3fe fix(codex): guard teammode delete symlink paths
  • fdffe50ee Merge pull request #5426 from code-yeongyu/code-yeongyu/fix-opencode-wake-split-qa
  • eb3d74cc0 Merge pull request #5425 from code-yeongyu/code-yeongyu/fix-codex-start-work-boulder-parity
  • 03016b0c4 Merge pull request #5424 from code-yeongyu/code-yeongyu/fix-codex-teammode-safety
  • 2dce46ff1 Merge pull request #5423 from code-yeongyu/code-yeongyu/fix-lazycodex-bun-global-update
  • fe327c3d7 fix(codex): trust resolved teammode state paths
  • 6a1b784fd test(opencode-qa): clarify wake split probe metrics
  • a634ddec7 fix(codex-installer): detect bun global lazycodex updates
  • cc48c8ff9 fix(codex-start-work): align boulder reader parity
  • 137dd3bd6 fix(codex): reject trimmed duplicate teammode members
  • 6e199bc02 fix(codex): refuse teammode guide symlink writes
  • bf97ec752 Merge pull request #5422 from code-yeongyu/feat/work-with-pr-auto-merge
  • 815fa4a36 docs(work-with-pr): default to auto-merge and wait until actually merged
  • 0c1a18fde Merge pull request #5421 from code-yeongyu/feat/codex-teammode-frequent-comms
  • f8919953b feat(codex): teammode members over-communicate; drop the teammode tests
  • b5b905880 Merge pull request #5420 from code-yeongyu/code-yeongyu/fix-ci-background-output-poll
  • bbed9447e test(omo-opencode): relax background output poll timing
  • ee529e26e Merge pull request #5419 from code-yeongyu/fix/codex-teammode-symlink-exec
  • 67ff48bce Merge pull request #5418 from code-yeongyu/code-yeongyu/fix-codegraph-node26-binary
  • eb0321691 fix(codex): make teammode team.mjs runnable through a symlinked install
  • fa1af8689 build(codex): refresh codegraph wrappers
  • 0b4b58043 fix(codex): prefer node support hint for codegraph
  • a73ce992c Merge pull request #5417 from code-yeongyu/feat/codex-teammode-min-members
  • 82ede97a4 fix(codex): require codex_app.create_thread for every member, forbid spawn_agent
  • 7ff14a359 docs(codex): require 2+ members, aspect-split responsibility, and disband
  • 45fd3a30b feat(codex): flag a teammode team with fewer than two members
  • 33518202d Merge pull request #5416 from code-yeongyu/feat/codex-teammode-script-v2
  • 52a282670 test(codex): skip the teammode symlink test when symlinks are unavailable
  • 1607f1421 Merge pull request #5412 from code-yeongyu/code-yeongyu/fix-5401-stale-parent-wake
  • 830d25f71 refactor(codex): rewrite teammode skill to the script-driven v2 model
  • e6bcead83 feat(codex): add cross-platform teammode controller script
  • b8bb874cb fix(opencode): probe live route health endpoint
  • 2c687982c fix(background-agent): recheck parent wake safety
  • 4483530f1 Merge pull request #5410 from code-yeongyu/code-yeongyu/fix-5397-agent-config-hot-path
  • 5d4e79c37 Merge pull request #5415 from code-yeongyu/code-yeongyu/fix-lazycodex-issues-59-60
  • 9afc4268d Merge pull request #5411 from code-yeongyu/code-yeongyu/fix-5389-sync-poller-all-complete
  • dcc6c6ec0 Merge pull request #5413 from code-yeongyu/code-yeongyu/fix-5391-sisyphus-sleep-loop
  • ef426b127 test(omo-opencode): split config cache coverage
  • 0ebae5fcf Merge pull request #5414 from code-yeongyu/codex-teammode-skill
  • ab5e8aebc fix(opencode): guard placeholder sleeps during pending wakes
  • b283de216 fix(delegate-task): harden sync poller wake completion
  • 2ed4af0f3 fix(background-agent): release stale unknown parent wake deferrals
  • 722211593 feat(codex): add teammode skill
  • 795b65cd4 Merge pull request #5409 from code-yeongyu/code-yeongyu/fix-5183-bun-global-trust
  • 5f3c9bc80 fix(omo-opencode): cover config cache dependencies
  • 17258d69f Merge pull request #5098 from sjawhar/fix/anthropic-fable-mythos-adaptive-thinking
  • 764482115 fix(opencode): block placeholder sleep waits after delegation
  • 61086114c fix(delegate-task): complete sync poller after internal wake
  • 195b1b392 fix(omo-opencode): cache resolved config agents
  • 4095df8e6 fix(codex): handle bun global lazycodex trust
  • a343af7b5 Merge pull request #5407 from code-yeongyu/fix/ulw-plan-interview-honor-explicit-ask
  • 9eaa5c04f fix(codex): bundle start-work stop cli
  • 69a25624c fix(codex): trust provisioned codegraph launcher
  • 4e5639f81 fix(ulw-plan): align the routing summary with the owner-decision term
  • ac421c9dd fix(ulw-plan): mirror the interview fix to the OpenCode edition (shared-skills)
  • c015bd226 fix(ulw-plan): honor explicit ask + give the fork filter teeth (Codex edition)
  • 239791381 fix(thinking): defer to adaptive thinking for Claude Fable/Mythos models
  • b949c3478 Merge pull request #5394 from code-yeongyu/code-yeongyu/ci-job-summaries-20260618
  • b570f74a9 test(script): discover workflow summary jobs
  • 4b01f2094 Merge pull request #5375 from code-yeongyu/test/codex-package-smoke-fixture-dedup-v2
  • feaa1b504 Merge pull request #5393 from code-yeongyu/code-yeongyu/fix-codex-display-names
  • 106749c30 test(codex): normalize skill metadata paths
  • 75a5f763e test(script): cover workflow job summaries
  • b7fc07197 test(ultrawork): apply package smoke formatting
  • 371053b72 fix(codex): support hook manifest arrays
  • c5299bfe4 fix(codex): prefix skill display names
  • 19664b4e5 fix(codex): name plugin hook metadata
  • e7d5764a7 chore(codex): sync plugin lockfile version
  • 660602e6e test(omo-codex): clarify package smoke fixture helpers
  • a09732a08 test(ultrawork): align package smoke guidance contracts
  • 09d49f8fd test(omo-codex): rebuild lsp before package smoke tests

Thank you to 1 community contributor:

  • @sjawhar:
    • fix(thinking): defer to adaptive thinking for Claude Fable/Mythos models

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track oh-my-openagent

Get notified when new releases ship.

Sign up free

About oh-my-openagent

omo; the best agent harness - previously oh-my-opencode

All releases →

Related context

Earlier breaking changes

  • v4.19.0 Removes legacy Ralph Loop wiring; introduces Goal feature with automatic config migration.
  • v4.6.0 Removed broken direct public binary entrypoints from platform launcher packages, keeping them internal.
  • v4.6.0 Removed legacy context-window monitor hook path from active hooks and config surfaces.
  • v4.4.0 Removes top‑level `lsp` config key; migration required to `.opencode/lsp.json`.

Beta — feedback welcome: [email protected]