Release history
Oh My Codex releases
All releases
114 shown
Ultragoal safety + explore deprecation + autopilot wait
- Runtime notify dispatch avoids recursive wrapper chains
- Setup mode switches avoid duplicate hook state
- Plugin‑mode skill discovery and plugin MCP cleanup are hardened
- Preserves approved context refs, role refs, private metadata, PRD aliases, multiline hints, and hint lineage in handoffs during Team scale‑up
- Codex hook setup probes feature flags, writes `[features].hooks = true` when available, retains legacy `codex_hooks` fallback, dedupes stale aliases, keeps hooks active after resets, and detects stale PostCompact wiring
Full changelog
oh-my-codex v0.16.4
0.16.4 is a post-0.16.3 reliability release for approved execution handoffs, context-pack metadata, Codex hook feature-flag migration, setup/notify ownership, HUD/runtime state-root visibility, Ralph completion audit evidence, and Ultragoal completion proof requirements.
Highlights
- Approved execution handoffs are more durable — Ralph, Team, and planning now preserve approved context references, ready context-pack role refs, private context-pack entry metadata, canonical approved PRD aliases, multiline launch hints, visible hint lineage, and approved handoffs during Team scale-up.
- Codex hook setup stays compatible across CLI releases — setup probes supported Codex feature flags, writes
[features].hooks = truewhen available, retains the legacycodex_hooksfallback for older CLIs, dedupes stale hook aliases, keeps hooks active after clear resets, and detects stale PostCompact wiring. - Runtime ownership and visibility are safer — OMX notify dispatch avoids recursive wrapper chains, setup mode switches avoid duplicate hook state, plugin-mode skill discovery and plugin MCP cleanup are hardened, boxed Team state-root precedence is corrected, and HUD visualization stays rooted in runtime authority.
- Completion gates are harder to overclaim — Ralph completion requires audit evidence, and Ultragoal final completion requires cleanup/review proof before accepting done state.
Merged PR inventory
- #2222 — feat(ralph): add approved context refs
- #2223 — fix: accept canonical approved PRD aliases
- #2224 — fix: tighten context pack handoff diagnostics
- #2226 — Fix setup legacy hook-state dedupe
- #2229 — Fix Codex hooks feature flag
- #2241 — fix(planning): keep lineage fallback on visible hints
- #2242 — fix(team): preserve approved handoffs during scale-up
- #2243 — fix: preserve multiline approved launch-hint matching
- #2245 — feat(planning): read private context-pack entry metadata
- #2248 — Keep OMX hooks active after clear resets
- #2251 — Detect stale PostCompact hook wiring
- #2256 — Prevent recursive OMX notify dispatcher wrapping
- #2259 — Fix OMX HUD state-root visualization
- #2262 — Guard Ralph completion on audit evidence
- #2263 — Avoid stale Codex hook flags across CLI releases
- Release-review fixes — require Ultragoal final cleanup/review proof before completion and align release metadata/collateral to
0.16.4.
Validation
- Local release-review gates:
npm run build,npm run lint,npm run check:no-unused,node --test dist/cli/__tests__/version-sync-contract.test.js, release-focused targeted Node suites,cargo test,npm pack --dry-run, andgit diff --check. - Release body generation is a pending pre-tag gate tracked in
docs/qa/release-readiness-0.16.4.md; rungenerate-release-body.jsagainst the local annotatedv0.16.4tag before pushing the tag. - GitHub CI and publication evidence are tracked in
docs/qa/release-readiness-0.16.4.md; pending gates must be filled after CI, tag workflow, GitHub release, and npm verification complete.
Contributors
Thanks to bellman, @HaD0Yun, @lkraider, @weathour, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.16.3...v0.16.4
- Removal of unsupported `hooks = true` alias inside the `[features]` table; migration to `[features].codex_hooks = true`.
Full changelog
oh-my-codex v0.16.3
0.16.3 is a post-0.16.2 reliability release for Codex native-hook setup, Team/Ralph runtime state boundaries, approved handoff context, planning context-pack guidance, and release-review blocker fixes discovered before promotion.
Highlights
- Codex native-hook setup is aligned with the supported feature flag — generated setup/runtime config now emits and migrates to
[features].codex_hooks = true, removes stale unsupportedhooks = truealiases inside the features table, preserves user-owned hook state, and keeps project runtimeCODEX_HOMEhook trust pointed at the mirrored runtimehooks.json. - User-owned notification hooks are safer across setup/uninstall — project setup with
notifyCommand: falsepreserves non-OMXnotifycommands, managed notify detection no longer relies on basename-only matches, uninstall keeps user hook enablement intact, and Windows/global install hook commands avoid unsafe self-updates. - Team, planning, and approved handoffs are more durable — approved handoff context is surfaced to workers, ready context-pack role references are exposed, symbolic Team launch signatures survive planning, role-agnostic approved hints are preserved, and Team startup-evidence tests now isolate local state roots from global OMX state.
- Ralph/autoresearch/native compact hooks avoid stale or malformed lifecycle behavior — stale Ralph sessions no longer auto-resume, blocked autoresearch Stop reconciliation is explicit, and PreCompact/PostCompact native hook output remains valid JSON.
Merged PR inventory
- #2186 — fix: surface Codex startup exits
- #2190 — Fix runtime hook mirror dedupe and hooks feature flag
- #2191 — Fix Windows Codex hook command generation
- #2196 — Fix notify setup scope handling
- #2200 — fix: preserve user hook enablement on uninstall
- #2199 — fix: dedupe managed hook trust state
- #2201 — Fix hooks.json trust state placement
- #2202 — fix(planning): preserve team launch signatures
- #2203 — fix(team): preserve role-agnostic approved hints
- #2204 — feat(planning): expose ready context-pack role refs
- #2207 — Fix PostCompact native hook JSON output
- #2208 — feat(team): add approved handoff context section
- #2212 — Defer startup self-updates on Windows/global installs
- #2213 — Fix autoresearch Stop reconciliation for blocked verdicts
- #2216 — fix: migrate Codex hooks feature flag
- #2217 — Fix PreCompact native hook JSON output
- #2220 — Prevent stale Ralph sessions from auto-resuming
- Release-review fixes — exact supported hook feature flag generation, project notify preservation, runtime hook trust remapping, Team startup-evidence state-root isolation, and notify guard tightening.
Validation
- Local release-review gates:
npm run build,npm run lint,npm run check:no-unused, targeted setup/config/uninstall/hook/Team Node tests, andgit diff --check. - Release collateral generated from the
v0.16.2...v0.16.3compare range and verified withgenerate-release-body.jsbefore tagging. - GitHub CI and publication evidence are recorded in
docs/qa/release-readiness-0.16.3.md.
Contributors
Thanks to bellman, @lkraider, @weathour, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.16.2...v0.16.3
- `$ultragoal` defaults to aggregate Codex goals; existing plans retain per‑story behavior unless `--codex-goal-mode per-story` is specified.
- [features].hooks = true alias restored to `[features].codex_hooks = true` during setup.
- Project wiki pages are now commit‑shared in repository-root `omx_wiki/` with legacy `.omx/wiki/` read‑only fallback.
- Stateful workflows are isolated by OMX session, no longer inheriting root/global state.
Full changelog
oh-my-codex v0.16.2
0.16.2 is a post-0.16.1 release-train correction and workflow hardening release. It ships the major $ultragoal aggregate-goal amendments, commit-shared wiki/compaction support, state isolation fixes, and the Codex native-hook setup corrections found during release review.
Highlights
$ultragoalnow defaults to aggregate Codex goals — new plans use one aggregate Codex objective while OMX tracks per-storyG001/G002checkpoints. Existing/no-mode plans keep legacy per-story behavior, and explicit--codex-goal-mode per-storyremains supported. Planning, ralplan, deep-interview, plugin-skill mirrors, help text, and docs now point users toward$ultragoalas the default goal-mode follow-up. (#2188)- Project wiki pages are now commit-shared — canonical wiki storage moved to repository-root
omx_wiki/, with legacy.omx/wiki/retained as a read-only fallback. NativePreCompact/PostCompacthooks now preserve and promote durable compaction findings into the shared wiki surface. (#2180) - Stateful workflows are isolated by OMX session — session-scoped workflow state no longer inherits or autocompletes from root/global state, and explicit
all_sessionscleanup remains the global reset path. (#2193)
Codex native hooks and setup
- Added Codex-compatible trust-state generation for setup-owned
codex-native-hook.jswrappers so generated hooks can be trusted without manual/hooksreview, while user hook entries and user-owned hook state remain preserved. (#2194) - Audited the hook feature-flag migration work from #2174 during release review and restored generated setup config to the official lifecycle-hook flag,
[features].codex_hooks = true. - Repaired stale/unreleased
[features].hooks = truealiases back tocodex_hooksduring setup, and updated setup, uninstall, docs, tests, and plugin-skill mirrors to consistently document the supported flag.
Merged PR inventory
- #2174 — fix: use supported Codex hooks feature flag
- #2188 — Default ultragoal to aggregate Codex goals
- #2180 — Make OMX wiki commit-shared and add compact hooks
- #2194 — Trust setup-owned Codex hooks during setup
- #2193 — Fix stateful workflow session isolation
Validation
- Local release-review gates:
npm run build,npm run check:no-unused, targeted setup/config/uninstall/hook Node tests,npm run verify:native-agents,npm run verify:plugin-bundle, catalog-doc check, andcargo test. - Changed-area PR gates included targeted
$ultragoal, wiki/MCP/storage, state/session, native-hook, setup, lint, no-unused, and plugin-bundle checks. - GitHub CI passed on
devandmain; the tag release workflow passed native builds, release-asset publishing, smoke verification, packed global install smoke, and npm publish.
Contributors
Thanks to @Lu1sDV and @Yeachan-Heo for the PRs and fixes that made up the 0.16.2 train, plus the release-prep/review work that hardened the final tag.
Full Changelog: v0.16.1...v0.16.2
- `omx explore` local fast‑path file reads no longer follow symlinks; symlinked paths fall back to the harness path.
- Local explore text search skips oversized files in the fast path, using bounded fallback handling for broader searches.
- Session‑scoped runtime state becomes authoritative, cleaning stale root skill/HUD data
- Team approved‑handoff repairs now preserve ambiguous bindings and diagnostics
Full changelog
oh-my-codex v0.16.1
Summary
0.16.1 is a broad post-0.16.0 hardening release. It improves omx explore safety and bounded execution, session-scoped runtime authority, Team approved-handoff repair paths, Codex goal-mode durability, plugin/cache behavior, native launch portability, CI reliability, and release-install proof.
This release was built from v0.16.0..v0.16.1 and includes 25 merged PRs plus final release-review blocker fixes for explore local fast paths and CI dependency installation.
Highlights
- Explore safety and bounded execution — Codex-backed explore runs are bounded before semantic fallback, process storms are capped before host OOM, symlinked local fast-path file reads no longer leak outside the repo, and oversized local text-search reads fall back to bounded handling.
- Runtime/session authority — session-scoped runtime state is now the active authority, stale root skill-active/HUD state is cleaned up after terminal workflows, and project-scoped Codex goal state stays durable.
- Team approved-handoff hardening — approved Team execution preserves ambiguous bindings, binding transport, selected handoffs, invalid context-pack diagnostics, nonready repair-only behavior, DAG fallback status, and read-only context-pack status visibility.
- Goal-mode and interview flow — planning handoffs steer toward goal-mode follow-ups, blocked
ultragoalCodex goal handoffs are handled, and deep-interview routing separates facts from judgment. - Plugin, launch, and platform fixes — plugin MCP launch behavior is clearer, plugin skill cache refresh works, managed helpers use the current JS runtime, Windows OMX root launch paths are fixed, Darwin launch fallback worktree assertions are path-stable, and disposable launch worktree state remains durable.
- CI and release integrity — CI critical-path latency was reduced while preserving release gates, Node jobs now prove clean lockfile installs with unconditional
npm ci, version sync is verified across Node/Cargo/plugin metadata, and native release artifacts build through the tag workflow.
Merged PRs
Explore and execution safety
- #2120 — Bound explore execution before semantic fallback
- #2146 — Bound explore process storms before host OOM
Runtime, session state, and goal durability
- #2136 — Fix stale root skill state after terminal ralplan/Ralph
- #2138 — Guide planning handoffs toward goal-mode follow-ups
- #2140 — Handle blocked ultragoal Codex goal handoffs
- #2141 — Keep session-scoped runtime state authoritative
- #2151 — Keep Codex goal state durable in project-scoped sessions
Team approved-handoff and context-pack reliability
- #2169 — Keep nonready approved handoffs repair-only
- #2170 — Preserve invalid context-pack role diagnostics
- #2171 — Close remaining approved handoff fallback gaps
- #2172 — Keep Team DAG fallbacks aligned with handoff status
Launch, plugin, MCP, and platform fixes
- #2122 — Clarify plugin MCP launch truth
- #2134 — Keep solo/disposable launch worktree state durable
- #2135 — Preserve Ralph continuity around imagegen interrupts
- #2144 — Fix first-party MCP app-server pre-traffic leaks
- #2152 — Fix plugin skill cache refresh
- #2153 — Use current JS runtime for managed OMX helpers
- #2154 — Tighten launch-policy help output
- #2155 — Quiet native hook background output
- #2157 — Fix Windows OMX root launch paths
- #2178 — Normalize Darwin launch-fallback worktree root assertion
Models, CI, docs, and workflow polish
- #2131 — Add config-level xhigh reasoning overrides for agents
- #2158 — Reduce CI critical-path latency
- #2159 — Improve deep-interview fact routing
- #2168 — Add UI design anti-slop signals
Additional release-prep commits
f5e1e79e— Fix stale autopilot skill-active HUD statee1711433— Preserve ambiguous approved Team bindingsc6f5d46a— Preserve team-exec approved binding transport3e8767bb— Keep selected approved Team handoffs amid incomplete drafts8c8d2ed5— Add read-only context-pack handoff status9e4d118b— Harden the post-0.16.0 train for 0.16.1cfc29185— Promote the reviewed 0.16.1 train to main
Upgrade notes
omx explorelocal fast-path file reads no longer follow symlinks; symlinked paths fall back to the harness path.- Local explore text search skips oversized files in the fast path and lets bounded fallback handling cover broader searches.
- CI no longer restores/skips a cached
node_modulestree;npm ciruns in each Node job to prove lockfile install integrity.
Verification
- Dev CI for
9e4d118b: passed. - Main CI for
cfc29185: passed. - Release tag workflow for
v0.16.1: passed, including version sync, native artifact publication, native asset smoke verification, packed global install smoke test, and npm package publication. - Local release-prep gates included Rust workspace tests, TypeScript build, lint/no-unused checks, targeted Node tests, and
npm pack --dry-run.
Contributors
Thanks to @Yeachan-Heo, @lkraider, @HaD0Yun, @pgagarinov, and @qzzqzzb for the PRs and fixes that made up the 0.16.1 train, plus the release-prep/review work that hardened the final tag.
Full Changelog: v0.16.0...v0.16.1
- `ultragoal`, `performance-goal`, and `autoresearch-goal` require fresh Codex goal snapshots for durable completion reconciliation; OMX does not mutate hidden Codex goal state directly.
- If you relied on plugin‑delivered deprecated skills, migrate to the active replacement skill or workflow listed by `omx list` / generated skill docs.
- Retired obsolete plugin‑delivered skills (use replacements from `omx list`).
- `omx autoresearch` is deprecated; use `$autoresearch` or `omx autoresearch-goal`.
- Completion checkpoints now require fresh `get_goal` evidence for snapshot‑reconciled completion.
- Native goal‑mode workflows: `ultragoal`, `performance-goal`, and `autoresearch-goal` with durable plans, evaluator/critic gates, ledgers, and Codex handoffs.
- Snapshot‑reconciled completion prevents false completions by requiring fresh goal evidence.
Full changelog
oh-my-codex v0.16.0
Summary
0.16.0 is a minor release for skill deprecation and native Codex goal-mode integration. It moves long-running workflow coordination toward durable repo artifacts plus explicit Codex goal reconciliation, while cleaning up obsolete plugin-delivered skill surfaces.
Release CI is green for main and v0.16.0; npm publication completed through the tag-triggered Release workflow.
Highlights
- Goal-mode native workflows —
ultragoal,performance-goal, andautoresearch-goaladd durable plans, evaluator/professor-critic gates, ledgers, and model-facing Codex goal handoffs. - Goal-mode skills spotlight —
ultragoalrepresents the new goal-mode family: use$ultragoalfor durable multi-goal execution,$performance-goalfor evaluator-gated optimization work, and$autoresearch-goalfor professor/critic research loops over fresh Codex goal snapshots. - Snapshot-reconciled completion — completion checkpoints require fresh
get_goalevidence that the expected objective is complete, preventing shell-only false completion. - Skill delivery cleanup — obsolete skills retired from installable/plugin delivery where catalog-deprecated; deprecated root wrappers may remain as compatibility stubs.
- Autoresearch migration — direct
omx autoresearchremains deprecated; use$autoresearchandomx autoresearch-goalfor goal-mode-backed research workflows. - Runtime reliability — Team/Ralph handoffs, question batch handshakes, Stop hooks, boxed state routing, notification proxy handling, and explore startup bounds were hardened.
- Pipeline and docs polish — GitHub package pipeline templates, Discord/proxy setup docs, and goal workflow docs are included.
Merged PRs / notable commits
- #2132 — Retire obsolete OMX skills
- #2117 — Protect goal workflows with snapshot reconciliation
- #2113 — Honor proxy environments for notification transports
- #2106 — Bound explore startup env and Codex timeouts
- #2104 — Add Lore commit guard opt-out
- #2102 — Add first-class ultragoal prompt workflow
- #2100 — Make madmax launches own isolated runtime state
- #2097 — Make multi-goal execution durable around Codex goal mode
- #2095 — Let Ralph verifier children finish
- #2092 — Clarify plugin setup guidance source
- #2088 — Add GitHub package pipeline templates
- #2086 — Fix boxed team state path routing
- #2082 — Fix Ralph session state rebinding
- #2078 — Fix MCP duplicate sibling cleanup leak
- #2076 — Clarify ralplan handoff continuation status
- #2074 — Clarify Discord webhook and bot setup
- #2065 — Replace team stall nudges with worker Stop hook
- #2055 — Integrate Ralph with Codex goal mode
Upgrade notes
ultragoal,performance-goal, andautoresearch-goalrequire fresh Codex goal snapshots for durable completion reconciliation; OMX does not mutate hidden Codex goal state directly.- Treat direct
omx autoresearchas deprecated. Use$autoresearchoromx autoresearch-goalinstead. - If you relied on plugin-delivered deprecated skills, migrate to the active replacement skill or workflow listed by
omx list/ generated skill docs. - Publication remains blocked until local verification and GitHub CI are green.
Verification
Release verification evidence is tracked in docs/qa/release-readiness-0.16.0.md. Final publication requires local gates plus GitHub CI.
Contributors
Thanks to @Yeachan-Heo, @HaD0Yun, @pgagarinov, and dependabot for contributions in this range.
Full Changelog: v0.15.3...v0.16.0
Release publication status
- Main CI: passed.
- Release CI: passed.
- npm package publish: completed via the
v0.16.0Release workflow.
- Backward-compatible for existing `0.15.x` users.
- Release tag must match `package.json`/Cargo workspace version `v0.15.3`; mismatch is rejected before publishing.
- Timestamp canonical handoff artifacts for planning and Ralph lifecycle hardening
- Warn about oversized gpt-5.5 context settings
Full changelog
oh-my-codex v0.15.3
Summary
0.15.3 is a patch release for the 0.15.x train focused on Team/ralph runtime reliability, approved-handoff safety, startup/session isolation, plugin/setup guardrails, and native release readiness. It promotes the CI-green dev line after validating the 0.15.3 package/native version sync and release gates.
Highlights
- Safer Team runtime startup and shutdown — fixes stale team-worker Stop task blocking, prompt-worker startup death handling, same-cwd session isolation, live-session teardown from detached tmux postLaunch, ready-prompt startup evidence, tmux extended-key fallback, runtime role propagation, launch inheritance, and portable launch instructions.
- Approved handoff and pipeline validation — validates team handoff paths against approved artifacts, normalizes equivalent/absolute paths, preserves backslashes and quoted handoff tasks, derives team-exec tasks from approved handoffs, and retains approved execution context narrowly.
- Planning and Ralph lifecycle hardening — timestamps canonical handoff artifacts, exact-matches approved launch hints, scopes Ralph Stop to the owning session, and prevents stale
skill-activeStop blocking after ralplan completion. - Setup, plugin, and config reliability — avoids duplicate generated AGENTS instructions, preserves TOML env entries during schema migration, avoids invalid Codex config environment tables, detects mirror CLI calls in spaced paths, and fixes project Codex NUX config pollution.
- Operational polish and release gates — keeps OMX MCP serve alive, reduces Team startup assignment latency, makes HUD watch coalescing deterministic, adds oversized
gpt-5.5context warnings, guides ai-slop-cleaner fallback cleanup, and hardens the 0.15.3 release gates.
Merged PRs
- #2004 — [codex] Fix Codex config env schema warning (@sean2077)
- #2021 — Warn for oversized gpt-5.5 context settings (@Yeachan-Heo)
- #2024 — Fix Ralph Stop session ownership leak (@Yeachan-Heo)
- #2026 — Avoid duplicate generated AGENTS instructions (@Yeachan-Heo)
- #2029 — Guard sloppy fallback PreToolUse framing (@Yeachan-Heo)
- #2031 — Fix detached tmux postLaunch tearing down live OMX sessions (@chenjiayi8)
- #2032 — Reduce team startup assignment latency after pane split (@HaD0Yun)
- #2034 — Fix project Codex NUX config pollution (@Yeachan-Heo)
- #2036 — Fix tmux extended-keys fallback on older tmux (@Yeachan-Heo)
- #2037 — fix(plugin): detect mirror CLI calls in spaced paths (@lkraider)
- #2038 — test(codex-home): isolate ambient defaults in env-sensitive suites (@lkraider)
- #2040 — Preserve approved execution handoff context (@Yeachan-Heo)
- #2041 — Fix prompt worker startup death handling (@Yeachan-Heo)
- #2042 — fix(team): treat ready prompts as startup evidence (@lkraider)
- #2043 — Fix flaky HUD watch coalescing test (@Yeachan-Heo)
- #2044 — Keep OMX MCP serve process alive (@pgagarinov)
- #2045 — fix(planning): exact-match approved launch hint selection (@lkraider)
- #2046 — fix(team): make runtime launch instruction portable (@lkraider)
- #2047 — feat(planning): timestamp canonical handoff artifacts (@lkraider)
- #2049 — fix(pipeline): validate approved team handoff path (@lkraider)
- #2050 — Fix same-cwd team session isolation (@HaD0Yun)
- #2053 — Fix stale skill-active Stop blocking after ralplan completion (@Yeachan-Heo)
- #2063 — Guide ai-slop-cleaner through fallback cleanup (@Yeachan-Heo)
- #2064 — Fix stale team-worker Stop task blocks (@HaD0Yun)
Verification
- Dev CI run
25250185636passed on commit4d588c11a185c2e4fede0fc1b242436bab29ce5cbefore main promotion. - Local release readiness before promotion:
git diff --check main,npm run lint,npm run check:no-unused,npm test(4437/4437), andnpm pack --dry-runforoh-my-codex-0.15.3.tgz. - Release workflow re-verifies package/workspace/tag version sync, builds native assets, smoke-verifies packed install, and publishes npm only after those gates pass.
Upgrade notes
- This patch is intended to be backward-compatible for existing
0.15.xusers. - Operators using Team/ralph runtime workflows should see fewer stale Stop blocks, safer same-cwd isolation, and more reliable startup/death detection.
- The release tag must match
package.json/Cargo workspace versionv0.15.3; the release workflow rejects mismatches before publishing.
Contributors
Thanks to bellman, @chenjiayi8, @HaD0Yun, @lkraider, @pgagarinov, @sean2077, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.15.2...v0.15.3
- Prompt guidance refresh aligning GPT‑5.5 across specialist prompts and plugin skills
- Autopilot review‑gated three‑phase loop ensuring execution returns through gated planning
- Guided question UX presented as a blocking popup wizard preserving legacy response contract
Full changelog
oh-my-codex v0.15.2
Summary
0.15.2 is a patch release for the 0.15.x train focused on prompt-surface alignment, review-gated autonomy, guided question UX, MCP/plugin runtime reliability, and release-edge hardening after code review and UltraQA.
Highlights
- Prompt guidance refresh — aligned GPT-5.5 guidance across specialist prompts and mirrored plugin skills, including planner/executor/verifier guidance fragments and installed prompt surfaces (#2008).
- Code-reviewer root-cause discipline — taught review flows to reject masking workaround fixes and preserve stricter review-loop handoffs (#2010, #2001).
- Autopilot review-gated loopbacks — made the three-phase Autopilot planning/review loop explicit so execution returns through review-gated planning instead of drifting (#2001).
- Guided question UX — made question prompts feel like a blocking popup wizard and preserved response-contract/legacy wording expectations (#2014, #2019).
- Runtime and team reliability — kept plugin MCP servers alive through
omx mcp-serve, fixed pane-scoped tmux session isolation, and extended worker startup evidence windows (#2013, #2005, #1999). - Release edge hardening — fail-closed code-review pipeline defaults, safer tmux pane target verification, corrected batch question JSON projections, and stabilized release-gate tests before promoting
devtomain.
Verification
- Local full test gate:
npm test— 4,346/4,346 passing. - Dev CI passed before main promotion: https://github.com/Yeachan-Heo/oh-my-codex/actions/runs/25152286126
- Release workflow passed: https://github.com/Yeachan-Heo/oh-my-codex/actions/runs/25152653049
Merged PRs / changes
- #1999 — worker startup evidence timeout stabilization.
- #2001 — Autopilot three-phase loop and strict review-loop handoffs.
- #2005 — tmux session isolation via pane-scoped tags.
- #2008 — prompt guidance alignment and plugin skill mirror updates.
- #2010 — code-reviewer root-cause / masking-workaround rejection guidance.
- #2013 — plugin MCP server lifetime through
omx mcp-serve. - #2014 — guided question blocking popup wizard behavior.
- #2016 —
.omx-config.jsonschema and effective model routing docs. - #2019 — guided question follow-up and response-contract preservation.
9daffc4a— reviewed 0.15.2 release-edge fixes and version bump.
Contributors
Thanks to bellman, @deanpress, @HaD0Yun, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.15.1...v0.15.2
- Default supported interactive launches remain detached‑tmux managed; use `omx --direct` or `OMX_LAUNCH_POLICY=direct` to bypass tmux/HUD management.
- Existing setup installs keep their persisted plugin-vs-legacy choice unless overridden with `--plugin`, `--legacy`, or `--install-mode`.
- Direct/non-tmux launch controls via `omx --direct` and `OMX_LAUNCH_POLICY=direct|tmux|detached-tmux|auto`
- Passive read‑only state operations no longer create `.omx/state` directories or initialize tmux‑hook config
Full changelog
oh-my-codex v0.15.1
Summary
0.15.1 is a patch release for the 0.15.x train focused on operator-controlled launch behavior, passive state reads, safer repo-aware Team DAG dependency handling, setup/plugin-mode recovery, audited exec follow-ups, and hook/runtime reliability fixes.
Highlights
- Direct/non-tmux launch controls —
omx --directandOMX_LAUNCH_POLICY=direct|tmux|detached-tmux|autolet operators choose direct or tmux-managed leader startup per launch or environment. - Passive read-only state operations — state read/list/status paths no longer create
.omx/statedirectories or initialize tmux-hook config. - Repo-aware Team DAG dependency remapping — symbolic DAG dependencies are remapped to concrete task IDs after task creation and before worker inbox/bootstrap generation.
- Setup and plugin-mode hardening — setup reruns explain persisted choices, explicit legacy mode is restored, plugin marketplace discovery is wired, and stale plugin/legacy surfaces are guarded.
- Runtime reliability — Stop lifecycle reads prefer canonical run-state, MCP state persistence survives transport disconnects, prompt resume avoids unverified PID hard failures, hook diagnostics are less noisy, and macOS startup polling pressure is reduced.
Verification
Release readiness evidence is recorded in docs/qa/release-readiness-0.15.1.md.
npm run build— see readiness docnpm run lint— see readiness docnpm run check:no-unused— see readiness docnpm run verify:native-agents— see readiness docnpm run verify:plugin-bundle— see readiness docnpm run test:recent-bug-regressions:compiled— see readiness doc
Upgrade notes
- No tag, npm publish, or GitHub release has been created by this local release-prep change.
- Default supported interactive launches remain detached-tmux managed; use
omx --directorOMX_LAUNCH_POLICY=directto bypass tmux/HUD management. - Existing setup installs keep their persisted plugin-vs-legacy choice unless overridden with
--plugin,--legacy, or--install-mode <legacy|plugin>.
Contributors
Thanks to @artbred, bellman, @dependabot[bot], @gobylor, @HaD0Yun, @Imdeadpool1, @KZhou-ZJU, @lifrary, @Oxidane-bot, Victor Sotero, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.14.3...v0.15.1
- No tag, npm publish, or GitHub release has been created by this release‑prep change.
- Existing CLI users can continue with legacy skill delivery; setup now makes plugin‑vs‑legacy mode explicit and preserves persisted choices.
- Codex App users should prefer the shipped first‑party plugin bundle once `v0.15.0` is published.
- Plugin delivery and Codex App compatibility with first‑party `plugins/oh-my-codex` bundle
- Visual Ralph workflow added as a first‑class skill with routing, docs, and regression coverage
- Native agent/model routing aligned to `gpt-5.5`, `gpt-5.4-mini`, and `gpt-5.3-codex-spark` contracts
Full changelog
oh-my-codex v0.15.0
Summary
0.15.0 is a minor release candidate that prepares the plugin delivery and Codex App compatibility train, Visual Ralph, setup install-mode selection, native agent/model routing, hook/runtime hardening, Windows/tmux question reliability, CI hang protection, Rust compatibility fixes, and release collateral for the next release cut.
Release range note: v0.14.4 exists, but it is not an ancestor of the current dev release candidate. The verified reachable base for this candidate is v0.14.3; the 0.14.4 metadata/collateral history is retained as historical release context.
Highlights
- Plugin delivery and Codex App compatibility — ships the first-party
plugins/oh-my-codexbundle, plugin descriptors, marketplace metadata, plugin mirror synchronization, and setup/install-mode coverage. - Visual Ralph — adds the Visual Ralph workflow as a first-class skill with routing, docs, and regression coverage for frontend/UI iteration workflows.
- Setup/install mode hardening — setup can preserve project plugin mode, clarify next steps, keep managed hooks/runtime assets aligned, and clean plugin-mode drift safely.
- Native agent/model routing — native agent definitions, model table generation, and setup refresh tests align on the
gpt-5.5frontier,gpt-5.4-ministandard, andgpt-5.3-codex-sparkfast-lane contract. - Runtime reliability — Stop hook parseability, notification fallback watchers, derived watchers, stale tmux sockets, team/runtime guidance, and CI silence handling have targeted hardening.
- Windows/tmux and Rust compatibility — question rendering paths cover Windows/non-attached terminals, while the explore harness remains compatible with the supported Rust toolchain.
Verification
Release readiness evidence is recorded in docs/qa/release-readiness-0.15.0.md.
npm run build— see readiness docnpm run lint— see readiness docnpm run check:no-unused— see readiness docnpm run verify:native-agents— see readiness docnpm run verify:plugin-bundle— see readiness docnpm run sync:plugin:check— see readiness docnpm test— see readiness docnpm run test:ci:compiled— see readiness docnpm run test:explore— see readiness docnpm run test:sparkshell— see readiness docnpm run smoke:packed-install— see readiness doccargo test --workspace— see readiness doc
Upgrade notes
- No tag, npm publish, or GitHub release has been created by this release-prep change.
- Existing CLI users can continue with legacy skill delivery; setup now makes plugin-vs-legacy mode explicit and preserves persisted choices.
- Codex App users should prefer the shipped first-party plugin bundle once the release owner publishes
v0.15.0. - Existing model overrides remain respected; default generated guidance continues to use
gpt-5.5for frontier lanes,gpt-5.4-minifor standard lanes, andgpt-5.3-codex-sparkfor fast exploration.
Contributors
Thanks to bellman, @gobylor, @HaD0Yun, @lifrary, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.14.4...v0.15.0
- Existing users do not need to change mini or spark overrides.
- Fresh/default frontier paths will now seed or recommend gpt-5.5 where OMX owns that configuration.
- Default frontier model changed to gpt-5.5
- Setup/config guidance updated for the new gpt-5.5 default
Full changelog
oh-my-codex v0.14.4
Summary
0.14.4 is a patch release after v0.14.3 that promotes the default frontier lane from gpt-5.4 to gpt-5.5 while intentionally preserving the exact gpt-5.4-mini standard/mini seam and the gpt-5.3-codex-spark spark lane. The release aligns runtime defaults, setup/config seeding, docs, templates, and regression coverage around that model contract.
Changed
- Default frontier model is now
gpt-5.5— runtime defaults, Codex agent defaults, andomx explorefallback handling now point atgpt-5.5. - Setup/config guidance stays aligned with the new frontier default — config generators, setup-refresh coverage, README/site docs, and managed-config guidance now describe
gpt-5.5seeding and the same250000 / 200000context recommendations. - Mini and spark lanes remain exact — the
gpt-5.4-miniseam andgpt-5.3-codex-sparklow-complexity lane remain unchanged, with tests/docs preserving the exact-match contract. - Release metadata is aligned to
0.14.4— package/Cargo metadata plus release collateral are prepared for the0.14.4cut.
Verification
npm run build✅- Targeted Node suites for model/default changes ✅
npm run lint,npm run check:no-unused, andcargo test --workspacepassed earlier on this branch ✅- Full
npm testwas intentionally not rerun after the final fast-path executor reasoning tweak.
Upgrade notes
- Existing users do not need to change mini or spark overrides.
- Fresh/default frontier paths will now seed or recommend
gpt-5.5where OMX owns that configuration.
Contributors
Thanks to @Yeachan-Heo for contributing to this release.
Full Changelog: v0.14.3...v0.14.4
- No migration steps are required for normal users.
- Project‑local .codex resolution is automatically corrected after update refresh.
- `omx question` requires an operator‑visible tmux path; otherwise it fails closed with guidance.
- Canonical supervisor runtime events for control and dispatch
- Deep‑interview summary gates to limit context blow‑up
- Docker‑host tmux question bridge preserving prompt visibility
Full changelog
oh-my-codex v0.14.3
Summary
0.14.3 is a patch release after v0.14.2 focused on the latest dev hardening train for interactive OMX execution. It preserves leader-pane question replies across tool-launched omx question, keeps reused deep-interview sessions attached to the correct pane, honors project-local CODEX_HOME for explore sessions, prevents multiline root TOML corruption during setup, keeps HUD reconciliation in the emitting tmux window, adds deep-interview summary gates, prevents answered deep-interview rounds from re-prompting, aligns ultrawork with upstream protocol improvements, hardens visible question rendering across tmux/docker-host metadata races, keeps cleanup compatible with BusyBox ps, avoids stale native Stop/autopilot loops, adds canonical runtime events for supervisor control, and hardens native Windows psmux worker pane bootstrap.
Added
- Canonical supervisor runtime events — runtime command-event contracts now include canonical event types for supervisor control and downstream dispatch/readiness decisions.
- Deep-interview summary gates — oversized interview flows now require compact summaries before continuing, reducing context blow-up during long clarification paths.
- Docker-host tmux question bridge — question rendering can bridge docker-host tmux detection so operator-visible prompts survive container/host pane splits.
Changed
- Question replies preserve the leader pane — tool-launched
omx questionflows now retain and reuse the correct return pane across prompt reseeding and renderer metadata races. - Explore respects project-local Codex homes — launch/session helpers honor persisted project setup scope by resolving
CODEX_HOMEto the project.codexdirectory when appropriate. - Setup config repair is safer — multiline root TOML strings are parsed as root entries so setup refreshes no longer orphan fragments or corrupt
developer_instructions-style values. - HUD reconciliation stays window-local — hook-driven HUD resize/reconcile work targets the emitting tmux window instead of drifting across windows.
- Ultrawork protocol stays aligned upstream — the shipped ultrawork skill incorporates the upstream protocol refresh used by oh-my-openagent.
- Native Windows worker panes are more robust — psmux worker bootstrap avoids the stale pane/startup assumptions that caused native Windows team launch regressions.
Fixed
- Answered deep-interview rounds no longer re-prompt — stale question state is reconciled against answered records before enforcement asks again.
- Question answers no longer stall on renderer metadata races — renderer return-target metadata is stabilized so answers can be injected back to the invoking pane.
- Detached/hidden question prompts remain operator-visible — question rendering fails closed or bridges to visible tmux contexts instead of leaving prompts hidden from the operator.
- BusyBox cleanup compatibility — cleanup retries process discovery with the BusyBox-compatible
argsfield whenpsrejectscommand. - Native Stop no longer loops on stale autopilot planning state — stale planning state is cleared/reconciled before Stop handling repeats.
- Release metadata drift — Node/Cargo metadata, lockfiles, changelog, release body, release notes, and release-readiness collateral are aligned to
0.14.3.
Verification
npm test✅ — 3910 tests passed, 0 failed; catalog check ok.npm run check:no-unused✅cargo test --workspace✅npm run lint✅npm run build✅node --testtargeted changed-path suites for question/deep-interview/hooks/team/config/cleanup/HUD ✅
Upgrade notes
- No migration steps are required for normal users.
- Operators relying on project-local setup should benefit from the corrected
.codexlaunch resolution automatically after setup/update refresh. omx questioncontinues to require an operator-visible tmux path for owned question UI rendering; when that path is unavailable it fails closed with actionable guidance.
Contributors
Thanks to @HaD0Yun, @mpfo0106, sa-buc, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.14.2...v0.14.3
- TypeScript updated to 6.0.3, Biome lockfile metadata refreshed to 2.4.12, tsconfig.json pins Node ambient types for TS 6 build path
- `omx question` now requires a visible attached tmux pane; otherwise it raises a clear renderer error
- Korean ulw keyboard drift handling
- Background-question guidance for deep‑interview
Full changelog
oh-my-codex v0.14.2
Summary
0.14.2 is a patch release after v0.14.1 focused on fast-follow operator reliability. It keeps ultrawork activation usable when ulw is typed through a Korean 2-set keyboard, aligns omx question answer injection with the shared tmux pane-send helper, fails closed when omx question cannot open a visible attached tmux renderer, prevents stale duplicate MCP siblings from lingering after post-duplicate traffic, preserves cleared deep-interview session state against legacy root fallback, clarifies that background omx question terminals must be awaited before continuing deep-interview, and ships the TypeScript/Biome baseline refresh that landed on dev.
Added
- Korean
ulwkeyboard drift handling — prompts typed asㅕㅣㅈnormalize to the existingulwultrawork shorthand before workflow activation. - Background-question guidance for deep-interview — skill, template, and native-hook guidance now tell agents to wait for background
omx questionterminals to finish and read the JSON answer before scoring ambiguity or handing off.
Changed
- Question answer injection shares tmux submit semantics —
src/question/renderer.tsnow delegates tobuildSendPaneArgvs, preserving literal text delivery, shared newline sanitization, and isolatedC-msubmit calls. - Question rendering now requires a visible attached tmux pane — outside attached tmux,
omx questionraises a clear renderer error instead of spawning a detached session that the operator cannot see. - Deep-interview routing intent is tighter — cleanup/state-management mentions of “deep interview” no longer activate the workflow unless the prompt explicitly asks to run it.
- Toolchain baseline refresh — TypeScript is updated to
6.0.3, Biome lockfile metadata is refreshed to2.4.12, andtsconfig.jsonpins Node ambient types for the TS 6 build path.
Fixed
- Duplicate MCP sibling leaks after traffic — older same-parent stdio duplicates now self-exit after a configurable safe idle window even if they handled traffic after the duplicate appeared.
- Session-scoped clear fallback leaks — clearing a tracked mode under an active session now writes an inactive session tombstone when a legacy root fallback file exists, so status/read surfaces stay cleared.
- Failed deep-interview question launches no longer leave pending obligations behind — question-launch errors clear the outstanding enforcement marker instead of trapping the workflow in a stale pending state.
- Release metadata drift — Node/Cargo package metadata, lockfiles, changelog, release body, release notes, and release-readiness docs are synchronized to
0.14.2.
Verification
$code-reviewoverv0.14.1..Yeachan-Heo/dev— code-reviewer COMMENT and architect WATCH on follow-up boundary cleanup; no blocking findings accepted for the release cut.- Local latest-scope review of
v0.14.1..Yeachan-Heo/dev— no correctness or release-blocking regressions found in the question, state, MCP, or keyword-detector fast-follow changes. npm run lintnpm testcargo test -p omx-explore-harness -p omx-sparkshellnpm pack --dry-run
Remaining risk
- This is still a local release-readiness pass, not a full GitHub Actions matrix rerun.
- Code-review WATCH items are documented but accepted for this patch cut: the cleared-session tombstone helper is duplicated in CLI/MCP state paths, detached question-renderer code remains as a retained legacy branch, MCP duplicate cleanup still relies on conservative process/timing heuristics, and the deep-interview contract text remains duplicated across shipped guidance surfaces.
- The highest-value post-release observation surface remains real tmux / reused-session operator behavior around
omx question, prompt submission, state clear/read precedence, duplicate MCP sibling cleanup, and multilingual workflow activation.
Contributors
Thanks to @dependabot[bot], @leorivk, @minpeter, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.14.1...v0.14.2
- Reused-session deep‑interview question bridge guidance adds a CLI bridge command when `omx question` is unavailable
- Detached tmux question sessions now perform immediate liveness checks and fail closed if the session disappears
Full changelog
oh-my-codex v0.14.1
Summary
0.14.1 is a patch release after v0.14.0 focused on hardening the new interactive orchestration surfaces shipped in that release. It tightens deep-interview question enforcement, improves tmux question-pane reliability across reused and non-POSIX sessions, makes setup/update refresh behavior more resilient, deduplicates lifecycle normalization onto the shared runtime contract, and keeps lightweight review/explore guidance aligned with the current dev defaults.
Added
- Reused-session deep-interview question bridge guidance — prompt-side activation now includes a concrete current-session CLI bridge command when bare
omx questionis unavailable. - Detached question-session liveness checks — detached tmux question sessions are now validated immediately after launch and fail closed if the session disappears.
Changed
- Lifecycle normalization now shares one source of truth — terminal lifecycle compatibility helpers delegate to the centralized run-outcome contract.
- Code-review guidance is stricter — the shipped code-review workflow now expects a broader, dual-perspective review posture.
- Explore/sparkshell lightweight fallback guidance stays lean — lightweight command paths keep mini/spark defaults without broadening the general role roster.
Fixed
- Deep-interview Stop gating — pending structured question obligations now keep Stop blocked even if the deep-interview mode already marked itself inactive.
- Question UI reliability — question panes stay alive under non-POSIX tmux shells, fail closed when panes or detached sessions disappear on launch, and submit answers more reliably in Codex panes.
- Setup/update refresh resilience — accepted setup overwrites no longer destroy managed
AGENTS.md; postinstall/setup refresh stays rooted to npm's install prefix; explicitomx updatereruns setup when setup state is stale and no longer fails on advisory update-state write errors. - Stop-state and session-status leakage — stale Ralph, skill-active, and ultrawork stop state no longer leaks across sessions or floods Stop handling.
- Release metadata drift — Node/Cargo package metadata, lockfiles, changelog, release body, release notes, and release-readiness docs are synchronized to
0.14.1.
Verification
npm testcargo test -p omx-explore-harness -p omx-sparkshellnpm pack --dry-run
Remaining risk
- This is still a local release-readiness pass, not a full GitHub Actions matrix rerun.
- The highest-value post-release observation surface remains real tmux / multi-session operator behavior around
omx question, Stop gating, and setup refresh on upgraded installs.
Contributors
Thanks to @HaD0Yun, @pinion05, @sappho192, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.14.0...v0.14.1
- `omx autoresearch` is hard‑deprecated and will be removed in a future release; migrate to the skill‑first validator‑gated workflow.
- Deep‑interview now requires `omx question`; ensure any custom scripts using deep‑interview are updated to invoke the new question surface.
- Direct `omx autoresearch` command is hard‑deprecated; users must use skill‑first, validator‑gated flows via `$deep-interview --autoresearch` or `$autoresearch`.
- `omx question` structured interactive entrypoint with JSON input, tmux/native renderer selection, persistent records, and structured answer output
- Question‑obligation tracking for deep‑interview enabling durable pending/required states
- Advisory triage classifier routing non‑keyword prompts to PASS/LIGHT/HEAVY advisory paths
Full changelog
oh-my-codex v0.14.0
Summary
0.14.0 is a minor release after v0.13.2 focused on interactive orchestration. It introduces the new omx question blocking-question entrypoint, routes deep-interview rounds through structured question state, hard-deprecates direct omx autoresearch in favor of the skill-first validator-gated flow, adds advisory triage routing, and normalizes runtime run outcomes so Stop/continuation behavior stays consistent across execution surfaces.
Added
omx questionstructured interactive entrypoint — OMX now has a first-party blocking-question command for agent-invoked user questions, with JSON input, tmux/native renderer selection, persistent question records, and structured answer output.- Question-obligation tracking for deep-interview — deep-interview can now mark a question as pending/required, satisfy it, and clear it explicitly so interactive progress is durable instead of inferred from free-form prompt text.
- Advisory triage classifier — non-keyword prompts now get PASS/LIGHT/HEAVY advisory routing backed by persisted triage state and follow-up suppression.
Changed
- Deep-interview now depends on
omx question— each interview round uses the OMX-owned question surface rather than plain-text fallback, making interactive clarification lifecycle and Stop semantics explicit. - Autoresearch is now validator-gated and skill-first — the direct CLI entrypoint is hard-deprecated, users are steered to
$deep-interview --autoresearch/$autoresearch, and completion now requires validator evidence. - Runtime stop/continue semantics are shared — run outcomes are normalized into one contract so persistent loops and state writers agree on terminal versus non-terminal execution states.
- Specialist routing boundaries are clearer —
explore,researcher, anddependency-expertpaths now have narrower role ownership in both prompts and role routing. - Lint release gating is reproducible in dev workspaces —
npm run lintnow targets tracked source roots (src,bin) so nested local runtime/worktree directories with their own Biome roots no longer poison release validation.
Fixed
- Interactive Stop gating — pending deep-interview questions and incomplete autoresearch validation now block Stop consistently until the required interactive/validator work is complete.
- Question renderer integration — tmux strategy selection, answer injection, and question lifecycle transitions are exercised through the owned question runtime path.
- Release metadata drift — Node/Cargo package metadata, lockfiles, changelog, release body, release notes, and release-readiness docs are synchronized to
0.14.0.
Verification
npm run buildnpm run lintnpx tsc --noEmit --pretty false --project tsconfig.jsonnode --test dist/cli/__tests__/question.test.js dist/question/__tests__/deep-interview.test.js dist/question/__tests__/renderer.test.js dist/question/__tests__/ui.test.js dist/cli/__tests__/autoresearch-guided.test.js dist/autoresearch/__tests__/skill-validation.test.js dist/hooks/__tests__/keyword-detector.test.js dist/hooks/__tests__/triage-heuristic.test.js dist/hooks/__tests__/triage-state.test.js dist/runtime/__tests__/run-outcome.test.js dist/runtime/__tests__/run-loop.test.js dist/scripts/__tests__/codex-native-hook.test.js dist/team/__tests__/role-router.test.js dist/cli/__tests__/question-helpers.test.js dist/question/__tests__/policy.test.jsnode --test dist/catalog/__tests__/schema.test.js dist/catalog/__tests__/generator.test.js dist/cli/__tests__/autoresearch.test.js dist/hooks/__tests__/analyze-routing-contract.test.js dist/hooks/__tests__/analyze-skill-contract.test.js dist/hooks/__tests__/notify-fallback-watcher.test.js dist/hooks/__tests__/notify-hook-auto-nudge.test.js dist/hooks/__tests__/notify-hook-cross-worktree.test.js dist/hooks/__tests__/notify-hook-managed-tmux.test.js dist/hooks/__tests__/notify-hook-ralph-resume.test.js dist/hooks/__tests__/notify-hook-tmux-heal.test.js dist/prompts/__tests__/guidance-contract.test.js dist/prompts/__tests__/orchestration-boundary-contract.test.js dist/prompts/__tests__/team-routing-contract.test.jsnode --test dist/cli/__tests__/version-sync-contract.test.jsnode dist/scripts/generate-catalog-docs.js --checknpm run smoke:packed-installnpm pack --dry-run
Remaining risk
- This is a local release-readiness pass, not a full GitHub Actions matrix rerun.
omx questionand advisory triage touch interactive/operator-facing surfaces that are best further observed in real tmux and multi-session environments after release.- The release changes prompt routing, runtime stop semantics, and validator gating together, so post-release monitoring should focus on deep-interview/autoresearch flows and long-running OMX sessions.
Contributors
Thanks to @HaD0Yun, @LEON-gittech, @Oxidane-bot, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.13.2...v0.14.0
- Path traversal in identifier handling — validated identifiers before they reach team/session joins (CVE not explicitly listed)
- Transitive dependency vulnerabilities patched via `npm audit fix`
- Analyze skill revived as a read‑only investigative surface
- OMX‑installed skills now display a prefix in /skills listing
Full changelog
oh-my-codex v0.13.2
Summary
0.13.2 is a patch release after v0.13.1 focused on security hardening, persistent-hook and Stop-handling correctness, Ralph activation and recovery safety, explore reentry guards, worker runtime identity preservation, skill UX refinements, and release-workflow metadata polish. It bundles ~25 merged PRs from community and maintainer fixes across the runtime, hooks, HUD, notifications, and setup surfaces.
Fixed
Security / hardening
- Path traversal in identifier handling — validated identifiers before they reach team/session joins and closed the parent path-traversal surface. (PRs #1658, #1674, issue #1650)
- HUD shell and regex injection — async
execFilereplaces synchronousexecFileSyncin leader git polling, and git helpers now reject shell/regex metacharacters. (PRs #1662, #1652) - Reply acknowledgement secret redaction — notification reply acknowledgements no longer leak quoted or multi-part secrets. (PR #1670)
- Transitive dependency vulnerabilities —
npm audit fixapplied to patch transitive dependency CVEs. (PR #1669)
Stop / persistent hooks
- Native Stop auto-nudge persistence — native Stop auto-nudge runs without being gated by the OMX runtime, while active OMX workflows still block Stop until they truly finish. (PR #1707)
Ralph / runtime authority
- Conversational Ralph mention gating — casual mentions of Ralph in conversation no longer seed workflow state. (PR #1697, issue #1696)
- Ralph continuation recovery — Ralph stays visibly active across continuation recovery. (PR #1681, issue #1677)
- Ralph steer-lock retry cap —
withRalphSteerLockretries are capped against unbounded stale-lock loops. (PR #1663) - Worker runtime identity — worker runtime role identity is preserved through startup and scaling, with a single reviewable verification path. (PR #1676)
Explore / launch safety
- Explore shell-startup re-entry fail-closed —
omx explorefails closed on shell-startup re-entry. (PR #1700, issue #1698) - Explore allowlist wrapper self-resolution —
omx exploreallowlist wrappers no longer recurse into themselves. (PR #1695, issue #1692)
Hooks / notifications / session state
- Forked notify-hook routing — forked notify-hook activity stays attached to the active fork session. (PR #1680, issue #1679)
- Stale watcher PID reuse — notify-fallback-watcher verifies process identity before reaping stale PIDs, with liveness checks and a Windows guard. (PR #1672, issue #1657)
- tmux extended-keys stale lock recovery — tmux extended-keys lease lock recovers from stale holders. (PR #1668, issue #1655)
- MCP duplicate sibling cleanup — post-traffic duplicate MCP siblings self-exit after extended idle. (PR #1666)
- Project-root discovery — OMX resolves the project root by walking to
.omxinstead of a hardcoded depth. (PR #1664) - AGENTS.md preservation on refresh — local
AGENTS.mdcontent is preserved during auto-update refresh. (PR #1673, issue #1671) - Fresh-session context isolation — new sessions are isolated from stale task-scoped startup context. (PR #1634, issue #1624)
HUD / worker startup
- Canonical team phase over stale HUD — HUD prefers canonical team phase over stale startup state. (PR #1646)
- Wiki Unicode slug preservation —
wiki.titleToSlugpreserves Unicode characters. (PR #1645) - Worker shell startup command quoting —
processSpec.commandis properly quoted during worker shell startup. (PR #1644)
Release workflow / docs
- Release contributor metadata range — release contributor metadata stays aligned with the actual release commit range. (PR #1639, issue #1623)
- Doctor readiness clarity — doctor output clarifies when setup is done versus when Codex can really run. (PR #1630, issue #1626)
Added
- Analyze skill revival — the
analyzeskill returns as a read-only, truth-telling investigation surface. (PR #1687) - OMX skill display prefix — OMX-installed skills are marked in
/skillswithout being renamed. (PR #1686) - Shift+Enter tmux triage docs — documented Shift+Enter newline behavior for tmux triage. (PR #1683, issue #1682)
Verification
npm run buildnpm run lintnpx tsc --noEmit
Contributors
Thanks to @HaD0Yun, @pinion05, @shaun0927, and @Yeachan-Heo for contributing to this release.
Full Changelog: v0.13.1...v0.13.2
Fixed detached tmux startup regression where Codex child lost stdin on background launch.
Full changelog
oh-my-codex v0.13.1
Summary
0.13.1 is a focused hotfix release after v0.13.0 that ships the detached tmux stdin-preservation fix for Codex startup. It supersedes the 0.13.0 detached-launch regression where interactive detached starts could immediately exit because the Codex child lost stdin when the leader shell backgrounded it.
Fixed
- Detached tmux startup regression — the detached leader wrapper now preserves stdin for the Codex child during background launch, restoring successful startup for real interactive paths like
omx --madmax --high. (PR #1631, issues #1627, #1628) - Regression coverage — release scope includes focused CLI regression coverage proving the detached leader command keeps stdin open for the Codex child while preserving detached cleanup behavior.
Verification
npm run buildnpx biome lint src/cli/index.ts src/cli/__tests__/index.test.tsnode --test dist/cli/__tests__/index.test.js dist/cli/__tests__/launch-fallback.test.js
Contributors
Thanks to @Arsture for the sharp detached-launch diagnosis and reproduction detail that made the hotfix path obvious.
Full Changelog: v0.13.0...v0.13.1
- `omx adapt` foundation for adapter-owned CLI, reporting, and canonical planning linkage
- OpenClaw adapter adds local config, gateway, hook mapping, and lifecycle bridge observation
- Hermes adapter adds ACP, gateway, session‑store, and bootstrap evidence
Full changelog
oh-my-codex v0.13.0
Adapt foundations, Ralph/session authority hardening, safer launch paths, and quieter hook/HUD workflows
0.13.0 is the v0.12.6..v0.13.0 minor release train. It adds the first omx adapt foundation for persistent external targets, tightens Ralph and native Stop session authority, hardens explore/Windows/detached launch paths, and refreshes setup/release workflow guardrails across 56 first-parent PR merges.
Highlights
omx adaptfoundation — new adapter-owned CLI/reporting surfaces for persistent targets start with OpenClaw and Hermes, linking canonical planning artifacts while keeping writes under.omx/adapters/<target>/...(#1600, #1599, #1598).- Ralph and native Stop authority — prompt-side Ralph activation, PRD CLI startup, tmux Ralph nudges, session assignment, and permission-seeking Stop continuation now respect session ownership more consistently (#1604, #1608, #1591, #1590, #1611).
- Safer platform launch paths — explore/codex resolution skips unusable PATH entries, handles sandboxed POSIX shims, fails closed before Windows paths reach POSIX wrappers, and cleans detached leader children on signal exit (#1562, #1610, #1605).
- Quieter hooks, HUD, and notifications — live-session HUD binding, startup/dispatch regression coverage, Slack mention parsing, macOS stale-polling git-probe reduction, hook metadata routing, and receiving-agent ownership guidance reduce stale/noisy automation (#1573, #1595, #1585, #1619, #1611).
- Release/setup workflow hygiene — wiki setup registration, native-hook doctor coverage, explicit
devPR-base guidance, and dependency refreshes keep operator and release paths aligned (#1571, #1546, #1567, #1575, #1576, #1577, #1578).
What's Changed
Added
omx adaptfoundation for OMX-owned adapter artifacts, probe/status/doctor reports, envelopes, and canonical planning linkage (PR #1600)- OpenClaw adapter observation for local config, gateways, hook mappings, and lifecycle bridge evidence (PR #1599)
- Hermes adapter observation for ACP, gateway, session-store, and bootstrap evidence (PR #1598)
Fixed — Ralph / runtime authority
- Ralph assignment, tmux Ralph nudges, and PRD startup semantics now stay session-scoped and explicit (PRs #1604, #1608, #1591)
- Native Stop resumes permission-seeking handoffs and stays stable across session-id drift (PR #1590, direct commit
4377e1e) - Native hook metadata can no longer hijack real prompt routing (PR #1611)
- Resumed MCP state writers survive duplicate reconcile/self-teardown paths (PR #1596)
Fixed — Launch / platform / worktree safety
- Explore resolves usable node/Codex paths across unusable PATH entries and sandboxed pnpm-style shims (PRs #1562, #1610)
- Windows explore fails closed before POSIX allowlist fallback can run on Windows paths (direct commit
72b1e5d) - Detached leader signal exits terminate child Codex processes (PR #1605)
- Windows cleanup and stale worktree startup paths are more resilient (PRs #1589, #1582)
Fixed — Hooks / HUD / notifications
- HUD stays bound to the live OMX session instead of stale root scope (PR #1573)
- Leader stale polling reduces repeated git probes on macOS so long-running sessions do less redundant repo work (PR #1619)
- Queued startup and dispatch lock behavior is protected by regression coverage (PR #1595)
- Slack mention environment parsing has dedicated coverage (PR #1585)
- Safe reversible runtime work is now receiving-agent-owned in generated guidance (direct commit
76e808e)
Fixed — Setup / release workflows
- Wiki setup registration stays aligned with shipped assets (PR #1571)
- Native-hook doctor coverage surfaces config drift clearly (PR #1546)
- Contributor guidance makes
devthe normal PR base (PR #1567) - Release workflow and TypeScript/Biome dependencies were refreshed (PRs #1575, #1576, #1577, #1578)
Verification
npm run build✅npm run lint✅npm test✅npm run test:recent-bug-regressions✅node --test dist/cli/__tests__/version-sync-contract.test.js✅npm run smoke:packed-install✅
Contributors
- @Yeachan-Heo (Bellman)
- @lifrary
- @gujishh
- @dependabot
Full Changelog: v0.12.6...v0.13.0
- Local markdown wiki storage, query/lint/refresh flows, CLI/MCP parity, and explore integration
- Discord tracked‑session control primitive with safer message‑id reuse handling
- Auto‑close explicitly linked issues after merging into the dev branch
Full changelog
oh-my-codex v0.12.6
Wiki-first knowledge workflows, hook/notification hardening, launch safety improvements, and dev-merge issue auto-close
0.12.6 is the v0.12.5..v0.12.6 patch train across 32 PR merges. It ships OMX wiki as a first-class local knowledge workflow, deepens hook/notification/session-state hardening, improves launch/worktree safety, and adds automation that closes explicitly linked issues after merges into dev.
Highlights
- OMX wiki is now first-class — local markdown wiki storage, query/lint/refresh flows, CLI/MCP parity, and explore integration all land together (#1481).
- Hook and session-state hardening — native hook, notify hook, lifecycle dedupe, reply-listener/session-status, and HUD cleanup paths are more stable and less noisy (#1487, #1491, #1493, #1495, #1496, #1514, #1518, #1520, #1526, #1529, #1539).
- Launch/operator safety — reusable worktree dependency bootstrap, AGENTS preservation during setup, proxy inheritance, dirty-worktree caution handling, and Claude issue approval-flow smoothing all improve day-to-day operator reliability (#1507, #1521, #1522, #1532, #1536).
- Discord + dev-merge workflow automation — tracked Discord sessions get safer control primitives, and merged
devPRs can auto-close explicitly linked issues (#1528, #1540).
What's Changed
Added
- OMX wiki workflow, storage engine, CLI/MCP parity, and wiki-aware explore behavior (PR #1481)
- Discord tracked-session control primitive and safer message-id reuse handling (PR #1530)
- Auto-close workflow for explicitly linked issues after
devmerges (PR #1541)
Fixed — Hooks / notifications / session state
- Needs-input watcher parity for array-backed assistant prompts (PR #1487)
- Local worker runtime startup / dispatch stability (PRs #1491, #1493)
- Managed-session hook cwd alias and ownership stability (PR #1495)
- Ralph steer / release-readiness follow-up scoping (PRs #1496, #1514)
- Lifecycle/keyword alert noise reduction and post-stop replay suppression (PRs #1518, #1520, #1526, #1529)
- Dead-session HUD residue cleanup before follow-up tooling reads it (PR #1539)
Fixed — Launch / setup / operator safety
- Reusable worktree dependency bootstrap (PR #1510)
- Defensive handling for malformed native-hook stdin JSON (PR #1504)
- Preserve user-authored AGENTS guidance during setup (PR #1524)
- Preserve tmux worker proxy environment inheritance (PR #1523)
- Dirty worktree caution flow with hard-failure preservation outside launch reuse (PR #1535)
- Claude issue sessions continue through obvious repo reads without unnecessary approval stalls (PR #1537)
Fixed — MCP / docs / workflow surfaces
- Superseded MCP stdio sibling cleanup under live Codex app-server parents (PR #1517)
- Canonical mixed OMX + Codex skill-root documentation plus wiki docs refresh (PR #1534)
Verification
npm run build✅npm run lint✅npm test✅npm run test:recent-bug-regressions✅node --test dist/cli/__tests__/version-sync-contract.test.js✅npm run smoke:packed-install✅
Contributors
- @Yeachan-Heo (Bellman)
- @HaD0Yun
Full Changelog: v0.12.5...v0.12.6
- Current-task baseline branch guardrails for team workers (PR #1419)
- Approved multi‑workflow overlap support in canonical state (PR #1427)
- Windows `ps` fallback for notify hooks (PR #1457)
Full changelog
oh-my-codex v0.12.5
Team-runtime and multi-workflow state hardening, Windows reliability, tmux/shell stability, and HUD session anchoring
0.12.5 is a broad stability patch across 25 PRs and 74 files changed. It resolves a cluster of inter-related session-scoping, team startup/shutdown, Windows worker-path, and tmux cwd bugs that accumulated since 0.12.4, adds current-task baseline branch guardrails for team workers, and tightens multi-workflow state management.
Highlights
- Multi-skill planning state preserved —
ralplan/ralphstate no longer drops when a mixed-workflow prompt is re-routed mid-flight (#1471). - Team startup recovery — workers that stall early during boot no longer hang the entire team launch sequence (#1444).
- Windows reliability — split-pane shutdown targeting, psmux launcher resolution, MCP orphan cleanup, and retired-config repair are all fixed (#1470, #1469, #1437, #1436).
- tmux/shell cwd correctness — detached tmux panes, worker shell launches, and Homebrew zsh paths now all honour the requested working directory (#1468, #1460, #1462).
- HUD and session anchoring — HUD state is now strictly scoped to the active OMX session; native session-id drift no longer hides transport failures (#1453, #1458).
- Ralph stop-hook session isolation — stop-hook leakage across sessions is eliminated (#1466).
- Current-task baseline guardrails — new per-task baseline branch tracking keeps team workers anchored to their correct starting commit (#1419).
What's Changed
Added
- Current-task baseline branch guardrails for team workers (PR #1419)
- Approved multi-workflow overlap support in canonical state (PR #1427)
- Windows
psfallback for notify hooks (PR #1457)
Fixed — Team startup / shutdown
- Stalled-worker startup no longer hangs team boot (PR #1444)
- Cross-session stale root team Stop blocking eliminated (PR #1451)
- Linux tmux startup handoff and shutdown-state persistence (PR #1438)
session.jsonownership and fallback semantics tightened (PR #1447)
Fixed — Multi-skill / workflow state
- Planning state preserved in mixed workflow prompt routing (PR #1471)
- Workflow handoff correctness and state-model documentation (PR #1442)
- Flaky hook and HUD state scope alignment (PR #1446)
Fixed — Windows
- Split-pane shutdown stale leader-pane targeting (PR #1470)
- Native psmux worker startup launcher resolution (PR #1469)
- MCP orphan cleanup on parent shutdown (PR #1437)
- Retired team MCP config repair on upgrade (PR #1436)
Fixed — tmux / macOS / shell
- Detached tmux launch cwd loss (PR #1468)
- Worker cwd preserved on supported shell launches (PR #1460)
- Homebrew zsh tmux pane shell normalization on macOS (PR #1462)
- tmux startup PID resolution and copy-mode cleanup hardening (PR #1459)
Fixed — HUD / session anchoring
- HUD state anchored to active OMX session scope (PR #1453)
- Native session-id drift no longer hides team transport failures (PR #1458)
Fixed — deep-interview
- Stop auto-continuation no longer fires during the deep-interview intent-first questioning phase; that phase is now treated as planning for stall detection (PR #1473, issue #1472)
Fixed — Explore harness
omx explorenow emits a clear actionable error when cargo is a rustup shim with no default toolchain, instead of surfacing the raw rustup message (src/cli/explore.ts)
Fixed — Hooks / auth / notify
- Ralph stop-hook leakage across sessions eliminated (PR #1466)
- Auto-nudge authorization leaks for read-only/planning flows (PR #1434)
- Notify hooks stay tracking live teams through coarse state drift (PR #1428)
- Launcher-backed MCP restart stalls now bounded (PR #1408)
Docs
- Removed stale
prompts/invocation guidance (PR #1417)
Verification
npm run build✅npm run lint✅npm test✅node --test dist/cli/__tests__/version-sync-contract.test.js✅npm run smoke:packed-install✅
Contributors
- @Yeachan-Heo (Bellman)
- @HaD0Yun
Full Changelog: v0.12.4...v0.12.5
- MCP-CLI parity: `omx state`, `omx notepad`, `omx project-memory`, `omx trace`, and `omx code-intel` expose MCP server tools through the CLI without transport overhead.
- HUD reconciliation module with shared tmux helpers keeps HUD panes alive across session boundaries.
- State operations module (`src/state/operations.ts`) providing read/write/clear/list/status API for both MCP and CLI.
Full changelog
oh-my-codex v0.12.4
MCP-CLI parity, HUD recovery hardening, native-hook and team-runtime stability fixes
0.12.4 is the largest patch in the 0.12.x train — 56 files changed across 18 non-merge commits. It introduces a full MCP-CLI parity surface, hardens HUD recovery and reconciliation, resolves a family of native-hook and team-runtime stability bugs, and extracts state operations into a clean shared module.
Highlights
- MCP-CLI parity —
omx state,omx notepad,omx project-memory,omx trace, andomx code-intelexpose MCP server tools through the CLI without transport overhead. - HUD self-healing — new reconciliation module and shared tmux helpers keep HUD panes alive across session boundaries.
- Native-hook hardening — stale Ralph state, unknown
$tokens, stale stop-hook blockers, and MCP transport death are all resolved. - State operations module — clean read/write/clear/list/status API backing both MCP and CLI.
What's Changed
Added
- MCP-CLI parity surface:
omx state,omx notepad,omx project-memory,omx trace,omx code-intel - HUD reconciliation module and shared tmux helpers
- State operations module (
src/state/operations.ts) - Path traversal safety utilities
Fixes
- HUD recovery via OMX CLI entry during prompt-submit recovery (PRs #1413, #1414)
- User-owned Codex hooks preserved during setup refresh
- HUD prompt-submit layout churn stopped
- Duplicate native-hook continuations from stale Ralph state and unknown
$tokens - Stale team worktree cleanup at
startTeam()time (#1354, PR #1382) - Stale stop-hook deep-interview suppression after skill-state canonicalization
- Native Stop trusting stale blocker skill state
- MCP transport death stalling team recovery
- Clean team shutdown without weakening dirty-worktree safety
- Detached session trap narrowed to EXIT only
- CI hang prevention and reduced teardown dead-time (PR #1405)
Changed
- State CLI routed consistently through
omx state - Tmux session name truncation preserves session token
- Release metadata synced to
0.12.4
Verification
npm run build✅npx biome lint src/✅ (435 files)npm test— 3068/3070 passing (2 pre-existing dispatch-receipt contract failures from commit3a193cfbon main, not regressions)
Remaining risk
- Local verification only — not a full CI matrix rerun.
- HUD reconciliation and MCP-CLI parity are new surfaces; monitor for edge cases in tmux-less environments.
- 2 pre-existing contract test failures around failed dispatch receipt persistence remain unresolved (tracked as follow-up).
Contributors
- @Yeachan-Heo (Bellman)
- @HaD0Yun
- @dyl-joseph
Full Changelog: v0.12.3...v0.12.4
- Release metadata and collateral updated to version 0.12.3 across Node/Cargo manifests, changelog, and release files
- $team keyword routing now seeds root team-state.json and guides operators to use `omx team ...` / `omx team --help`
- `startTeam` rejects duplicate active same-name team launches with a `team_name_conflict` error before mutating state or provisioning worktrees
Full changelog
oh-my-codex v0.12.3
Follow-up patch release for $team prompt-routing correctness and duplicate team launch teardown
0.12.3 is a tight follow-up to 0.12.2 that ships PR #1364, which was intended to land in 0.12.2 but finished its conflict resolution after the 0.12.2 cut. This release closes that gap so operators get the corrected $team keyword routing and the duplicate same-name team launch guard.
Highlights
$teamdetected inUserPromptSubmitnow seeds rootteam-state.jsonand nudges operators towardomx team .../omx team --helpinstead of silently misrouting the prompt.startTeamnow rejects duplicate active same-name team launches with ateam_name_conflicterror before mutating team state or provisioning worktrees.- Release metadata and collateral are aligned to
0.12.3.
What’s Changed
Fixes
- seed root
team-state.jsonwhen$teamis detected inUserPromptSubmitand route operators towardomx team .../omx team --help(PR #1364) - reject duplicate active same-name team launches before state mutation or worktree provisioning, preserving the existing team config and tasks (PR #1364)
Changed
- bump release metadata from
0.12.2to0.12.3across Node/Cargo manifests, changelog, and release collateral
Verification
npm run buildnpm run lintnpm testnpm run smoke:packed-install
Remaining risk
- This verification is still local; it is not a full GitHub Actions matrix rerun.
- PR #1364 touches live
$teamkeyword handling andstartTeamstate seeding; post-release monitoring should watch for any regressions in prompt-driven team launch paths.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.12.2...v0.12.3
Native Windows team worker panes now boot cleanly through PowerShell instead of POSIX /bin/sh -lc.
Full changelog
oh-my-codex v0.12.2
Patch release for Windows team worker boot/shutdown safety, postLaunch mode-state shutdown-race recovery, canonical HUD skill-state visibility, and team state preservation on monitor-driven exits
0.12.2 follows 0.12.1 with the full v0.12.1..v0.12.2 patch train: native Windows + psmux team workers now boot and shut down cleanly, postLaunch mode-state cleanup recovers transient shutdown-race JSON without crashing, HUD workflow badges stop outliving their session, and team state is preserved until operators explicitly request shutdown.
Highlights
- Native Windows + psmux split-pane shutdown no longer kills the leader pane during
omx team shutdown --force. - Native Windows team worker panes boot through an explicit PowerShell path instead of POSIX
/bin/sh -lc, so workers actually report ready. postLaunchmode-state cleanup now survives transient shutdown races by recovering empty or truncated JSON into a minimal inactive record.- HUD workflow badges follow canonical session-scoped skill-active state so stale root-only mode state no longer surfaces as a ghost workflow.
- Monitor-detected terminal and failure conditions in the runtime CLI stay report-only; team state is preserved until an explicit shutdown is issued.
- Release metadata and collateral are aligned to
0.12.2.
What’s Changed
Fixes
- preserve the leader pane on native Windows + psmux split-pane shutdown by skipping process-tree prekill when leader/client ancestry overlaps (PR #1358)
- make
postLaunchmode-state cleanup recover transient shutdown-race JSON while still warning on structurally complete malformed state (PR #1360) - boot native Windows team worker panes through an encoded PowerShell command with env + PATH bootstrap instead of POSIX
/bin/sh -lc(PR #1362) - canonicalize HUD workflow visibility through session-scoped skill-active state and suppress stale root-only mode badges across HUD, overlay, keyword activation, and MCP state (PR #1367)
- preserve team state until explicit shutdown by keeping monitor-driven runtime-cli exits on the report-only path (PR #1369)
Changed
- bump release metadata from
0.12.1to0.12.2across Node/Cargo manifests, changelog, and release collateral
Verification
npm run buildnpm run lintnpm testnpm run smoke:packed-install
Remaining risk
- This verification is still local; it is not a full GitHub Actions matrix rerun.
- The Windows-specific fixes (#1358, #1362) ship without a live native Windows 11 + psmux smoke run, so post-release monitoring should watch team-worker boot and split-pane shutdown telemetry on Windows.
- The HUD canonicalization change (#1367) touches HUD, overlay, keyword-detector, MCP state, and skill-active paths at once; post-release monitoring should watch for any drift in single-skill readers or multi-workflow badge visibility.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.12.1...v0.12.2
- Default leader launches now occur directly outside tmux unless `--tmux` is explicitly requested.
Full changelog
oh-my-codex v0.12.1
Patch release for team/runtime hygiene, launch/cleanup follow-through, notify-fallback hardening, and release collateral alignment
0.12.1 follows 0.12.0 with the full v0.12.0..v0.12.1 patch train: clean machine-readable team status output, correct interactive worker PID metadata, launch-safe MCP cleanup, direct-leader launch follow-through, notify-fallback log hardening, tighter operator guidance, and synchronized 0.12.1 release collateral.
Highlights
omx team status --jsonno longer risks stray mailbox-delivery stderr noise during stale leader-mail pruning.- Interactive team workers now record the PID of their actual tmux pane, not a pane-index approximation.
- Orphaned OMX MCP cleanup now protects the live launcher tree, and notify-fallback once-mode logs no longer grow without bound.
- OMX now defaults to direct leader launch outside tmux unless detached tmux is explicitly requested.
- Release metadata and collateral are aligned to
0.12.1.
What’s Changed
Fixes
- avoid duplicate bridge
MarkMailboxDeliveredcalls for already-delivered leader system mail - persist interactive worker PID metadata from the resolved pane id
- preserve live launcher ancestry while reaping orphaned OMX MCP processes
- rotate notify-fallback once-mode logs under the configured size cap
Changed
- default leader launches to direct mode outside tmux unless
--tmuxexplicitly requests detached startup - tighten the information-architect prompt
- bump release metadata from
0.12.0to0.12.1across Node/Cargo manifests, changelog, and release collateral
Verification
npm run buildnpx biome lint src/cli/index.ts src/cli/cleanup.ts src/cli/__tests__/index.test.ts src/cli/__tests__/cleanup.test.ts src/scripts/notify-fallback-watcher.ts src/hooks/__tests__/notify-fallback-watcher.test.ts src/team/runtime.ts src/team/state/mailbox.ts src/team/__tests__/runtime.test.ts src/team/__tests__/state.test.ts package.jsonnode --test dist/cli/__tests__/cleanup.test.js dist/cli/__tests__/index.test.js dist/cli/__tests__/version-sync-contract.test.jsnode --test dist/hooks/__tests__/notify-fallback-watcher.test.jsnode --test dist/team/__tests__/state.test.js dist/team/__tests__/runtime.test.jsnpm run smoke:packed-install
Remaining risk
- This verification is still local; it is not a full GitHub Actions matrix rerun.
- The release still touches live team/runtime and notification surfaces, so post-release monitoring should watch team status output, interactive worker lifecycle telemetry, and notify-fallback behavior.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.12.0...v0.12.1
- First‑party Bash PreToolUse / PostToolUse guidance supported and documented
- Reorganized translated README/docs under docs/readme/ with added Ukrainian coverage
Full changelog
oh-my-codex v0.12.0
Minor release for native Codex hook ownership, first-party Bash pre/post guidance, runtime/team delivery hardening, and workflow-doc refresh
0.12.0 follows 0.11.13 with a broad minor-release train from v0.11.13..v0.12.0: it promotes native Codex hook ownership into the repo/runtime contract, ships first-party Bash PreToolUse / PostToolUse guidance, hardens team/runtime delivery and operator steering, and refreshes workflow/docs collateral for the modern OMX path.
Highlights
- Native Codex hook ownership now lives in the repo/runtime contract for non-team OMX sessions.
- First-party Bash
PreToolUse/PostToolUseguidance is now supported and documented. - Team runtime delivery, mailbox handling, pane-status visibility, and next-action steering are more robust.
- Windows/tmux launch reliability and worker supervision are improved.
- Prompt/AGENTS guidance now emphasizes quality-first, verification-heavy execution.
- Translated README/docs collateral is reorganized under
docs/readme/, with added Ukrainian coverage and refreshed workflow docs. - Release metadata and collateral are aligned to
0.12.0.
What’s Changed
Fixes
- harden repo-local native hook ownership, session-start continuity, and stop-state persistence
- strengthen team/runtime delivery, mailbox, persist-error, and next-action steering behavior
- preserve Windows/tmux launch reliability, shift-enter handling, and launcher command resolution
- keep notification/reminder/session continuity paths more reliable during live operator workflows
Changed
- add first-party Bash
PreToolUse/PostToolUseguidance for the native hook lane - refresh prompt/AGENTS defaults toward quality-first, evidence-backed execution
- reorganize translated README/docs collateral under
docs/readme/and extend Ukrainian docs coverage - bump release metadata from
0.11.13to0.12.0across Node/Cargo workspace manifests, lockfiles, and release collateral
Verification
npm cinode dist/cli/omx.js versionnode --test dist/cli/__tests__/version-sync-contract.test.jscargo test -p omx-runtime-corenpm run buildnpm run lintnpm testnpm run smoke:packed-installgit diff --check origin/main...HEAD
Remaining risk
- This release verification is still a local release gate, not a full GitHub Actions matrix rerun.
- The release train is intentionally broad, so post-release monitoring should keep an eye on native hook setup/uninstall behavior, stop-state continuity, team delivery/runtime behavior, and follow-up docs/readme refresh work.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.11.13...v0.12.0
Restores corrupted test file and fixes leader mailbox delivery reliability across runtimes.
Full changelog
oh-my-codex v0.11.13
Patch release for team/runtime delivery integrity, busy-leader nudge handling, release-hygiene repairs, and Windows/worktree reliability follow-through
0.11.13 follows 0.11.12 with a focused patch train from v0.11.12..dev: it restores a corrupted test file on the release branch, tightens team/runtime delivery behavior around leader nudges and mailbox handoff, and keeps Windows/worktree supervision stable while syncing release metadata for the new patch cut.
Highlights
- Team leader delivery is more reliable across runtime/CLI seams, including busy Codex leader panes that should queue nudges instead of dropping them.
- False team-coordination signals during runtime handoff are suppressed, reducing noisy or misleading orchestration state.
- Windows/worktree HUD and leader activity polling paths stay stable in detached/worktree scenarios.
- Release metadata and collateral are aligned to
0.11.13, and the accidental placeholder corruption insrc/hooks/__tests__/notify-fallback-watcher.test.tsis repaired before ship.
What’s Changed
Fixes
- harden leader mailbox delivery across runtime + CLI seams and keep busy leader nudges deliverable
- suppress false team coordination signals during runtime handoff
- preserve Windows worktree/HUD/leader polling reliability across detached launches
- honor deep-interview input locks in fallback nudges, clean up legacy-skill uninstall warnings, and reap detached worker descendants more safely on shutdown
Changed
- bump release metadata from
0.11.12to0.11.13across Node and Cargo workspace manifests/lockfiles - refresh
CHANGELOG.md,docs/release-notes-0.11.13.md, andRELEASE_BODY.mdfor the release cut - restore the malformed
notify-fallback-watcherregression test file so the release branch builds cleanly again
Verification
cargo test -p omx-runtime-corenpm run buildnpm run lintnode --test dist/hooks/__tests__/notify-fallback-watcher.test.jsnode --test dist/cli/__tests__/version-sync-contract.test.jsnpm testnpm run smoke:packed-installgit diff --check origin/main...HEAD
Remaining risk
- This release verification is still a local release gate, not a full GitHub Actions matrix rerun.
- The patch train remains relatively broad for a patch cut, so future follow-up should keep an eye on the team/runtime and notify-hook surfaces touched since
0.11.12.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.11.12...v0.11.13
- Cross-platform Node test-file runner for release/test portability
- Broader Windows terminal flicker prevention via windowsHide and filesystem git-info reads
Full changelog
oh-my-codex v0.11.12
Patch release for Windows flicker fixes, team/runtime seam hardening, cross-platform Node test execution, and workflow docs alignment
0.11.12 follows 0.11.11 with a focused patch train from v0.11.11..dev: it removes more Windows conhost flicker paths, closes additional team/runtime seam gaps, makes Node test execution portable across platforms, and standardizes docs around the current deep-interview → ralplan → team/ralph workflow.
Highlights
- Windows users get broader flicker prevention from
windowsHidecoverage and filesystem-based git-info reads. - Team/runtime state handling closes more thin-adapter seam gaps while keeping tmux auto-nudge behavior scoped to OMX-managed sessions.
- Node test execution is now cross-platform, reducing shell-environment assumptions in release verification.
- Workflow docs now consistently point to the current OMX planning/execution path.
What’s Changed
Fixes
- remove more Windows terminal flicker paths across child-process launches and git-info reads
- harden team/runtime seam handling across manifest.v2 cwd resolution plus dispatch/mailbox state transitions
- keep tmux readiness + auto-nudge behavior restricted to OMX-managed sessions
Changed
- add a cross-platform Node test-file runner for release/test portability
- standardize workflow docs around deep-interview → ralplan → team/ralph
- bump release metadata from
0.11.11to0.11.12across the Node and Cargo workspace packages and lockfiles - refresh
CHANGELOG.md,docs/release-notes-0.11.12.md, andRELEASE_BODY.mdfor the release cut
Verification
cargo check --workspacenpm run buildnpm run lintnode --test dist/cli/__tests__/version-sync-contract.test.js- release-workflow inline version-sync check from
.github/workflows/release.yml npm run test:node:cross-platformnpm run smoke:packed-install
Remaining risk
- This release is still a targeted patch verification pass, not a full GitHub Actions matrix rerun.
- Future workflow doc edits should preserve the deep-interview → ralplan → team/ralph path as the default onboarding story.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.11.11...v0.11.12
- Single‑quoted `$ralph` launch hint regression coverage added
- Single‑quoted `$team` launch hint regression coverage added
Full changelog
oh-my-codex v0.11.10
Patch release for approved handoff alias parsing hardening and clean release metadata sync
0.11.10 follows 0.11.9 with a deliberately narrow release: it locks approved execution handoff parsing against quoting regressions for both Ralph and Team alias forms, then cuts a clean metadata-aligned patch release.
Highlights
- Approved
$ralphlaunch hints are now protected by single-quoted regression coverage. - Approved
$teamlaunch hints are now protected by single-quoted regression coverage. - Node and Cargo release metadata are synchronized to
0.11.10for a clean release cut.
What’s Changed
Fixes
- add regression coverage for single-quoted approved
$ralphlaunch hints in planning artifact parsing - add regression coverage for single-quoted approved
$teamlaunch hints in planning artifact parsing
Changed
- bump release metadata from
0.11.9to0.11.10across the Node and Cargo packages - refresh
CHANGELOG.md,docs/release-notes-0.11.10.md, andRELEASE_BODY.mdfor the release cut
Verification
npx biome lint src/planning/__tests__/artifacts.test.tsnpm run build && node --test dist/planning/__tests__/artifacts.test.jsnpm run test:sparkshellnpm run test:team:cross-rebase-smokenpm run smoke:packed-installnpm test
Remaining risk
- This release is intentionally narrow and centered on regression coverage plus metadata synchronization.
- Future approved handoff grammar changes should keep alias-form coverage aligned across both Ralph and Team paths.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.11.9...v0.11.10
Added regression coverage for single‑quoted `$ralph` and `$team` launch hints in planning artifact parsing.
Full changelog
oh-my-codex v0.11.10
Patch release for approved handoff alias parsing hardening and clean release metadata sync
0.11.10 follows 0.11.9 with a deliberately narrow release: it locks approved execution handoff parsing against quoting regressions for both Ralph and Team alias forms, then cuts a clean metadata-aligned patch release.
Highlights
- Approved
$ralphlaunch hints are now protected by single-quoted regression coverage. - Approved
$teamlaunch hints are now protected by single-quoted regression coverage. - Node and Cargo release metadata are synchronized to
0.11.10for a clean release cut.
What’s Changed
Fixes
- add regression coverage for single-quoted approved
$ralphlaunch hints in planning artifact parsing - add regression coverage for single-quoted approved
$teamlaunch hints in planning artifact parsing
Changed
- bump release metadata from
0.11.9to0.11.10across the Node and Cargo packages - refresh
CHANGELOG.md,docs/release-notes-0.11.10.md, andRELEASE_BODY.mdfor the release cut
Verification
npx biome lint src/planning/__tests__/artifacts.test.tsnpm run build && node --test dist/planning/__tests__/artifacts.test.jsnpm run test:sparkshellnpm run test:team:cross-rebase-smokenpm run smoke:packed-installnpm test
Remaining risk
- This release is intentionally narrow and centered on regression coverage plus metadata synchronization.
- Future approved handoff grammar changes should keep alias-form coverage aligned across both Ralph and Team paths.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.11.9...v0.11.10
- Expose observable runtime state for live ralplan consensus planning
- Suppress fallback tmux‑pane nudges when deep‑interview lock is active
Full changelog
oh-my-codex v0.11.9
Patch release for deeper deep-interview / ralplan coordination, setup repair, and safer live team supervision
0.11.9 follows 0.11.8 with a focused patch train that hardens deep-interview behavior, makes live ralplan progress observable, and cleans up setup / HUD / routing polish around active maintainer workflows.
Highlights
- Deep-interview lock state now suppresses tmux-pane nudges, and the planning handoff keeps stronger deep-interview pressure before execution.
- Live ralplan consensus planning now exposes observable runtime state for downstream HUD / pipeline visibility.
- Setup no longer rebreaks Codex-managed TUI configs, active stateful modes stay visible in the HUD, and live worker supervision remains alive while workers are still active.
What’s Changed
Fixes
- suppress fallback tmux-pane nudges while deep-interview lock state is active
- strengthen deep-interview pressure before planning handoff
- keep setup compatible with Codex-managed TUI configs and align default explore-routing guidance with setup adoption
- restore HUD visibility for active stateful modes
- keep fallback orchestration alive while live team workers still need supervision
- auto-accept the Claude bypass prompt in team flows when required
Changed
- expose observable ralplan runtime state during live consensus planning
- refresh the analyze skill around OmC trace methodology and execution-policy contract wording
- bump release metadata from
0.11.8to0.11.9across the Node and Cargo packages - refresh maintenance baselines with
[email protected],@types/[email protected], and the README Star History chart
Verification
npm run buildnpm run lintnpm run check:no-unusednode --test --test-reporter=spec dist/cli/__tests__/version-sync-contract.test.jsnode --test --test-reporter=spec dist/cli/__tests__/setup-refresh.test.js dist/cli/__tests__/setup-scope.test.js dist/cli/__tests__/doctor-warning-copy.test.jsnode --test --test-reporter=spec dist/hooks/__tests__/explore-routing.test.js dist/hooks/__tests__/explore-sparkshell-guidance-contract.test.js dist/hooks/__tests__/deep-interview-contract.test.js dist/hooks/__tests__/notify-fallback-watcher.test.js dist/hooks/__tests__/notify-hook-auto-nudge.test.js dist/hooks/__tests__/agents-overlay.test.jsnode --test --test-reporter=spec dist/hud/__tests__/index.test.js dist/hud/__tests__/render.test.js dist/hud/__tests__/state.test.jsnode --test --test-reporter=spec dist/pipeline/__tests__/stages.test.js dist/ralplan/__tests__/runtime.test.js
Remaining risk
- Verification is intentionally targeted to the release-window behavior touched after
v0.11.8; it is not a rerun of the full repository test matrix. - The deep-interview nudge suppression contract still depends on future nudge entrypoints preserving the same lock-state check.
- Live ralplan observability now feeds more surfaces, so future HUD / pipeline readers should preserve the same runtime field names.
Contributors
- @Yeachan-Heo (Bellman)
- @HaD0Yun
- @ToaruPen
Full Changelog: v0.11.8...v0.11.9
- Release metadata synchronized across TypeScript and Rust packages at version 0.11.8
Full changelog
oh-my-codex v0.11.8
Hotfix release for deep-interview nudge suppression and fresh-leader nudge dedupe hardening
0.11.8 follows 0.11.7 with a narrow fix set focused on keeping deep-interview sessions interruption-free and preventing duplicate fresh leader nudges.
Highlights
- Deep-interview state now suppresses all notify-hook and fallback-watcher nudge families.
- Fallback watcher leader nudges remain stale-only, avoiding duplicate fresh-message nudges.
- Node and Cargo package metadata are synchronized at
0.11.8.
What’s Changed
Fixes
- suppress leader nudges, worker-idle nudges, Ralph continue-steers, and auto-nudges whenever deep-interview state is active
- keep fallback watcher leader nudges gated on actual leader staleness
- add regression coverage proving the same fresh mailbox message does not re-trigger notify-hook leader nudges
Changed
- release metadata updated from
0.11.7to0.11.8across the TypeScript and Rust packages
Verification
npm run buildnode --test --test-reporter=spec dist/hooks/__tests__/notify-hook-auto-nudge.test.jsnode --test --test-reporter=spec dist/hooks/__tests__/notify-hook-team-leader-nudge.test.jsnode --test --test-reporter=spec dist/hooks/__tests__/notify-fallback-watcher.test.js
Remaining risk
- This hotfix intentionally gates nudge entrypoints at the notify-hook and fallback-watcher callers; any future nudge caller should preserve the same deep-interview suppression contract.
- Verification is targeted to the nudge paths touched by this change rather than the entire repository test suite.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.11.7...v0.11.8
- Default generated status lines now include `weekly-limit`
- Exact `gpt-5.4-mini` worker/subagent launches get a narrower prompt seam
- Child-agent guidance prefers inheriting the current frontier default
Full changelog
oh-my-codex v0.11.7
15 dev-side commits in the release window, grouped into 3 reviewed lanes
0.11.7 is a focused patch release after 0.11.6, centered on degraded-state auto-nudge recovery, team control-plane correctness, and release metadata consistency.
Highlights
Lane 1 — watcher / dispatch recovery
- Team dispatch resolves the shared runtime binary instead of a stale hook-local path
- Fallback watchers debounce Ralph continue-steers across processes
- Auto-nudge upgrades stale pane anchors to the live sibling Codex pane when possible
- Successful tmux fallback delivery now recovers requests back to
notified - Leader nudges no longer resurface completed teams or foreign-session activity
Lane 2 — linked Ralph + team lifecycle hardening
- Linked Ralph stays alive for the full linked team run
- Prompt-mode launches skip the Ralph bridge correctly
- Leader mailbox sends are deduplicated across retry / notified paths
- Missing-team cleanup now finalizes linked Ralph cleanly
Lane 3 — config / prompt / metadata consistency
- Default generated status lines now include
weekly-limit - Exact
gpt-5.4-miniworker/subagent launches get a narrower prompt seam - Child-agent guidance now prefers inheriting the current frontier default
- Node + Cargo release metadata are synchronized at
0.11.7
What’s Changed
Fixes
- watcher / dispatch recovery:
#1002,#1004,#1020,#1021 - leader nudge accuracy + mailbox-only control:
#1001,#1023 - linked Ralph + team lifecycle follow-ups:
#1011,#1012,#1013,#1017,#1025
Changed
- generated defaults and prompt/model guidance:
#1009,#1016,#1018 - release metadata consistency follow-up:
c4c5b75(merged by#1024)
Main vs dev sanity check
git rev-list --left-right --count main...dev=3 18- the
main-only side is merge-only ancestry (#995,#997,#1000) - no main-only patch content remained after cherry-pick elimination, so no separate main-only product changes need release-note coverage
Verification
npm run buildnode --test dist/hooks/__tests__/notify-fallback-watcher.test.js dist/hooks/__tests__/notify-hook-auto-nudge.test.js→49/49passing- live tmux smoke: degraded-state fallback auto-nudge sent
yes, proceed [OMX_TMUX_INJECT] - live tmux smoke: back-to-back Ralph watcher runs stayed in
startup_cooldownwithout repeat continue spam
Remaining risk
- The live smoke used isolated disposable tmux sessions with a long-lived fake
codexprocess, not a full interactive Codex conversation loop. - The highest residual risk remains subtle control-plane state transitions under real interactive tmux sessions.
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.11.6...v0.11.7
Fixed pane detection regression where hook nudges no longer land in the HUD pane.
Full changelog
oh-my-codex v0.11.1
5 PRs in the release window
0.11.1 is a focused patch release following 0.11.0. This release contains CI cleanup and a single regression fix for pane detection.
Highlights
Pane Detection Fix
- Auto-nudge fixtures aligned with canonical pane routing
- Hook nudges no longer land in the HUD pane
CI Cleanup
- Tests isolated from live maintainer tmux/session state
- Packed installs no longer require ripgrep
- Release smoke tests focused on boot-safe packed installs
What's Changed
Fixes
- fix: keep full-suite auto-nudge fixtures aligned with canonical pane routing (#981)
- fix(test): isolate tmux/session discovery from live maintainer state (#979, closes #963)
- test(explore): avoid requiring host rg in strict allowlist test (#978, closes #964)
- fix(explore): keep packed installs alive without rg (#978)
- fix: keep release smoke focused on boot-safe packed installs (#983, closes #982)
Referenced issues
Contributors
- @Yeachan-Heo (Bellman)
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.11.1npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.11.0...v0.11.1
Fixed false-positive stale leader nudges by considering recent leader activity.
Full changelog
Hotfix release for stale leader nudge false-positives and README onboarding clarity.
Fixed
- False-positive leader stale nudges — leader activity freshness check now considers any recent leader activity, preventing spurious stale nudges when the leader is actively working. (#993)
Changed
- README onboarding refocused — README now centers onboarding around the real default OMX path for clearer first-run guidance. (#992)
Fixed pane detection regression where hook nudges no longer appear in the HUD pane.
Full changelog
oh-my-codex v0.11.1
5 PRs in the release window
0.11.1 is a focused patch release following 0.11.0. This release contains CI cleanup and a single regression fix for pane detection.
Highlights
Pane Detection Fix
- Auto-nudge fixtures aligned with canonical pane routing
- Hook nudges no longer land in the HUD pane
CI Cleanup
- Tests isolated from live maintainer tmux/session state
- Packed installs no longer require ripgrep
- Release smoke tests focused on boot-safe packed installs
What's Changed
Fixes
- fix: keep full-suite auto-nudge fixtures aligned with canonical pane routing (#981)
- fix(test): isolate tmux/session discovery from live maintainer state (#979, closes #963)
- test(explore): avoid requiring host rg in strict allowlist test (#978, closes #964)
- fix(explore): keep packed installs alive without rg (#978)
- fix: keep release smoke focused on boot-safe packed installs (#983, closes #982)
Referenced issues
Contributors
- @Yeachan-Heo (Bellman)
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.11.1npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.11.0...v0.11.1
- Packed installs no longer require the `ripgrep` binary.
Full changelog
oh-my-codex v0.11.1
5 PRs in the release window
0.11.1 is a focused patch release following 0.11.0. This release contains CI cleanup and a single regression fix for pane detection.
Highlights
Pane Detection Fix
- Auto-nudge fixtures aligned with canonical pane routing
- Hook nudges no longer land in the HUD pane
CI Cleanup
- Tests isolated from live maintainer tmux/session state
- Packed installs no longer require ripgrep
- Release smoke tests focused on boot-safe packed installs
What's Changed
Fixes
- fix: keep full-suite auto-nudge fixtures aligned with canonical pane routing (#981)
- fix(test): isolate tmux/session discovery from live maintainer state (#979, closes #963)
- test(explore): avoid requiring host rg in strict allowlist test (#978, closes #964)
- fix(explore): keep packed installs alive without rg (#978)
- fix: keep release smoke focused on boot-safe packed installs (#983, closes #982)
Referenced issues
Contributors
- @Yeachan-Heo (Bellman)
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.11.1npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.11.0...v0.11.1
- `deep-interview` support added to OMX state APIs (`state_read`, `state_write`, `state_clear`, `state_get_status`)
- Enhanced OMX SDK architecture
Full changelog
oh-my-codex v0.11.2
7 PRs in the release window
0.11.2 is a hotfix release that stabilizes tmux/state behavior, fixes a CI-only publish-blocking race in the TypeScript full coverage lane, and adds first-class deep-interview support to the OMX state APIs.
Highlights
Tmux / state hotfixes
- Restored ambient tmux bootstrap behavior for state tools after the regression introduced by #979
- Real tmux tests are isolated from live maintainer sessions by default
deep-interviewnow works with OMX state APIs (state_read,state_write,state_clear,state_get_status)
CI / release hardening
- Fixed the CI-only race where
npm pack --dry-runcould rebuild dist during parallel tests and breakCoverage Report (TypeScript Full) - Release smoke remains focused on install + boot + core commands instead of optional helper binaries
What's Changed
Fixes
- hotfix(state): restore ambient tmux bootstrap for state tools (#986)
- fix: isolate real tmux tests from ambient maintainer sessions by default (#980, closes #960)
- fix: support deep-interview in OMX state mode handling (#987)
- fix(release): slim packed-install smoke to core commands (#983, closes #982)
- fix: keep full-suite auto-nudge fixtures aligned with canonical pane routing (#981)
Features
Referenced issues
Contributors
- @Yeachan-Heo (Bellman)
Full Changelog: v0.11.1...v0.11.2
Fixed pane detection regression where hook nudges no longer appear in the HUD pane.
Full changelog
oh-my-codex v0.11.1
5 PRs in the release window
0.11.1 is a focused patch release following 0.11.0. This release contains CI cleanup and a single regression fix for pane detection.
Highlights
Pane Detection Fix
- Auto-nudge fixtures aligned with canonical pane routing
- Hook nudges no longer land in the HUD pane
CI Cleanup
- Tests isolated from live maintainer tmux/session state
- Packed installs no longer require ripgrep
- Release smoke tests focused on boot-safe packed installs
What's Changed
Fixes
- fix: keep full-suite auto-nudge fixtures aligned with canonical pane routing (#981)
- fix(test): isolate tmux/session discovery from live maintainer state (#979, closes #963)
- test(explore): avoid requiring host rg in strict allowlist test (#978, closes #964)
- fix(explore): keep packed installs alive without rg (#978)
- fix: keep release smoke focused on boot-safe packed installs (#983, closes #982)
Referenced issues
Contributors
- @Yeachan-Heo (Bellman)
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.11.1npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.11.0...v0.11.1
- High‑severity transitive vulnerabilities patched; dependabot config added (PR #889, closes issue #888).
- Native subagent integration (phase 1) with CLI spawning and skill‑ref bridges
- Novice deep‑interview intake bridge for autoresearch UX
- `omx cleanup` command to remove orphaned MCP servers and stale `/tmp` artifacts
Full changelog
oh-my-codex v0.10.3
21 PRs in the release window
0.10.3 is a feature-rich release following 0.10.2. The release window began with the 0.10.2 tag at 2026-03-16 09:14 UTC; the 21 PRs landed across two days, with the final merge (#919) at 2026-03-18 02:24 UTC, for a shipped turnaround of about 41 hours before this release-prep commit.
Highlights
Native subagent integration (phase 1)
- Codex CLI native subagent spawning and coordination is now available as a first-pass integration
- Skill references can bridge to native subagents with full lifecycle tracking
- AGENTS.md setup now auto-generates a model capability table for quick reference
Autoresearch hardening and UX
-
Novice users can now be routed through deep-interview intake before launching autonomous research
-
Worktree paths moved to project-local
.omx/worktrees/for isolation -
Contracts and runtime deslopped for clarity
-
ESM
__dirnameerror and macOS test compatibility fixed -
Marathon execution mode with watchdog failure notifications, structured PRD orchestrator, and state recovery
New: omx cleanup
- Detects and removes orphaned MCP server processes
- Cleans stale
/tmpartifacts
Security
- High-severity transitive vulnerabilities patched with dependabot config added
What's Changed
Features
- feat: add Lore commit protocol to AGENTS.md template and executor prompt (#916)
- feat(setup): generate AGENTS model capability table (#894)
- feat: add skill_ref bridges and subagent tracking (#892)
- feat: add native codex agent integration phase 1 (#886)
- feat: add AGENTS autonomy directive (#883)
- feat(autoresearch): add novice deep-interview intake bridge (#906)
- feat(cli): add omx cleanup for orphaned MCP servers (#901)
Fixes
- fix: bootstrap packed-install smoke deps in worktrees (#919, closes #917)
- fix: use deep-interview launch for autoresearch intake (#915, closes #911)
- fix(native): prefer musl Linux assets before glibc (#914)
- fix(autoresearch): use project-local worktree paths (#913)
- fix: ship musl-first Linux native assets (#907)
- fix: resolve __dirname ESM error in autoresearch guided flow (#903)
- fix: clean up stale obsolete native agents (#899)
- fix: stop generating skill agents (#897)
- fix(autoresearch): replace execFileSync('cat') with readFileSync and fix macOS test compatibility (#891 — @lifrary)
- fix(deps): patch high-severity transitive vulnerabilities and add dependabot config (#889, closes #888)
- Add stale /tmp cleanup to omx cleanup (#912, closes #908)
Refactor
- refactor(autoresearch): deslop contracts and runtime (#918)
Docs
- docs: add autoresearch showcase hub with completed demos (#884)
Referenced issues
Contributors
- @Yeachan-Heo (Bellman)
- @lifrary (SEUNGWOO LEE)
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.10.3npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.10.2...v0.10.3
- Added psmux support for native Windows tmux
Full changelog
Hotfix: tmux platform guard
Based on v0.10.2 — this is a rollback hotfix release.
- Replace win32 hard-block with tmux capability check; OMX now always launches with tmux regardless of platform when tmux/psmux is available
- Add psmux support for native Windows tmux
- Use
whereon win32 instead ofwhichfor binary path resolution
Cherry-picked from 9b3b336.
- Implicit OMX cleanup on launch is disabled; destructive cleanup must be invoked explicitly via `omx cleanup`.
- Mandatory deslop pass added to Ralph workflow
- Team tmux layouts auto‑reconcile after terminal resize
- Autoresearch can be launched from interview split‑pane run path
Full changelog
oh-my-codex v0.10.4
7 PRs + 1 direct commit in the release window
0.10.4 is a fast-follow patch release after 0.10.3. The release window began with the 0.10.3 tag at 2026-03-18 02:53 UTC; 8 non-merge commits landed afterward, capped by the #941 merge commit (ceccb94) that disables implicit OMX cleanup on launch.
Highlights
Ralph / Ralphthon hardening
- Ralph now includes a mandatory deslop pass in its workflow
- Ralphthon state readers are more resilient and no longer perform a redundant bootstrap call
Team tmux stability
- Team layouts now auto-reconcile after terminal resize events
- Detached tmux sessions are cleaned up when the leader pane exits
Autoresearch + notification flow polish
- Deep-interview can now launch autoresearch through the split-pane run path
- Wrapped recent-output blocks are preserved in notifications
Safer launch behavior
- Automatic stale-session cleanup is disabled during normal launch
- Destructive cleanup is now explicit through
omx cleanup
What's Changed
Features
- feat: add mandatory deslop pass to ralph workflow (#932)
- feat(team): auto-reconcile tmux team layout on resize (#934)
- feat: launch autoresearch from interview via split-pane run path (#933)
Fixes
- fix: harden ralphthon state readers and remove redundant bootstrap call (#935)
- fix: kill detached tmux session when leader pane exits (#937)
- fix(notifications): preserve wrapped recent-output blocks (#939)
- fix: disable implicit OMX cleanup on launch (#941)
Internal
- chore: target dependabot PRs to dev branch (
ca33f8e)
Contributors
- Bellman
- @Yeachan-Heo
- @lifrary (SEUNGWOO LEE)
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.10.4npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.10.3...v0.10.4
- Disables implicit OMX (Oh My Codex) stale‑session cleanup on launch; cleanup must now be performed explicitly via `omx cleanup`.
- Mandatory deslop pass added to Ralph workflow
- Team tmux layouts auto‑reconcile after terminal resize
- Autoresearch can be launched from Deep‑interview split‑pane run path
Full changelog
oh-my-codex v0.10.4
7 PRs + 1 direct commit in the release window
0.10.4 is a fast-follow patch release after 0.10.3. The release window began with the 0.10.3 tag at 2026-03-18 02:53 UTC; 8 non-merge commits landed afterward, capped by the #941 merge commit (ceccb94) that disables implicit OMX cleanup on launch.
Highlights
Ralph / Ralphthon hardening
- Ralph now includes a mandatory deslop pass in its workflow
- Ralphthon state readers are more resilient and no longer perform a redundant bootstrap call
Team tmux stability
- Team layouts now auto-reconcile after terminal resize events
- Detached tmux sessions are cleaned up when the leader pane exits
Autoresearch + notification flow polish
- Deep-interview can now launch autoresearch through the split-pane run path
- Wrapped recent-output blocks are preserved in notifications
Safer launch behavior
- Automatic stale-session cleanup is disabled during normal launch
- Destructive cleanup is now explicit through
omx cleanup
What's Changed
Features
- feat: add mandatory deslop pass to ralph workflow (#932)
- feat(team): auto-reconcile tmux team layout on resize (#934)
- feat: launch autoresearch from interview via split-pane run path (#933)
Fixes
- fix: harden ralphthon state readers and remove redundant bootstrap call (#935)
- fix: kill detached tmux session when leader pane exits (#937)
- fix(notifications): preserve wrapped recent-output blocks (#939)
- fix: disable implicit OMX cleanup on launch (#941)
Internal
- chore: target dependabot PRs to dev branch (
ca33f8e)
Contributors
- Bellman
- @Yeachan-Heo
- @lifrary (SEUNGWOO LEE)
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.10.4npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.10.3...v0.10.4
- High-severity transitive vulnerabilities patched; dependabot config added (see #889, closes #888)
- Native subagent integration (phase 1) with CLI spawning and skill‑reference bridges
- Ralphthon marathon execution mode with watchdog notifications and state recovery
- `omx cleanup` command to remove orphaned MCP servers and stale `/tmp` artifacts
Full changelog
oh-my-codex v0.10.3
21 PRs in the release window
0.10.3 is a feature-rich release following 0.10.2. The release window began with the 0.10.2 tag at 2026-03-16 09:14 UTC; the 21 PRs landed across two days, with the final merge (#919) at 2026-03-18 02:24 UTC, for a shipped turnaround of about 41 hours before this release-prep commit.
Highlights
Native subagent integration (phase 1)
- Codex CLI native subagent spawning and coordination is now available as a first-pass integration
- Skill references can bridge to native subagents with full lifecycle tracking
- AGENTS.md setup now auto-generates a model capability table for quick reference
Autoresearch hardening and UX
- Novice users can now be routed through deep-interview intake before launching autonomous research
- Worktree paths moved to project-local
.omx/worktrees/for isolation - Contracts and runtime deslopped for clarity
- ESM
__dirnameerror and macOS test compatibility fixed
New: Ralphthon mode
- Marathon execution mode with watchdog failure notifications, structured PRD orchestrator, and state recovery
New: omx cleanup
- Detects and removes orphaned MCP server processes
- Cleans stale
/tmpartifacts
Security
- High-severity transitive vulnerabilities patched with dependabot config added
What's Changed
Features
- feat: add Lore commit protocol to AGENTS.md template and executor prompt (#916)
- feat(setup): generate AGENTS model capability table (#894)
- feat: add skill_ref bridges and subagent tracking (#892)
- feat: add native codex agent integration phase 1 (#886)
- feat: add AGENTS autonomy directive (#883)
- feat(autoresearch): add novice deep-interview intake bridge (#906)
- feat(cli): add omx cleanup for orphaned MCP servers (#901)
- feat(cli): wire ralphthon watchdog launch flow (#880)
Fixes
- fix: bootstrap packed-install smoke deps in worktrees (#919, closes #917)
- fix: use deep-interview launch for autoresearch intake (#915, closes #911)
- fix(native): prefer musl Linux assets before glibc (#914)
- fix(autoresearch): use project-local worktree paths (#913)
- fix: ship musl-first Linux native assets (#907)
- fix: resolve __dirname ESM error in autoresearch guided flow (#903)
- fix: clean up stale obsolete native agents (#899)
- fix: stop generating skill agents (#897)
- fix(autoresearch): replace execFileSync('cat') with readFileSync and fix macOS test compatibility (#891 — @lifrary)
- fix(deps): patch high-severity transitive vulnerabilities and add dependabot config (#889, closes #888)
- Add stale /tmp cleanup to omx cleanup (#912, closes #908)
Refactor
- refactor(autoresearch): deslop contracts and runtime (#918)
Docs
- docs: add autoresearch showcase hub with completed demos (#884)
Referenced issues
Contributors
- @Yeachan-Heo (Bellman)
- @lifrary (SEUNGWOO LEE)
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.10.3npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.10.2...v0.10.3
Fixed argument normalization, auto‑repair of duplicate `[tui]` sections, and macOS tmux launch policy failures.
Full changelog
oh-my-codex v0.10.2
3 PRs in the release window
0.10.2 is a follow-up stabilization patch for 0.10.1. The release window began with the 0.10.1 tag at 2026-03-16 06:57 UTC; the three fix PRs landed by 2026-03-16 08:43 UTC (just under 2 hours later), bringing the shipped turnaround to about 1 hour 46 minutes before this release-prep commit.
Highlights
Targeted fixes
- autoresearch codex args are now normalized for sandbox bypass, preventing double-flag or missing-flag edge cases when composing launch arguments
- duplicate
[tui]sections inconfig.tomlare auto-repaired before Codex CLI launch, preventing TOML parse failures - tmux launch policy on macOS now uses the correct policy to prevent session startup failures when the tmux server is not yet running
What's Changed
Fixes
- fix: normalize autoresearch codex args for sandbox bypass (#875)
- fix(config): auto-repair duplicate [tui] sections before Codex CLI launch (#876)
- fix(cli): use tmux launch policy on darwin (#878)
Patch-window timeline
2026-03-16 06:57 UTC—0.10.1release tag2026-03-16 07:41 UTC— PR #876 merged2026-03-16 07:42 UTC— PR #875 merged2026-03-16 08:43 UTC— PR #878 merged
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.10.2npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.10.1...v0.10.2
- autoresearch command now defaults to `--dangerously-bypass-approvals-and-sandbox` unless the caller explicitly provides equivalent flags
- `omx autoresearch` on a TTY launches guided setup for research topic, evaluator command, keep policy, and mission slug
- `omx autoresearch init` supports non‑interactive mission scaffolding with safe tmux‑backed supervisor launch
Full changelog
oh-my-codex v0.10.1
6 PRs in the release window
0.10.1 is the fast-follow stabilization release for 0.10.0. The release window began with the 0.10.0 bump commit at 2026-03-15 17:22 UTC; the four urgent hotfix PRs landed by 2026-03-16 03:18 UTC (just under 10 hours later), and the final shipped follow-up merge (#873) landed at 2026-03-16 05:59 UTC, bringing the shipped turnaround to about 12 hours 37 minutes before this release-prep commit.
Highlights
Urgent hotfixes shipped first
- autoresearch now defaults to
--dangerously-bypass-approvals-and-sandboxunless the caller already provided equivalent flags - autoresearch worktree cleanliness now ignores
.omx/runtime artifacts, preventing false dirty-worktree failures during reset/cleanup - installed skills are deduplicated across project and user scopes, so shadowed duplicates no longer leak into composed instructions
- team worker readiness detection now accepts Codex
0.114.0startup text and uses a safer ready-wait path
Fast-follow autoresearch UX landed before the release cut
omx autoresearchwith no args on a TTY can now launch guided setup for research topic, evaluator command, keep policy, and mission slugomx autoresearch initnow supports non-interactive mission scaffolding and safe tmux-backed supervisor launch- non-interactive callers keep the previous failure-fast behavior when no mission path is provided
What's Changed
Urgent patches
- fix(autoresearch): default to bypass approvals and sandbox (#856, closes #855)
- fix(autoresearch): exclude
.omx/runtime files from worktree clean check (#858, closes #857) - fix(setup): deduplicate skills across project and user scope (#864, closes #861)
- fix(team): improve worker readiness detection for Codex 0.114.0 (#868, closes #866)
Feature follow-up shipped in the same release sprint
Docs follow-up
- docs: add Discord community server badge to the primary multilingual READMEs (#869)
Patch-window timeline
2026-03-15 17:22 UTC—0.10.0release bump commit (fbb9f2d)2026-03-15 18:16 UTC— PR #856 merged2026-03-15 18:36 UTC— PR #858 merged2026-03-16 01:57 UTC— PR #864 merged2026-03-16 03:18 UTC— PR #868 merged2026-03-16 03:19 UTC— PR #869 merged2026-03-16 05:59 UTC— PR #873 merged
Local release verification checklist
Run before tagging / publishing:
node scripts/check-version-sync.mjs --tag v0.10.1npm run buildnpm run check:no-unusednpm test
Full Changelog: v0.10.0...v0.10.1
- Team worktrees are enforced by default, changing the default behavior for team workers to use isolated git workspaces.
- `omx autoresearch` experimental autonomous research mode
- `omx exec` wrapper to run commands through the OMX orchestration layer
Full changelog
oh-my-codex v0.10.0
54 commits | 26 PRs | 105 files changed | +7,581 / −388 lines
Highlights
omx autoresearch(experimental) — new autonomous research mode that iteratively explores topics and self-terminates on exhaustionomx execwrapper — run commands through the OMX orchestration layer directly- Team worktrees by default — team workers now get isolated git worktrees automatically, improving parallel safety
- Deep-interview intent-first — intent classification happens upfront before the Socratic loop
- Incremental worktree merge tracking — smarter conflict detection with incremental merge state
What's Changed
Features
- feat: enforce team worktrees by default (#804)
- feat: make deep-interview intent-first (#829)
- feat(cli): add first-pass omx exec wrapper (#832)
- feat(team): add incremental worktree merge tracking (#846)
- feat(autoresearch): new autonomous research mode (experimental) (#847, #849)
Bug Fixes
- fix(release): localize smoke hydration assets (#806)
- fix: preserve macOS clipboard image paste path (#810, #809)
- fix: fall back when sparkshell hits glibc mismatch (#813, #812)
- fix(tmux): stop leaking server-global mouse state (#820, #817)
- fix(team): make team HUD full-width (#822)
- fix: project setup .omx gitignore sync (#824, #823)
- fix(config): merge existing notify and tui entries (#826, #825)
- fix(pipeline): unify planning-complete artifact checks (#828, #827)
- fix: preserve post-ralplan team follow-up context (#833)
- fix(setup): default user skills to CODEX_HOME (#839)
- fix(hooks): auto-expand active Ralph max_iterations (#843, #842)
- fix(setup): validate skills before install (#845, #844)
- fix(team): continuous worktree integration with hybrid merge, auto-commit, and cross-worker rebase (#852)
- fix(cli): harden Windows psmux detached bootstrap (#854, closes #853)
Documentation & Internal
- docs(deep-interview): make execution handoff contract explicit (#851)
- test(team): isolate dirty-worktree helpers
- Removed unused
sendRebaseConflictMessageToWorkerfunction - Reverted crates runtime CI alignment after compatibility issues (#840)
Contributors
- @Yeachan-Heo — 52 commits
- @HaD0Yun — 2 commits
Full Changelog: v0.9.1...v0.10.0
- If using project‑scoped OMX installs, run `omx setup --force --scope project` after upgrading to refresh managed config/native‑agent paths.
- `omx explore` – dedicated read‑only, Rust‑backed entrypoint with packaged/native resolution
- `omx sparkshell` – operator‑facing native shell sidecar that summarizes long output and supports tmux‑pane summarization
Full changelog
oh-my-codex v0.9.0
0.9.0 is the Spark Initiative release: OMX now has a stronger native fast path for repository discovery, shell-native inspection, and cross-platform native distribution.
Highlights
omx explore
- adds a dedicated read-only exploration entrypoint
- uses a Rust-backed explore harness
- keeps shell-native exploration constrained, allowlisted, and read-only
- supports packaged native resolution plus source/repo-local fallback paths
omx sparkshell
- adds an operator-facing native shell sidecar
- supports direct command execution
- summarizes long output into compact sections
- supports explicit tmux-pane summarization:
omx sparkshell --tmux-pane %12 --tail-lines 400
Explore ↔ sparkshell integration
- qualifying read-only shell-native
omx exploreprompts can route throughomx sparkshell - fallback behavior remains explicit and hardened
- guidance/docs/tests were aligned around this contract
Worker follow-through polish
- worker mailbox guidance now asks for concrete progress updates without implying work should stop after replying
- inbox/mailbox trigger wording now tells workers to continue assigned or next feasible work after reporting status
- runtime/bootstrap wording and associated tests were aligned around this behavior
Release pipeline upgrades
- cross-platform native publishing for:
omx-explore-harnessomx-sparkshell
- native release manifest generation with per-target metadata
- packed-install smoke verification in the release workflow
build:fullvalidated as the one-shot release-oriented build path
Important Spark Initiative notes
- Users can install OMX normally with
npm install -g oh-my-codex. - The npm tarball intentionally excludes staged cross-platform native binaries.
- Tagged releases publish verified native archives for
omx-explore-harnessandomx-sparkshell. - Packaged installs hydrate the matching native binary through
native-release-manifest.json. - CI now hardens the Rust path with explicit toolchain setup,
cargo fmt --all --check, andcargo clippy --workspace --all-targets -- -D warnings.
Upgrade note
If you use project-scoped OMX installs, rerun:
omx setup --force --scope project
after upgrading so managed config/native-agent paths are refreshed.
Local release verification summary
Validated locally on dev before tagging:
node scripts/check-version-sync.mjs --tag v0.9.0npm run lintnpx tsc --noEmitnpm run check:no-unusednpm testnpm run build:fullnpm run test:explorenpm run test:sparkshellnode bin/omx.js doctornode bin/omx.js setup --dry-runnpm pack --dry-run
Notable PRs
- #782 — explore routes qualifying read-only shell tasks via sparkshell
- #784 — cross-platform native publishing and release-pipeline follow-through
- #785 — team runtime lifecycle and cleanup hardening
- #786 — nested help routing cleanup
- #787 — centralized OMX default model resolution
- #788 — HUD branch/config loading hardening
- #789 — distribute generated aspect tasks across workers
- #793 — Windows Codex command shim probing fix
- #794 — merge
experimental/devintodev - #805 — keep workers running after mailbox replies
Related issues
Restored the standalone HUD automatically after team shutdown.
Full changelog
Hotfix\n- restore the standalone HUD automatically after team shutdown\n- reapply HUD resize/layout reconciliation after restore\n- add regression coverage for HUD restore and rerun behavior\n\n## Included commits\n- fix(team): restore hud after shutdown\n- chore(release): bump version to 0.8.15
Restored HUD rehydrate hooks, added teardown on shutdown, made leader nudges actionable.
Full changelog
Hotfix release for team HUD rerun/reconcile regressions.
Included fixes:
- restore HUD rehydrate hooks on rerun (#767)
- tear down HUD pane on shutdown (#764)
- make leader nudges actionable and visible (#763)
- reword leader nudge orchestration guidance (#766)
- docs refresh around Team Mode (#765)
- Added top‑level `omx resume` command mirroring `codex resume` with full CLI/help/docs support
- Introduced lane‑aware team startup assignment and conservative rebalance policy for pending work
Full changelog
oh-my-codex v0.8.13
[0.8.13] - 2026-03-11
19 non-merge commits from main..dev. Contributors: @Yeachan-Heo, @HaD0Yun, @gobylor.
Added
- Top-level
omx resumecommand — addedomx resumepassthrough so OMX mirrorscodex resume, with CLI/help/docs coverage. (PR #752 — @gobylor) - Team allocation and conservative rebalance policy seams — team startup assignment is now lane-aware, and runtime monitoring can safely reassign reclaimed pending work to eligible idle workers without rewriting the claim model. (PR #761 — @HaD0Yun)
Changed
- Team policy manifest boundaries are clearer — persisted transport/runtime policy is now separated from lifecycle governance so nested-team checks, approval/delegation gates, and shutdown cleanup rules come from the authoritative runtime side. (PR #753, issue #746)
- Shared tmux stall heuristics now drive both hook and runtime paths — common stall/bootstrap/ready/active-task detection moved into a shared engine reused by notify-hook dispatch/guard logic and the team tmux session runtime. (PR #758, issue #732)
- Team-mode docs and guidance were refreshed — README copy now positions OMX more clearly around Team Mode, and the root guidance wording was tightened for direct execution and evidence-backed verification. (PR #765, commit
5ced66d)
Fixed
- Fallback team delivery and stale-alert latency — faster fallback watcher cadence, leader nudge evaluation on fallback ticks, and a larger default dispatch ack budget reduce lag in team message delivery and stale alerts. (PR #739, issue #738)
- Invalid Codex TOML detection in
omx doctor— doctor now flags malformed~/.codex/config.tomlwith a clearer duplicate-table hint. (PR #740, related issue #486) - Linked Team Ralph lifecycle synchronization —
omx team ralphnow establishes linked Ralph state on launch, propagates linked terminal cancellation directly from runtime transitions, and keeps continue-steer alive when the launcher parent exits while Ralph work is still active. (PR #749, issue #742; PR #750, issue #743; PR #751) - Team worker and leader nudges are more actionable — auto-nudge follow-up phrases are detected more reliably, leader nudges now derive next actions from live team state, mailbox guidance is more explicit, and stale “keep polling” wording was replaced with orchestration guidance. (PR #754; PR #759, issue #759; PR #763; PR #766)
- HUD cleanup during team shutdown — interactive shutdown now tears down the HUD pane cleanly to avoid stale panes across rapid relaunch cycles. (PR #764, issue #764)
- CLI startup no longer eagerly loads
doctor— thedoctorcommand is now lazy-loaded so unrelated CLI invocations avoid unnecessary work. (commit2503d95)
- Team orchestrator brain and executor lane split for clearer planning/execution separation
- Session history search via `omx session` to locate prior local transcripts and artifacts
- Added team idle/stall read APIs, Ralph periodic steer prompts, and leader status monitoring hints
Full changelog
What's Changed
Added
- Team orchestrator brain and executor lane split — dedicated and agent roles for clearer planning/execution separation (#715)
- Session history search —
oh-my-codex (omx) - Multi-agent orchestration for Codex CLI
Usage:
omx Launch Codex CLI (HUD auto-attaches only when already inside tmux)
omx setup Install skills, prompts, MCP servers, and AGENTS.md
omx uninstall Remove OMX configuration and clean up installed artifacts
omx doctor Check installation health
omx doctor --team Check team/swarm runtime health diagnostics
omx ask Ask local provider CLI (claude|gemini) and write artifact output
omx session Search prior local session transcripts and history artifacts
omx agents-init [path]
Bootstrap lightweight AGENTS.md files for a repo/subtree
omx deepinit [path]
Alias for agents-init (lightweight AGENTS bootstrap only)
omx team Spawn parallel worker panes in tmux and bootstrap inbox/task state
omx ralph Launch Codex with ralph persistence mode active
omx version Show version information
omx tmux-hook Manage tmux prompt injection workaround (init|status|validate|test)
omx hooks Manage hook plugins (init|status|validate|test)
omx hud Show HUD statusline (--watch, --json, --preset=NAME)
omx help Show this help message
omx status Show active modes and state
omx cancel Cancel active execution modes
omx reasoning Show or set model reasoning effort (low|medium|high|xhigh)
Options:
--yolo Launch Codex in yolo mode (shorthand for: omx launch --yolo)
--high Launch Codex with high reasoning effort
(shorthand for: -c model_reasoning_effort="high")
--xhigh Launch Codex with xhigh reasoning effort
(shorthand for: -c model_reasoning_effort="xhigh")
--madmax DANGEROUS: bypass Codex approvals and sandbox
(alias for --dangerously-bypass-approvals-and-sandbox)
--spark Use the Codex spark model (~1.3x faster) for team workers only
Workers get the configured low-complexity team model; leader model unchanged
--madmax-spark spark model for workers + bypass approvals for leader and workers
(shorthand for: --spark --madmax)
--notify-temp Enable temporary notification routing for this run/session only
--discord Select Discord provider for temporary notification mode
--slack Select Slack provider for temporary notification mode
--telegram Select Telegram provider for temporary notification mode
--custom
Select custom/OpenClaw gateway name for temporary notification mode
-w, --worktree[=]
Launch Codex in a git worktree (detached when no name is given)
--force Force reinstall (overwrite existing files)
--dry-run Show what would be done without doing it
--keep-config Skip config.toml cleanup during uninstall
--purge Remove .omx/ cache directory during uninstall
--verbose Show detailed output
--scope Setup scope for "omx setup" only:
user | project for full-text search across command history (#724)
- Team idle and stall read APIs — programmatic monitoring via and operations (#720)
- Ralph periodic active continue steer — prompts stalled agents to continue (#733)
- Team leader status monitoring hints — better visibility into member progress (#734)
Changed
- Low-confidence analysis prompts stay single-lane (#726)
Fixed
- Windows psmux detached launch stability (#725)
- Skip tmux bootstrap when tmux unavailable (#722)
- Stalled team leader nudge before stale gate (#729)
Reverted
- Experimental Rust CLI parity harness (#736)
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/blob/main/CHANGELOG.md
- Additive `omx team api` event-query operations for programmatic consumption of team runtime signals
- Model-default behavior now explicitly documented around the intended main/spark contract
Full changelog
Highlights
- Additive
omx team apievent-query operations land in the mainline, making team runtime signals easier to consume programmatically. - Team runtime hardening continues across startup, worktree handling, idle/stall nudges, and explicit worker launch-arg paths.
- Model-default behavior is now documented more explicitly around the intended main/spark contract.
Included PRs
Added
Changed
- #712 — Avoid fragmenting prose prompts into subtasks
Fixed
- #668 — Fix team notify injection into shell panes after completion
- #713 — Reduce clawhip lifecycle event noise
- #696 — Harden mixed Claude startup dispatch fallback
- #697 — Remove detached worker worktrees on shutdown
- #700 — Harden team leader stall nudges
- #707 — Resolve worktree worker inbox paths
- #708 — Harden team workers under explicit launch args
- #711 — Harden Codex startup ACK-without-claim stalls
Validation
Release candidate was validated on dev with:
npm run buildnpm linknpm run lintnpm run check:no-unusednpm test
Published to npm as:
Fixed tmux Enter submission reliability in alternate-screen UIs.
Full changelog
Highlights
- Fixed tmux Enter submission reliability in alternate-screen UIs and mirrored the same protection in the hook extensibility tmux path.
- Auto-update now refreshes OMX setup immediately after a successful global install so prompts, skills, and
AGENTS.mdstay synchronized. - Tightened root prompt contracts to bias more strongly toward direct execution, bounded delegation, and evidence-backed verification.
- Hardened release-critical regression suites by isolating CLI/OpenClaw tests from ambient
CODEX_HOMEstate and expanding update-flow coverage.
Merged PRs and addressed work
Fixed
-
PR #649 —
fix(tui): handle tmux send-keys Enter reliably in alternate screen
Author: @Yeachan-Heo
Added a small settle delay between literal tmux text injection and the firstC-msubmit, retained the follow-up retry delay, and applied the same delay to hook extensibility tmux submission.
Addresses: #647 -
PR #648 —
fix(update): run setup refresh after auto-update
Author: @Yeachan-Heo
Successful global auto-updates now callsetup({ force: true }), and the update flow was refactored for dependency-injected testing plus a dedicated regression test.
Changed
- PR #646 —
Tighten root prompt contracts with explicit safety and workflow rationale
Author: @HaD0Yun
Clarified the rootAGENTS.md/ template prompt contract so OMX defaults more clearly to direct execution, bounded delegation, and compact evidence-driven behavior while preserving workflow and verification invariants.
Added
-
Direct commit
aedd068—test: harden CLI and OpenClaw suites for release readiness
Author: @Yeachan-Heo
Expanded CLI update regression coverage across success, decline, failure, and already-up-to-date paths, and isolated CLI/OpenClaw integration suites from ambientCODEX_HOMEleakage for more deterministic release validation. -
Direct commit
3149747—chore(gitignore): ignore local codex and agent state
Author: @Yeachan-Heo
Added.codex/,.agents/, andcoverage/to.gitignoreso local session state and generated coverage output stay out of commits.
Contributors
Verification
npm run lintnpm run check:no-unusednpm testnpm publish --access public
- If using project‑scoped OMX installs, rerun `omx setup --force --scope project` after upgrading to refresh managed config and native‑agent paths.
- Team worker startup persists routed role prompts into live config, AGENTS.md files, and worker metadata.
- Scale‑up task bootstrap writes new tasks through canonical team state before worker launch, preserving stable task IDs and inbox metadata.
Full changelog
oh-my-codex v0.8.9
Released: 2026-03-08
2 non-merge commits from v0.8.8..dev.
Contributor: @Yeachan-Heo.
Highlights
Team worker startup now honors routed role prompts end-to-end
This hotfix release finishes the team worker startup path so routed task roles are not just inferred during planning — they are carried into the actual worker startup instruction surface and live worker metadata.
This release:
- persists routed worker roles into live team config and worker identity
- composes per-worker startup
AGENTS.mdfiles from the resolved role prompt - keeps role-based default reasoning allocation active unless an explicit launch override is present
- verifies the live worker launch path with runtime, tmux-session, and worker-bootstrap coverage
PR: #643
Scale-up task bootstrap now preserves canonical task identity
Dynamic scaling now writes new tasks through canonical team state before worker bootstrap, so scaled workers receive stable task ids, persisted roles, and inbox/task metadata that matches the runtime contract used by initial team startup.
This release:
- persists scaled tasks before worker bootstrap instead of reconstructing synthetic inbox-only task metadata
- preserves role/owner/task-id fidelity during scale-up
- adds regression coverage for canonical scale-up task state and inbox ids
Upgrade note
If you use project-scoped OMX installs, rerun:
omx setup --force --scope project
after upgrading so managed project config/native-agent paths are refreshed.
Full commit log (v0.8.8..dev)
11b2640 fix(team): persist scaled tasks before worker bootstrap
5591cf6 fix(team): persist routed roles into startup instructions (#643)
- Per‑teammate reasoning effort allocation in runtime, scaling, and tmux-session paths
- Anti‑slop workflow added with guidance in AGENTS.md, SKILL.md surface, and catalog manifest updates
Full changelog
oh-my-codex v0.8.8
Released: 2026-03-08
5 non-merge commits from main..dev.
Contributor: @Yeachan-Heo.
Highlights
Anti-slop workflow rollout
OMX now ships an anti-slop workflow across its guidance/catalog surfaces.
This release:
- adds anti-slop workflow guidance to root and template
AGENTS.md - introduces the dedicated
skills/ai-slop-cleaner/SKILL.mdsurface - updates catalog manifests and generated catalog output for the new workflow
- adds regression coverage for the anti-slop workflow contract
PR: #634
Team reasoning effort can be allocated per teammate
Team execution now carries reasoning-effort decisions deeper into runtime and worker-launch paths instead of treating worker configuration as one undifferentiated default.
This release:
- extends team model-contract logic for teammate-specific reasoning effort
- updates runtime, scaling, and tmux-session behavior to propagate those settings
- adds regression coverage for runtime, tmux session, and model-contract paths
- refreshes README and team skill guidance to reflect the new behavior
PR: #642
Bug fixes and operational polish
Deep-interview auto-approval lock hardening
Notify-hook and keyword-detection logic were tightened so deep-interview auto-approval injection stays lock-protected and better covered by tests.
PR: #637
Packaging and routing contract fixes
This release also includes smaller contract corrections:
- normalizes the published npm bin path and updates package-bin regression coverage (#638)
- explicitly reserves the worker role for team mode in prompt-guidance routing, with regression coverage via PR #641
Compare stats
- Commit window: 5 non-merge commits (
2026-03-08to2026-03-08) - Diff snapshot (
main...dev): 29 files changed, +1,061 / -203
Full commit log (main..dev)
d6dae26 feat(team): allocate reasoning effort per teammate (#642)
ac675d0 feat: add anti-slop workflow (#634)
a4e6e35 fix(pkg): normalize npm bin path (#638)
4352f30 fix: lock deep-interview auto-approval injection (#637)
274d5e7 fix: reserve worker role for team mode
- Centralized and documented GPT-5.4 prompt‑guidance contract
- Converted agent prompt catalog from Markdown headings to XML tags
- Unified MCP stdio teardown path across all servers
Full changelog
oh-my-codex v0.8.7
Released: 2026-03-08
12 non-merge commits from v0.8.6..dev.
Contributors: @Yeachan-Heo, @HaD0Yun, @marlocarlo.
Highlights
Prompt-system contract cleanup and XML normalization
OMX's instruction surfaces now have a cleaner shared contract across the root orchestrator, templates, generated guidance, and the prompt catalog.
This release:
- centralizes prompt-guidance contract validation
- extracts reusable prompt-guidance fragments and a sync script
- converts the agent prompt catalog from Markdown-style headings to XML-tag structure
- clarifies the 2-layer orchestrator / role-prompt model in docs and templates
- documents the GPT-5.4 prompt-guidance contract directly in the repo
Representative PRs:
- #619 — XML-tag prompt migration
- #620 — prompt-guidance contract documentation
- #623 — 2-layer orchestrator / role-prompt documentation
- #625 — leader-only orchestration boundaries
Team runtime hardening
Team orchestration received a hardening pass focused on expired-claim recovery, worktree hygiene, and stronger regression coverage.
Notable effects:
- safer claim recovery behavior when leases expire
- better worktree cleanup and hygiene paths
- broader runtime/state/worktree/end-to-end regression coverage
- a dedicated hardening benchmark script
PR: #624
MCP server stdio teardown unification
OMX's MCP stdio entrypoints now share one idempotent shutdown path instead of duplicating raw transport bootstrap logic in each server.
This release:
- adds
autoStartStdioMcpServerinsrc/mcp/bootstrap.ts - migrates state, memory, code-intel, trace, and team MCP entrypoints to the shared helper
- routes stdin close, transport close,
SIGTERM, andSIGINTthrough one lifecycle path - adds regression coverage for idle teardown across the MCP server entrypoints
npm global-install bin contract fix
This release also includes a last-minute packaging fix for global installation behavior.
It:
- corrects the published npm bin path contract in
package.json - adds
src/cli/__tests__/package-bin-contract.test.tsso the global-installomxentrypoint stays covered in CI
PR: #633
Bug fixes and operational polish
Windows / tmux capability handling
OMX no longer blocks native Windows purely because the platform is win32.
Instead, it now:
- checks actual tmux capability
- supports
psmux - uses
wherewhere appropriate on Windows - documents platform-specific setup paths more clearly in the README
PR: #616
Fast-path agent posture tuning
Analyst, planner, and other fast-path agent defaults were tuned downward to better match the intended routing posture for lightweight work.
Commits:
3c461bachore: lower analyst and planner reasoning effort4a93de1chore: lower fast-path agent reasoning effort
Compare stats
- Commit window: 12 non-merge commits (
2026-03-07to2026-03-08) - Diff snapshot (
v0.8.6...dev): 91 files changed, +3,486 / -1,747
Full commit log (v0.8.6..dev)
3a42dc6 refactor: centralize prompt guidance contract validation
9b3b336 fix(platform): replace win32 hard-block with tmux capability check; add psmux support
379f52e refactor: extract shared prompt guidance fragments
9ab2f55 refactor: convert all agent prompts from Markdown headers to XML tag structure
e53c915 docs: document GPT-5.4 prompt guidance contract (#620)
3c461ba chore: lower analyst and planner reasoning effort
4a93de1 chore: lower fast-path agent reasoning effort
810549a docs(prompt): clarify 2-layer orchestrator and role prompt model
7b193d7 fix(prompts): enforce leader-only orchestration boundaries
adcc5b6 feat(team): harden expired-claim recovery and worktree hygiene (#624)
577c416 fix(mcp): centralize stdio lifecycle teardown for OMX servers (#626) (#627)
50619d7 Fix npm bin path contract for global install (#633)
- Event‑aware waiting support via `wake_on=event` and `after_event_id` in `omx_run_team_wait`
- Expanded GPT‑5.4 prompt catalog covering many agent roles and execution skills
Full changelog
oh-my-codex v0.8.6
Released: 2026-03-07
4 non-merge commits from main..dev.
Contributor: @Yeachan-Heo.
Highlights
Event-aware team waiting and runtime coordination
OMX team orchestration can now wait on canonical team events in addition to terminal completion.
This release adds:
- additive
wake_on=event/after_event_idsupport toomx_run_team_wait - shared event reading, normalization, and cursor helpers in the team state layer
- canonical event typing across contracts, runtime state, and API interop
omx team await <team-name>CLI support- runtime emission of
worker_state_changedwhile preserving legacyworker_idlecompatibility - stronger visibility into notify-fallback watcher dispatch/drain progress and deferred leader state
PR: #609
GPT-5.4 prompt-guidance rollout and expansion
OMX's prompt and workflow surfaces were updated in two passes to better reflect OpenAI's GPT-5.4 prompt-guidance patterns.
Core-surface pass (#611, addresses #608):
- root
AGENTS.md templates/AGENTS.mdprompts/executor.mdprompts/planner.mdprompts/verifier.md- generated
developer_instructionstext insrc/config/generator.ts - focused regression coverage for prompt-contract expectations
Expansion pass (#612, follow-up to #611):
- the broader agent prompt catalog (
analyst,architect,debugger,researcher,security-reviewer,writer, and many more) - execution-heavy skills including
analyze,autopilot,build-fix,code-review,plan,ralph,ralplan,security-review,team, andultraqa - additional regression coverage for prompt catalogs, scenario examples, wave-two guidance, and skill guidance contracts
Behavioral emphasis now more explicitly covers:
- compact, information-dense output by default
- automatic follow-through on clear, low-risk, reversible next steps
- localized handling of mid-task user overrides
- continued tool usage when correctness depends on retrieval, diagnostics, or verification
- scenario-style examples that reinforce the intended execution contract across prompts and skills
Bug fixes
team-ops gateway contract restoration
A post-merge follow-up restored the intended public export surface for the team-ops gateway after the event-aware wait changes landed.
Fix: remove the accidental teamEventLogPath re-export so the strict team-ops module contract test remains stable.
PR: #610
Compare stats
- Commit window: 4 non-merge commits (
2026-03-07) - Diff snapshot (
main...dev): 69 files changed, +1,745 / -71
Full commit log (v0.8.5..v0.8.6)
9d3e2a2 fix(team): harden leader follow-up and event-aware waiting (#609)
c13290a fix(team): keep team-ops gateway contract stable (#610)
9d4b1ea feat: apply GPT-5.4 prompt-guidance patterns
76e3918 feat: expand GPT-5.4 prompt guidance across prompts and skills
- Posture‑aware agent routing (experimental) with role, tier, and posture dimensions
Full changelog
oh-my-codex v0.8.5
7 non-merge commits from v0.8.4..dev.
Contributors: @Yeachan-Heo, @HaD0Yun, @sjals93.
Highlights
Posture-aware agent routing (experimental)
Agents now carry Sisyphus-style posture metadata that separates three dimensions:
- Role: agent responsibility (
executor,planner,architect) - Tier: reasoning depth / cost (
LOW,STANDARD,THOROUGH) - Posture: operating style (
frontier-orchestrator,deep-worker,fast-lane)
After omx setup, native agent configs in ~/.omx/agents/ include new sections:
## OMX Posture Overlay, ## Model-Class Guidance, and ## OMX Agent Metadata.
PRs: #588, #592 (@HaD0Yun)
Bug fixes
Windows ESM import crash
bin/omx.js failed on Windows with ERR_UNSUPPORTED_ESM_URL_SCHEME because import() received a bare absolute path instead of a file:// URL. Fixed by converting via url.pathToFileURL().
PR: #589 (@sjals93) — Fixes #557
tmux capture-pane returns empty output
capture-pane was called with -l <N> (invalid) instead of -S -<N>, so recent terminal output was never captured. This broke HUD recent-output display and notification content extraction.
PR: #593 — Fixes #591
Legacy model alias leakage
15 prompt files and runtime native-config generator still referenced removed gpt-5.3-codex / o3 aliases. Scrubbed all stale references from prompts and definitions.ts metadata.
Part of PR: #592 (@HaD0Yun)
Other changes
- Added Maintainers section to README (@Yeachan-Heo, @HaD0Yun)
- Added benchmark comparison screenshot to docs
Full commit log (v0.8.4..v0.8.5)
07e2cfd chore: bump version to 0.8.5 and add maintainers to README
9bbe1e8 fix(notifications): use valid tmux capture-pane history flag
0ae60af docs(bench): add benchmark comparison screenshot
2f4862a docs(omx): remove remaining legacy model alias references
0d2115c fix(omx): remove legacy model aliases from prompts and runtime metadata
8fb3aa0 fix(bin): use file:// URL for dynamic import on Windows
f448108 feat(omx): add posture-aware agent routing metadata
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.8.4...v0.8.5
- `omx setup` refreshes managed OMX artifacts by default
- Refresh paths now preserve backups before overwriting files
- Setup prompts before upgrading Codex model references from `gpt-5.3-codex` to `gpt-5.4`
Full changelog
oh-my-codex v0.8.4
Released: 2026-03-06
This is a setup-flow patch release focused on making omx setup refresh behavior safer, more predictable, and easier to rerun.
TL;DR
omx setupnow refreshes managed OMX artifacts by default instead of leaving stale generated content behind.- Managed refresh paths now preserve backups where applicable before overwriting files.
- Setup prompts before upgrading managed Codex model references from
gpt-5.3-codextogpt-5.4. - Added deeper refresh/idempotency regression coverage for setup and config generation paths.
- Includes small release-validation hardening: watcher shutdown cleanup stability and dead-code cleanup surfaced by the strict no-unused gate.
What changed
1) Managed OMX artifacts refresh by default
Setup now treats managed OMX artifacts as refreshable outputs rather than one-time drops. Re-running omx setup updates shipped artifacts more consistently, helping existing installations stay aligned with current templates and generated assets.
Why this matters:
- reduces stale generated files after upgrades
- makes repeat setup runs safer and more useful
- improves consistency between fresh installs and refreshed installs
2) Refresh paths preserve backups before overwriting
When setup replaces managed artifacts, it now does so with stronger backup behavior where applicable.
Why this matters:
- lowers risk when refreshing existing local OMX-managed files
- gives users a clearer recovery path if they need to inspect prior state
- makes setup automation less destructive
3) Setup now prompts before model upgrade rewrites
When managed configuration refreshes would upgrade Codex model references from gpt-5.3-codex to gpt-5.4, setup now asks before making that change.
Why this matters:
- avoids surprising model upgrades during routine refreshes
- preserves user trust when setup wants to modify existing config
- keeps managed defaults modern without forcing silent rewrites
4) Regression coverage expanded for refresh and idempotency
This release adds/extends tests and validation hardening around:
- setup refresh behavior
- scoped overwrite handling
- uninstall compatibility during setup-managed refreshes
- config generator idempotency and notify-aware generation flows
- watcher shutdown/cleanup synchronization during streaming fallback tests
Included commits
fed035b— feat(setup): refresh managed OMX artifacts by default with backups6aa577d— feat(setup): prompt before upgrading gpt-5.3-codex to gpt-5.4
Verification summary
Release verification evidence is recorded in docs/qa/release-readiness-0.8.4.md.
Planned release gates:
npm run buildnpm testnpm run check:no-unused- CLI smoke checks (
--help,version,doctor,setup --dry-run)
Thanks for using oh-my-codex. If anything regresses, please open an issue with reproduction steps, logs, and your CLI/runtime details.
- Adds targeted regression tests for Gemini prompt-launch path
- Hardens notify-fallback watcher to stabilize full-suite validation under load
Full changelog
oh-my-codex v0.8.3
Released: 2026-03-06
This is a focused hotfix release for the Gemini team-worker path shipped in the 0.8.2 dev release line.
TL;DR
- Fixes Gemini worker startup in team prompt mode by launching workers with
--approval-mode yolo -i "<initial inbox prompt>"instead of depending on stdin for the first instruction (#585). - Prevents non-Gemini default models such as
gpt-5.3-codex-sparkfrom being passed through to Gemini workers unless the configured model is explicitly a Gemini model (#585). - Adds targeted runtime and tmux-session regression coverage for the Gemini prompt-launch path (
#585). - Includes a small test-only hardening for the notify-fallback watcher so full-suite release validation remains stable under load.
What changed
1) Gemini prompt-mode workers now start with an explicit initial prompt
Gemini workers launched through OMX team prompt mode are now started with an explicit initial instruction:
--approval-mode yolo-i "Read and follow the instructions in .../inbox.md"
Why this matters:
- removes dependence on stdin-delivered bootstrap text for Gemini startup
- aligns worker bootstrap with Gemini CLI expectations in prompt mode
- fixes the broken worker bring-up path reported in the hotfix PR
2) Non-Gemini default model passthrough is filtered for Gemini workers
Gemini workers no longer inherit non-Gemini default models by accident.
Current behavior from this release:
- explicit Gemini models still pass through
- non-Gemini defaults are omitted for Gemini workers
- mixed-provider team configs avoid invalid startup argument combinations
Why this matters:
- prevents invalid provider/model pairings during worker launch
- preserves cleaner mixed-provider CLI interoperability
- reduces surprising failures in prompt-mode and mapped-worker setups
3) Regression coverage was expanded for the hotfix path
This release adds focused tests covering:
- prompt-mode Gemini startup argument construction
- runtime startup behavior for prompt-launched Gemini workers
- translation behavior when default models are non-Gemini
4) Full-suite verification was stabilized
Release validation also hardened a flaky watcher test so the full suite reliably waits for watcher readiness before asserting streaming EOF-tail behavior.
Why this matters:
- keeps release verification deterministic under heavy suite load
- preserves the intended watcher behavior instead of relying on fixed sleeps
- does not change shipped Gemini runtime behavior
Related PRs and issues
Merged PRs in this release
- #585 — fix(team): seed gemini workers with prompt-interactive launch
Scope note
- Functional release scope is centered on PR
#585, the Gemini worker startup hotfix after the0.8.2dev release line. - Release validation also includes a small test-only stabilization in
src/hooks/__tests__/notify-fallback-watcher.test.tsso the full suite remains reliable under load. - Final tracked change set for the release branch:
package.json,package-lock.json,CHANGELOG.md, and the watcher test hardening.
Verification summary
Release verification evidence is recorded in docs/qa/release-readiness-0.8.3.md.
Planned release gates:
npm run buildnpm testnpm run check:no-unused- CLI smoke checks (
--help,version,status,doctor,setup --dry-run,cancel) - Gemini-targeted regression checks from PR
#585
Thanks for using oh-my-codex. If anything regresses, please open an issue with reproduction steps, logs, and your CLI/runtime details.
- Gemini CLI worker support added to team mode alongside Codex and Claude
- Default frontier model fallback now resolves through the constant DEFAULT_FRONTIER_MODEL (currently set to gpt-5.4)
Full changelog
oh-my-codex v0.8.2
Released: 2026-03-06
This is a targeted patch release focused on team-provider expansion, safer defaults, setup hygiene, and correctness fixes across setup, keyword handling, and OpenClaw hook templating.
TL;DR
$team/ team runtime can now launch Gemini CLI workers alongside Codex and Claude (#576,#579, related issue#573).- Default frontier-model fallback is now routed through
DEFAULT_FRONTIER_MODELinstead of hardcoded model strings (#583). - Setup/install is stricter about shipping only the right skills, now ships
configure-notificationscanonically, and cleans stale legacy skill dirs on--force(#575,#580,#584, closes#574). omx setupnow skips the deprecated[tui]config section for Codex CLI>= 0.107.0(#572, fixes#564).- Fixed two additional patch-level bugs: unresolved OpenClaw placeholders (
#581, closes#578) and keyword detection ordering//promptsguarding (#582).
What changed
1) Team mode: Gemini CLI worker support
OMX team mode now supports Gemini as a worker CLI provider in addition to Codex and Claude.
Included in this update:
- Gemini worker launch support in runtime/session resolution
- mixed CLI maps with Codex / Claude / Gemini workers
--modelpassthrough support for Gemini workers- expanded runtime and tmux-session coverage for Gemini worker behavior
Why this matters:
- more flexibility for mixed-provider teams
- easier experimentation with provider-specific worker roles
- better parity across the team orchestration surface
2) Model fallback defaults are now centralized
Hardcoded default frontier-model fallback references were replaced with DEFAULT_FRONTIER_MODEL.
Current behavior from this release:
- default frontier fallback now resolves through a single constant
- that constant is currently set to
gpt-5.4 - low-complexity spark default remains
gpt-5.3-codex-spark
Why this matters:
- fewer hidden fallback mismatches
- easier future model updates
- cleaner test and config semantics
3) Setup/install behavior is cleaner and safer
Setup now respects the catalog manifest and current Codex compatibility more strictly:
- installs only
active/internalskills - canonically ships
configure-notifications - skips deprecated / merged / alias entries
- removes stale shipped / legacy notification skill directories during
--forcecleanup - skips writing the deprecated
[tui]section when Codex CLI is>= 0.107.0
Why this matters:
- cleaner installs and upgrades
- fewer stale shipped assets after upgrades
- fewer setup/config issues on newer Codex CLI versions
- lower chance of confusing doctor/setup results
4) Patch fixes
Two additional correctness fixes landed in this release:
- OpenClaw template safety: unresolved placeholders in hook instruction templates now fall back safely instead of leaking literal placeholders into instructions (
#581, closes#578). - Keyword detection hardening: explicit multi-skill order is preserved left-to-right, missing keyword aliases were restored, and direct
/prompts:<name>invocations are protected from unintended implicit keyword activation (#582).
Related PRs and issues
Merged PRs in this release
- #584 — fix(setup): canonicalize
configure-notificationsskill - #583 — feat: use
DEFAULT_FRONTIER_MODELfor default model fallback - #582 — fix(keyword): explicit multi-skill order +
/promptsguard hardening - #581 — fix(openclaw): prevent unresolved placeholder leakage in hook instruction templates
- #580 — fix(setup): skip non-installable skills and cleanup stale shipped dirs
- #579 — feat(team): add Gemini CLI worker support
- #576 — feat(team): add Gemini CLI worker support (
#573) - #575 — fix: setup skips deprecated/merged/alias catalog skills
- #572 — fix(setup): skip
[tui]section for Codex >=0.107.0 - #571 — docs: improve OpenClaw gateway configuration examples
Related issues tagged in this release
- #564 — setup/config breakage caused by deprecated
[tui]generation on newer Codex CLI versions - #573 — feat(team): add Gemini CLI worker support to OMX team mode
- #574 — setup should skip non-installable catalog skills and clean stale shipped dirs
- #578 — unresolved placeholder leakage in OpenClaw hook instruction templates
Scope and commit window
Release scope was prepared from non-merge commits in:
v0.8.1..main
Snapshot at preparation time:
- 15 non-merge commits (
2026-03-05to2026-03-06) - 70 files changed (
+2,300 / -243)
Verification summary
Release verification evidence is recorded in docs/qa/release-readiness-0.8.2.md.
Release gates for the final main release candidate:
npm run buildnpm testnpm run check:no-unused- CLI smoke checks (
--help,version,status,doctor,setup --dry-run,cancel)
Thanks for using oh-my-codex. If anything regresses, please open an issue with reproduction steps, logs, and your CLI/runtime details.
- Migrate from legacy `team_*` MCP workflows to `omx team api ...` for consistent behavior.
- Prefer the new unified flow `omx configure-notifications` when setting up notifications.
- CLI‑first interop for `omx team api ...`, deprecating legacy `team_*` MCP tools
- Unified notification setup workflow via `configure-notifications`
- Configurable OpenClaw command timeout with bounded safety limits
Full changelog
oh-my-codex v0.8.1
Released: 2026-03-05
This is a stability + usability release focused on team orchestration reliability, notification setup simplicity, and safer OpenClaw operations.
TL;DR
If you use $team/omx team heavily, this release makes the runtime more consistent by standardizing around CLI-first interop.
If you are setting up notifications, onboarding is now cleaner through a unified configure-notifications flow.
If you use OpenClaw integrations, timeout handling now has safe configurable bounds.
What changed
1) Team runtime: CLI-first interop is now the default direction
- Added and finalized team API interop through:
omx team api ...
- Legacy
team_*MCP tools are now treated as deprecated paths in favor of the CLI-first contract.
Why this matters:
- More predictable behavior across team orchestration flows
- Cleaner compatibility surface for worker/leader interactions
- Better long-term maintainability around team runtime contracts
2) Notifications: setup is now unified
- Notification setup guidance has been refactored into a single workflow:
configure-notifications
Why this matters:
- Fewer fragmented setup paths
- Easier onboarding for new users
- Lower chance of config drift between notification providers
3) OpenClaw safety + operability improvements
- OpenClaw command timeout is now configurable with bounded safety limits.
- Documentation was expanded with stronger token/command safety guidance and a practical dev runbook.
Why this matters:
- Safer operation in automation-heavy environments
- Better operational clarity for development and incident follow-up
Compatibility / migration notes
- If you previously relied on legacy
team_*MCP workflows, migrate to:omx team api <operation> ...
- For notification setup, prefer:
omx configure-notifications(or skill equivalent)
No breaking package-level API changes were introduced in this patch release.
Verification summary
All release gates passed before publish:
- ✅
npm run build - ✅
npm test(1908pass /0fail) - ✅
npm run check:no-unused - ✅ CLI smoke checks (
--help,version,status,doctor,setup --dry-run,cancel)
Scope and commit window
Release scope was prepared from non-merge commits in:
4141fd6..HEAD
Snapshot at preparation time:
- 11 non-merge commits (2026-03-04 to 2026-03-05)
- 51 files changed (
+5,454 / -2,420)
Key commits included:
6a318b2feat(team): add CLI interop API and hard-deprecate team_* MCP toolsc0c5d82feat(team): finalize CLI-first team interop and dispatch reliability2d3b14frefactor: notifications setup into unified configure-notifications flow0ccea70fix(openclaw): make command timeout configurable with safe bounds
Thanks for using oh-my-codex. If anything regresses, please open an issue with repro steps and logs.
- Shell‑safety hardening addressing multiple reported issues (GHSA references omitted as not provided)
- Added canonical `omx ask` command for local advisors
- --agent-prompt support for provider advisors
- Ouroboros‑inspired deep interview workflow with ambiguity gating
Full changelog
v0.8.0 (2026-03-04)
Release range: v0.7.6...v0.8.0
Highlights (from git history)
- Added canonical advisor command
omx ask <claude|gemini>viafeat(cli): add canonical omx ask command for local advisors(ab528d5). - Added
--agent-promptsupport for provider advisors viafeat(ask): add --agent-prompt injection for provider advisors(d9c1364). - Added Ouroboros-inspired deep interview workflow via
feat(deep-interview): add ouroboros-inspired ambiguity-gated interview flow(0839c82), with reference to Q00/ouroboros. - Added pre-context intake enforcement across execution/planning flows (
a85fa1c,d464e2c,14ed927). - Added visual loop skill support via
feat(omx): add visual-verdict feedback loop for visual ralph iterations(6fd5471) and expanded contract/docs in subsequent fixes. - Added URL-driven website cloning skill via
feat(omx): add $web-clone skill for URL-driven website cloning(02a3038). - Added built-in advisor skills via
feat(skills): add built-in ask-claude and ask-gemini support(a97716f).
Notable fixes and hardening (from git history)
- Security and shell-safety hardening (
2be4906,40b55f7) with related issues #492, #494, #488, #493, #495, #496, #508, #523. - Concurrency/perf/quality sweeps and state refactors (
10863e1,5a3ffe5,c3271df,2ae82bc). - Team/state lifecycle fixes including claim safety and ENOENT handling (
ffc990a,4316607,cfbc5a2,cc38d13). - Worktree fallback fix via
fix(worktree): gracefully reuse existing launch worktree path(c693780). - OpenClaw verification/setup hardening via
fix(openclaw): strengthen setup + delivery verification workflow(f80dfad).
CI / quality gates (from git history)
Merged PRs in this release
#466, #467, #468, #469, #470, #471, #472, #473, #474, #480, #481, #482, #483, #485, #541, #542, #546, #547, #548, #549, #551, #552, #553, #554.
Issues referenced in commit messages
#403, #449, #454, #456, #458, #459, #461, #462, #463, #464, #465, #488, #492, #493, #494, #495, #496, #498, #502, #505, #506, #507, #508, #509, #510, #512, #513, #514, #516, #518, #519, #521, #522, #523.
Contributors (from commit authors in v0.7.6...v0.8.0)
- @Yeachan-Heo
- @junhoyeo
- @HaD0Yun
- @Bellman
- Added per-worker role routing and task decomposition
- Introduced dedicated ralph auto-run cleanup policy
Full changelog
Release Notes - 0.7.6
Status: Prepared on 2026-03-02.
Current package version: 0.7.6.
Scope policy
This release note is based strictly on:
git log --no-merges main..devgit diff --shortstat main...dev
Sections
Highlights
- Team reliability hardening across tmux/session targeting, cleanup flows, and role-based decomposition.
- MCP team runtime extraction and improved CI gate visibility.
- OpenClaw and notify-hook reliability/documentation updates.
Added
feat(team): add dedicated ralph auto-run cleanup policy(#407, #412)feat(team): add dedicated tmux session mode for worker isolation(#416)feat(team): add per-worker role routing and task decomposition
Changed
docs: OpenClaw integration guide for notifications(#413)ci: add CI Status gate job for branch protection(#423)refactor(mcp): extract omx_run_team_* to dedicated team-server.ts(#431)docs(changelog): update unreleased notes for main...dev
Fixed
- OpenClaw native gateway notification path.
- Tmux startup/injection/session-targeting regressions.
- Team cleanup, scale-up layout preservation, and shutdown/resume regressions.
- Ralph CLI task parsing option-value leakage.
- Skills canonical OMX path normalization.
Reverts
- Revert for opt-in dedicated tmux-session hint change (#432) followed by corrected fix.
- Revert for visual-verdict guidance restoration change followed by path normalization fix.
Verification for release readiness
- [x]
npm run buildpasses - [x]
npm testpasses - [x]
npm run check:no-unusedpasses - [x] smoke checks from
DEMO.mdpass (or are documented if environment-limited)
Smoke verification evidence (2026-03-02)
| Command | Exit | Evidence |
|---|---:|---|
| npm run build | 0 | build completed |
| npm test | 0 | test pipeline completed |
| npm run check:no-unused | 0 | tsc -p tsconfig.no-unused.json succeeded |
| node bin/omx.js --help | 0 | CLI usage rendered |
| node bin/omx.js doctor | 0 | Results: 9 passed, 0 warnings, 0 failed |
| node bin/omx.js version | 0 | oh-my-codex v0.7.6 |
| node bin/omx.js status | 0 | mode status rendered |
| node bin/omx.js setup --dry-run | 0 | dry-run setup completed |
| node bin/omx.js cancel | 0 | cancel command completed |
Commit ledger (from main..dev, git log --reverse order)
2026-02-28 c235a5a feat(team): add dedicated ralph auto-run cleanup policy (#407) (#412)2026-02-28 8d3fef0 fix(notifications): native OpenClaw gateway support (#414) (#415)2026-03-01 1653aa7 feat(team): add dedicated tmux session mode for worker isolation (#416)2026-03-01 0c68a02 docs: OpenClaw integration guide for notifications (#413)2026-03-01 383d79d fix(tmux): source shell profile (.zshrc/.bashrc) for detached session launch2026-03-01 d4f6803 fix(team): revert dedicated tmux session mode, restore split-pane default2026-03-01 56091a4 ci: add CI Status gate job for branch protection (#423)2026-03-01 576ec9c fix(ralph): exclude option values from CLI task description (#424)2026-03-01 6eed3c6 fix(notify-hook): add structured logging for visual-verdict parse/persist failures (#428)2026-03-01 b5dc657 fix(team): fix 3 regressions in team/ralph shutdown and resume paths (#430)2026-03-01 3f6b3fd refactor(mcp): extract omx_run_team_* to dedicated team-server.ts (#431)2026-03-02 c3d1220 fix(team): switch dedicated tmux session to opt-in with worker location hint (#432)2026-03-01 ee72e1f Revert "fix(team): switch dedicated tmux session to opt-in with worker location hint (#432)"2026-03-02 454e69d fix(team): force cleanup on failed/cancelled runs, await worktree rollback, refresh dead-worker panes (#438)2026-03-02 c8632fa fix(team): fix leader pane targeting in notify-hook dispatch and runtime fallback (#433, #437) (#439)2026-03-01 587ec94 fix(team): harden autoscaling pane cleanup and teardown2026-03-02 12dea24 fix(team): preserve layout during scale-up and add regression test2026-03-02 f5d47f4 fix(tmux): skip injection when pane returns to shell (#441) (#442)2026-03-02 7413fe3 feat(team): add per-worker role routing and task decomposition2026-03-02 cc64635 fix(tmux): target correct session when spawning team panes2026-03-02 d33ecfc fix(team): remove unused symbols flagged in PR review2026-03-02 f0cc833 fix(tmux): restore injection when scoped mode state is missing2026-03-02 baeb8e7 fix(skills): restore visual-verdict contract and ralph visual-loop guidance2026-03-02 a5f2b77 Revert "fix(skills): restore visual-verdict contract and ralph visual-loop guidance"2026-03-02 6c1c4eb docs(changelog): update unreleased notes for main...dev2026-03-02 e0c5974 fix(skills): normalize forked OMC references to OMX canonical paths
Fixed idle detection and dispatch injection broken in v0.7.4.
Full changelog
Fixes
tmux: Restore idle detection and dispatch injection (#410)
The 0.7.4 dedup changes inadvertently broke idle detection and dispatch injection. This hotfix restores both:
- Restored idle detection — Worker panes correctly detect idle state again after prompt completion
- Restored dispatch injection — Pending tasks are properly dispatched to idle workers
- Updated fallback watcher test — Dual-capture verification for more robust test coverage
Install / Upgrade
npm install -g [email protected]
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.7.4...v0.7.5
Fixed double-injection of retry prompts and inconsistent Enter handling in tmux.
Full changelog
Fixes
tmux: Deduplicate retry injection and normalize submit semantics (#406)
- Deduped retry injection — Prevents double-injection of retry prompts when tmux panes receive overlapping signals
- Normalized C-m submit — Consistent
C-m(Enter) handling across all tmux send paths, fixing edge cases where prompts were submitted twice or not at all
Install / Upgrade
npm install -g [email protected]
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.7.3...v0.7.4
- Deprecated modes `ultrapilot`, `pipeline`, and `ecomode` are marked for removal
- Removed unused `DEPRECATED_MODE_MAP` from state-server; no action required
- Configurable pipeline orchestrator supporting stage-based execution (ralph-verify, ralplan, team-exec)
- New `omx uninstall` command with options: --dry-run, --keep-config, --purge, --scope
Full changelog
oh-my-codex v0.7.3 (2026-02-28)
This release focuses on pipeline orchestration, uninstall tooling, team dispatch hardening, and setup/config reliability.
Added
- Configurable pipeline orchestrator with stage-based execution (
ralph-verify,ralplan,team-exec). - New
omx uninstallcommand with--dry-run,--keep-config,--purge, and--scopeoptions. - Openclaw dispatcher now forwards originating channel context to webhook hooks.
Fixed
- CLI subcommand
--helpnow displays help text instead of executing commands. - Team idle/dispatch detection parity between Claude and Codex workers.
- Team dispatch lock timeout and binary path mismatch handling.
- Team dispatch retries on Codex trust prompt.
- Team dispatch draft-consumption verification before marking notified.
- Config generator idempotency (prevents duplicate OMX blocks on repeated setup).
- Team operator docs now clarify Claude-pane Enter (
C-m) queueing behavior and provide state-first + safe manual intervention guidance.
Changed
- Deprecated
ultrapilot,pipeline, andecomodemodes. - Removed unused
DEPRECATED_MODE_MAPfrom state-server. - Updated pipeline test state file paths and regenerated catalog.
- README links improved for CLI reference, notifications, and workflows.
Full changelog: https://github.com/Yeachan-Heo/oh-my-codex/blob/main/CHANGELOG.md
Fixed parsing of the `--force` flag for team shutdown and added an audit event.
Full changelog
oh-my-codex v0.7.2
Hotfix: team shutdown --force flag was not being parsed from CLI arguments.
Fixed
- Team shutdown
--forceflag now correctly parsed from CLI args instead of being hardcoded tofalse(src/cli/team.ts) - Added
shutdown_gate_forcedaudit event when force-bypass is used, closing an observability gap in the event log
Changed
- Updated usage string to document
[--force]option:omx team shutdown <team-name> [--force] - Added
shutdown_gate_forcedtoTeamEventTypeunion andTEAM_EVENT_TYPESconstant
Root Cause
src/cli/team.ts:174 hardcoded { force: false }, so omx team shutdown <name> --force never actually bypassed the shutdown gate.
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.7.1...v0.7.2
- Team dispatch rewritten to be state-first and hook-preferred
Full changelog
oh-my-codex v0.7.1
Team dispatch reliability improvements — state-first routing with hook-preferred fallback.
Changed
- Team dispatch rewritten to be state-first and hook-preferred, improving reliability when leader pane targeting varies (#379)
- Leader mailbox delivery uses hook-preferred dispatch path for consistent message routing (#378)
Fixed
- Leader fallback parity guarded to only target real pane destinations, preventing dispatch to stale or missing panes (#379)
- Hook dispatch reliability paths hardened with additional error guards and fallback sequencing (#378)
Commits
760735efeat(team): make dispatch state-first and hook-preferred4f9cff1fix(team): use hook-preferred dispatch for leader mailboxa70e299fix(team): harden hook dispatch reliability paths1f0bb09fix(team): guard leader fallback parity to real pane targets
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.7.0...v0.7.1
- MCP `workingDirectory` hardened with validation and allowlist policy (#289)
- HUD dynamic text sanitized to prevent terminal escape injection (#271)
- Path traversal prevention added for state and team tool calls
- Dynamic team worker scaling with manual `scale_up` / `scale_down` mid-session
- RALPLAN-DR structured deliberation loop for consensus planning
- Full notification engine overhaul including template engine and hook-config types
Full changelog
v0.7.0 — Major feature additions, comprehensive audit fixes, and hardened reliability
153 files changed, +12,852 / -1,044 lines.
Highlights
Team & Scaling
- Dynamic team worker scaling — Phase 1 manual
scale_up/scale_downmid-session (#363) - Per-worker idle notification forwarded to leader pane (#335)
- Prompt-mode worker launch transport for interactive team workflows (#264)
- Worker model defaults resolved from config (#263)
- Worker hard cap raised to 20 (#343)
- MSYS2 / Git Bash tmux worker support (#266)
Planning & Execution
- RALPLAN-DR structured deliberation for consensus planning — planner + architect + critic loop (#366)
- Ralplan-first execution gate: ralph blocks until
prd-*.mdandtest-spec-*.mdexist (#261) - Keyword trigger registry as canonical single source of truth for all 31 triggers
Notifications
- Full notification engine overhaul from OMC 4.5.x (#373): template engine, idle cooldown, hook-config types, session registry
- Slack / Discord / Telegram env-var configuration via
buildConfigFromEnv() - Skill-active lifecycle tracking in notify hook for auto-continuation (#262)
OpenClaw
- OpenClaw gateway integration for waking external automations and AI agents on hook events
CLI & Setup
- Setup simplified from 3 scopes to 2 (user, project) (#245)
- Setup
--forceoverwrite controls for agents and skills (#275) - Repo name included in tmux session name for worktree launches (#362)
Security
- MCP
workingDirectoryhardened with validation and allowlist policy (#289) - HUD dynamic text sanitized to prevent terminal escape injection (#271)
- Path traversal prevention for state and team tool calls
Reliability
- State writes are atomic and serialized via file locking (#354)
- Ralph lifecycle invariants and contract validation enforced (#355, #353)
- Team shutdown gated on unresolved tasks (#320, #322)
- Deterministic prompt worker teardown (#349)
- Exclusive lock checks fail on malformed state (#357)
- Max-iteration termination enforced in notify hook (#345)
- PID-reuse false positives in session stale detection fixed (#338)
Tests
- 1,472 tests across 308 suites — all passing
- 20+ new test suites added
See CHANGELOG.md for the full list.
npm install -g [email protected]
- Regression coverage for Claude worker launch arg translation on CLI override/plan path
Full changelog
Highlights
- Fixes Claude teammates in
omx teamto launch with--dangerously-skip-permissions, preventing interactive permission prompts during team runs. - Adds regression coverage for Claude worker launch arg translation on the CLI override/plan path.
Verification
npm test✅ (1032tests passed,0failed)npm publish --access public✅ ([email protected])
- Client-attached HUD reconcile hook for detached-launch initial pane layout reconciliation
Full changelog
v0.6.3 — Tmux Pane Organization Fixes
Added
- Client-attached HUD reconcile hook for detached-launch initial pane layout reconciliation.
Fixed
- Hardened detached session resize hook flow to prevent race conditions when tmux windows drift.
- Hardened HUD/team resize reconciliation for consistent pane organization across attach/detach cycles.
- Reduced HUD delayed reconcile fallback from 10s to 2s for faster layout correction.
- Client-attached hook is now tracked and properly unregistered during rollback.
Tests
- Added tmux session and CLI sequencing tests for resize/reconcile paths.
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.6.2...v0.6.3
Fixed team worker launch to use plain `claude` without injected args, preserving local settings.json.
Full changelog
0.6.2 (2026-02-24)
Fixed
- Team Claude worker launch now uses plain
claudewith no injected launch args, so localsettings.jsonremains authoritative. - Team startup resolution logging is now Claude-aware: Claude paths report
model=claude source=local-settingsand omitthinking_level.
Changed
- Clarified Team worker CLI behavior docs in README and
skills/team/SKILL.mdto reflect plain-Claude launch semantics. - Added regression coverage to preserve Codex reasoning behavior while enforcing Claude no-args launch behavior.
Minor fixes and improvements.
Full changelog
What's Changed
- docs: add 0.6.0 website section and Claude teammate guidance by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/218
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.6.0...v0.6.1
- `OMX_TEAM_WORKER_CLI_MAP` parsing now rejects empty entries and reports map‑specific validation errors
- `OMX_TEAM_WORKER_CLI_MAP=auto` no longer inherits unexpected `OMX_TEAM_WORKER_CLI` overrides
- Mixed team worker CLI routing via `OMX_TEAM_WORKER_CLI_MAP` for simultaneous Codex and Claude workers
- Leader‑side all‑workers‑idle nudge fallback for Claude teams to ensure leader notifications fire
- Adaptive trigger submit retry guard helper added
Full changelog
Added
- Mixed team worker CLI routing via
OMX_TEAM_WORKER_CLI_MAPso a single$teamrun can launch Codex and Claude workers together (e.g.codex,codex,claude,claude). - Leader-side all-workers-idle nudge fallback for Claude teams, so leader notifications still fire even when worker-side Codex hooks are unavailable.
- Adaptive trigger submit retry guard helper and tests to reduce false-positive resend escalation.
Changed
- Team trigger fallback now uses a safer ready-prompt + non-active-task gate before adaptive resend.
- Adaptive retry fallback behavior now uses clear-line + resend instead of interrupt escalation in auto mode.
Fixed
- Pre-assigned worker tasks can now be claimed by their assigned owner in
pendingstate, unblocking Codex worker bootstrap claim flow. OMX_TEAM_WORKER_CLI_MAPparsing now rejects empty entries and reports map-specific validation errors.OMX_TEAM_WORKER_CLI_MAP=autonow resolves from launch args/model detection and no longer inheritsOMX_TEAM_WORKER_CLIoverrides unexpectedly.- Team leader nudge targeting now prioritizes
leader_pane_id, improving reliability with mixed/Claude worker setups.
- Run `omx setup` after upgrading to regenerate skills and update AGENTS.md.
- `ralplan` now defaults to non‑interactive mode; use `--interactive` to restore the prompt‑gated flow.
- CVE-2024-XXXXX: Command injection in `capturePaneContent` (GHSA‑xxxx)
- CVE-2024-XXXXX: Command injection via notifier exec string interpolation (GHSA‑xxxx)
- CVE-2024-XXXXX: Stale/reused PID risk in reply-listener (GHSA‑xxxx)
- Native git worktree orchestration for isolated team workers
- `omx ralph` CLI subcommand to start ralph persistence loops directly
Full changelog
oh-my-codex v0.5.1
This patch release delivers a major hardening wave across the team/claim lifecycle, four security fixes, native git worktree orchestration for team workers, the new omx ralph CLI subcommand, and dozens of targeted bug fixes accumulated since v0.5.0.
Highlights
omx ralph CLI Subcommand
Start a ralph persistence loop directly from your terminal:
omx ralph "implement the auth module"
No more manually invoking $ralph inside a running session — the CLI now handles it end-to-end (closes #153).
Native Worktree Orchestration for Team Mode
Team workers now launch in isolated git worktrees with canonical state-root metadata. Each worker operates in its own worktree, preventing file-level conflicts between parallel agents. The leader and all workers share a consistent view of team state via cross-worktree state resolution in MCP tools and the notify hook.
Security Hardening (4 CVEs mitigated)
- Command injection in
capturePaneContent(closes #156) - Command injection in notifier via exec string interpolation (closes #157)
- Stale/reused PID risk in reply-listener (closes #158)
- Path traversal in MCP state/team tool identifiers (closes #159)
Team/Claim Lifecycle — 15 fixes
The task claim protocol is now substantially hardened: ghost workers rejected, lease expiry enforced, terminal regressions blocked, duplicate events eliminated, and lifecycle field mutations gated behind claim tokens.
What's Changed
Added
- Native worktree orchestration for team mode — Workers launch in git worktrees with canonical state-root metadata for true parallel isolation.
- Cross-worktree team state resolution — MCP state tools and notify hook resolve team state across worktrees.
omx ralphCLI subcommand —omx ralph "<task>"starts ralph from the command line (closes #153).- Scoped ralph state with canonical persistence migration — Session-scoped state with automatic migration from legacy flat paths.
- Claim-safe team transition MCP tool —
team_transition_taskapplies transitions atomically with claim-token verification. - Clean tmux pane output before notifications — ANSI escapes and tmux artifacts stripped before sending.
- Startup codebase map injection hook — Lightweight file-tree snapshot injected at session start (closes #136).
Changed
notify-hook.jsrefactored into layered sub-modules — Split into event routing, tmux integration, and notification dispatch modules (closes #177).ralplandefaults to non-interactive mode — Pass--interactiveto restore prompt-gated flow (closes #144).- Removed
/researchskill — Use$scientistor$external-contextinstead (closes #148).
Fixed
Security
- Command injection in
capturePaneContent→ safe arg arrays (closes #156) - Command injection in notifier →
execFile+ args (closes #157) - Stale PID risk in reply-listener → process identity verification (closes #158)
- Path traversal in MCP identifiers → input normalization (closes #159)
- Untracked files excluded from codebase map to prevent leakage
Team / Claim Lifecycle
- Claim lease expiry enforced in transition/release flows (closes #176)
- Duplicate
task_completedevents eliminated (closes #161) claimTaskreturnstask_not_foundfor missing tasks (closes #167)- Claims on completed/failed tasks rejected upfront (closes #160)
- Ghost worker IDs rejected in
claimTask(closes #179) - Terminal → non-terminal status regressions blocked
- In-progress claim takeover prevented when
expected_versionomitted (closes #173) releaseTaskClaimno longer reopens terminal tasks (closes #174)task_failedemitted instead ofworker_stoppedon failure (closes #171)team_update_taskrejects lifecycle mutations without claim token (closes #172)updateTaskpayload validation added (closes #163)team_leader_nudgeadded toteam_append_eventschema enum (closes #175)- Canonical session names in
getTeamTmuxSessions(closes #170)
Worktree / CLI
--worktree <name>space-separated form consumed correctly (closes #203)- Orphan
--modelflag dropped from worker argv (closes #162) spawnSyncsleep →Atomics.waitfor reliability (closes #164)
Hooks / tmux
- Copy-mode scroll and clipboard copy in
xhigh/madmaxsessions (closes #206) - Thin orchestrator restored in
notify-hook.js(closes #205)
Dependencies
ajvpinned to>=8.18.0,honoto>=4.11.10via npm overrides
Performance
listTasksfile reads parallelized withPromise.all(closes #168)
Install / Upgrade
npm install -g [email protected]
omx setup # re-run to update skills and AGENTS.md
Full diff: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.5.0...v0.5.1
- Migration guidance is available in `docs/migration-mainline-post-v0.4.4.md` to address the removed prompts and skills.
- Prompts `deep-executor` and `scientist` have been removed.
- Skills `deepinit`, `learn-about-omx`, `learner`, `pipeline`, `project-session-manager`, `psm`, `release`, `ultrapilot`, and `writer-memory` have been removed.
- Added scope‑aware `omx setup` install modes: `user`, `project-local`, `project`.
- Added spark worker routing via `--spark` / `--madmax-spark` flags.
- Added notifier verbosity levels for CCNotifier output control.
Full changelog
Highlights
- Consolidated prompt/skill catalog and hardened team runtime contracts.
- Added scope-aware
omx setupinstall modes (user,project-local,project). - Added spark worker routing via
--spark/--madmax-spark. - Added notifier verbosity levels for CCNotifier output control.
- Hardened tmux runtime behavior and pane capture input handling.
Removed (deprecated surfaces)
- Prompts:
deep-executor,scientist - Skills:
deepinit,learn-about-omx,learner,pipeline,project-session-manager,psm,release,ultrapilot,writer-memory
Migration
See: docs/migration-mainline-post-v0.4.4.md
Verification
npm test -- --runInBandpassed (802/802)
- Removed deprecated config flag `collab = true`; use `multi_agent = true` instead.
- Added code-simplifier stop hook for opt-in auto‑refactoring after each session.
- Introduced native Codex multi‑agent agent roles with `[agents.]` registration in config.toml
Full changelog
What's New in v0.4.4
- feat: code-simplifier stop hook — opt-in auto-refactoring after each session (#119)
- feat: native Codex multi-agent agent roles — OMX agents registered as
[agents.<name>]in config.toml (#120) - fix: team mode message spam — deduplicated teammate notifications (#116)
- fix: deprecated collab flag — removed
collab = true, replaced withmulti_agent = true(#123) - fix: tmux session name — CCNotifier now reports correct session name
Version
0.4.3 → 0.4.4
- Interactive update check on launch prompts for newer npm version and GitHub star request when gh CLI is present
Full changelog
✨ Features
- feat(startup): interactive update check and GitHub star prompt on launch — Checks for newer npm version on startup and prompts to update. If
ghCLI is installed, prompts once to star the repo on GitHub (#105)
🐛 Bug Fixes
- fix(tmux): isolate Enter/C-m into dedicated send-keys call — Prevents accidental Shift+Enter injection in tmux panes by always sending Enter/C-m in a separate, isolated send-keys call (#107)
- fix(team): guard leader and HUD panes from worker cleanup — Leader pane and HUD pane are now explicitly excluded from worker teardown to prevent intermittent self-cleanup (#109)
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.4.2...v0.4.3
- Broader auto‑nudge stall detection patterns with a focused last‑lines hot zone
- Worker‑idle aggregation notifications (with cooldown and event logging)
- Automatic tmux mouse scrolling for team sessions (opt‑out via OMX_TEAM_MOUSE=0)
Full changelog
[0.4.2] - 2026-02-18
Added
- Added broader auto-nudge stall detection patterns (for example: "next I can", "say go", and "keep driving") with a focused last-lines hot zone.
- Added worker-idle aggregation notifications so team leaders are alerted when all workers are idle/done (with cooldown and event logging).
- Added automatic tmux mouse scrolling for team sessions (opt-out via
OMX_TEAM_MOUSE=0).
Fixed
- Fixed worker message submission reliability by adding settle/delay timing before and during submit key rounds.
- Fixed CLI exit behavior by awaiting
main(...)inbin/omx.jsso/exitterminates cleanly. - Replaced deprecated
collabfeature references withmulti_agentacross generator logic, docs, and tests.
Tests
- Added coverage for
all workers idlenotify-hook behavior and expanded auto-nudge pattern tests. - Added new unit suites for hook extensibility runtime, HUD rendering/types/colors, verifier, and utility helpers.
- Added tests for tmux mouse-mode enablement behavior.
- Auto‑nudge hook detects "If you want" stall patterns and sends configurable "yes, proceed" response via .omx-config.json
- Hook extensibility added for runtime, CLI, and example‑event tests
Full changelog
What's New in v0.4.1
Bug Fixes
- tmux send-keys standardization — All
Enterreplaced withC-m(carriage return) for reliable Codex prompt submission (#59, #64) - Auto-nudge double C-m — Send
C-mtwice with 100ms delay (#69) - Team leader nudge — Added
-lflag for literal text + doubleC-m(#71) - SDK sendToPane — Replaced
Enterfallback with doubleC-m(#71) [OMX_TMUX_INJECT]suffix — All hook tmux injections now include marker for prompt disambiguation (#73)
New Features
- Auto-nudge hook — Detects Codex "If you want" stall patterns and auto-sends "yes, proceed". Configurable via
.omx-config.json(#66) - Hook extensibility — Runtime, CLI, and example-event tests (#60)
Configuration
{
"autoNudge": {
"enabled": true,
"patterns": ["if you want", "would you like", "shall i", ...],
"response": "yes, proceed",
"delaySec": 3
}
}
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.3.10...v0.4.1
- Hook extensibility runtime with CLI integration (`omx hooks`)
- Example-event test coverage for hook extensions
Full changelog
Added
- Hook extensibility runtime with CLI integration (
omx hooks). - Example-event test coverage for hook extensions.
Fixed
- Standardized tmux
send-keyssubmission toC-macross the codebase.
Docs
- README updated with v0.4.0 highlights and quick hook test command.
- Session lifecycle notifications (session-start, session-end, session-idle) via Discord/Telegram
- GitHub Actions CI pipeline for typechecking, testing, and building
- Team leader nudge using tmux send-keys when leader is stale
Full changelog
What's New in v0.3.10
New Features
- Configurable model selection — Set per-mode model overrides via
.omx-config.json(modelssection). Default:gpt-5.3-codex(#51) - Session lifecycle notifications —
session-start,session-end,session-idleevents fire Discord/Telegram notifications (#49) - GitHub Actions CI — Typecheck, test, and build pipeline for PRs and pushes (#54)
- Team leader nudge — When worker panes are active and leader is stale, a nudge is injected via
tmux send-keys(#53) - Team shutdown_ack events — Worker ack receipts are now recorded in the team event log (#53)
Bug Fixes
- tmux send-keys standardization — All
Enterreplaced withC-m(carriage return) for reliable codex input (#59) - Improved tmux detection — Better tmux session detection and reply-thread injection feedback (#48)
Config Example
{
"models": {
"team": "gpt-4.1",
"default": "o4-mini"
}
}
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.3.9...v0.3.10
- Removed the `/oh-my-codex:start-work` slash command
- Restored preservation of `OMX_MODEL_INSTRUCTIONS_FILE` during rollback/shutdown
Full changelog
v0.3.9 (2026-02-15)
Changed
- Updated planner handoff guidance to use actionable
$ralph/$teamcommands instead of the removed/oh-my-codex:start-workcommand. - Updated team skill docs to describe team-scoped
worker-agents.mdcomposition (no projectAGENTS.mdmutation).
Fixed
- Preserved and restored pre-existing
OMX_MODEL_INSTRUCTIONS_FILEvalues during team start rollback/shutdown to avoid clobbering leader config.
Included fixes
- #39: Remove invalid /oh-my-codex:start-work references
- #40: Stop mutating project AGENTS.md in team worker overlay flow
Distribution
- npm: [email protected]
Fixed omx not launching a tmux session when run outside of tmux.
Full changelog
Fixed
- Fixed
omxnot launching tmux session when run outside of tmux (regression in 0.3.7).
The HUD pane cleanup refactor (d6c1504) accidentally removed the code path that creates a new tmux session with codex + HUD panes whenomxis launched outside of tmux. Now restored with proper fallback to direct launch when tmux is unavailable.
- Added guidance schema documentation for AGENTS surfaces.
- Added stronger overlay safety coverage for worker/runtime AGENTS marker interactions.
- Improved `omx` CLI handling of session-scoped `model_instructions_file`.
Full changelog
Added
- Added guidance schema documentation for AGENTS surfaces in
docs/guidance-schema.md. - Added stronger overlay safety coverage for worker/runtime AGENTS marker interactions.
- Added broader hook and worker bootstrap test coverage for session-scoped behavior.
Changed
- Defaulted low-complexity team workers to
gpt-5.3-codex-spark. - Improved
omxCLI behavior for session-scopedmodel_instructions_filehandling. - Hardened worker bootstrap/orchestrator guidance flow and executor prompt migration.
- Improved HUD pane dedupe and
--helplaunch behavior in tmux workflows.
Fixed
- Fixed noisy git-branch detection behavior in non-git directories for HUD state tests.
- Fixed merge-order risk by integrating overlapping PR branches conservatively into
dev.
- HUD tmux launcher hardened against shell command injection (PR #28)
- Increased default team max workers to 20 for higher parallelization
- Added focused injection-hardening tests for HUD/tmux launch behavior
Full changelog
v0.3.6
Highlights
- 🔒 Hardened HUD tmux launcher against shell command injection by switching to safe argument-based execution and stricter escaping.
- ✅ Added focused injection-hardening tests for HUD/tmux launch behavior.
- ⚙️ Increased OMX default team max workers to 20 to support higher parallelization.
Included changes
fix(hud): harden tmux launcher against shell command injection(PR #28)feat(team): raise default max workers to 20
Co-contributor
- 🙌 Co-contributor for this release: @jaeyeom (author of PR #28)
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.3.5...v0.3.6
Minor fixes and improvements.
Full changelog
What's Changed
- refactor: codex-first prompt/docs overhaul for OMX by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/26
- chore(release): merge dev into main for v0.3.5 by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/27
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.3.4...v0.3.5
- Team worker sessions inherit leader launch flags (`--madmax`, `--dangerously-bypass-approvals-and-sandbox`, reasoning overrides).
- Opt-out control via environment variable `OMX_TEAM_INHERIT_LEADER_FLAGS=0`.
Full changelog
Highlights
- Team worker Codex sessions now inherit leader launch flags by default for:
- bypass approvals/sandbox (
--madmax/--dangerously-bypass-approvals-and-sandbox) - reasoning override (
--high/--xhighvia-c model_reasoning_effort=...)
- bypass approvals/sandbox (
- Added opt-out control with
OMX_TEAM_INHERIT_LEADER_FLAGS=0. - Added regression coverage for team inheritance helpers and worker startup reasoning args.
Verification
npm testpassed (187/187)- Inheritance helper output validated for default and merged cases.
Included changes
- Merge PR #25 into
dev, then promotedevtomain - Release bump to
0.3.4
- Run `omx setup` to regenerate your `config.toml` after updating
Full changelog
Fix: config.toml top-level keys placement
Root cause: TOML bare keys after a [table] header belong to that table. notify, model_reasoning_effort, and developer_instructions were being emitted after [features], so Codex CLI parsed them as feature flags (expected boolean) instead of top-level config keys.
Fix: The generator now splits output into three sections:
- Top-level keys (
notify,model_reasoning_effort,developer_instructions) — before any[table] [features]flags (collab,child_agents_md)[table]sections ([mcp_servers.*],[tui])
Run omx setup to regenerate your config.
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.3.2...v0.3.3
- Removed invalid `developer_instructions` and `model_reasoning_effort` fields from generated `config.toml`
Full changelog
Fix: config.toml parse error
- Removed invalid
developer_instructionsandmodel_reasoning_effortfields from generatedconfig.toml— these aren't valid Codex CLI config keys and caused a startup parse error - Merged notify array format fix from main
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.3.1...v0.3.2
- Add tmux team runtime and local verification fixes
Full changelog
What's Changed
- Improve UX: auto-init state/tmux-hook and fix HUD skill frontmatter by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/12
- feat(team): add tmux team runtime and local verification fixes by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/10
- Release v0.3.1: fix #20 #21 #22 by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/24
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.2.3...v0.3.1
- Added tmux team runtime with local verification fixes
Full changelog
What's Changed
- fix(config): restore array default for notify to match Codex schema by @mpfo0106 in https://github.com/Yeachan-Heo/oh-my-codex/pull/18
- feat(team): add tmux team runtime and local verification fixes by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/10
New Contributors
- @mpfo0106 made their first contribution in https://github.com/Yeachan-Heo/oh-my-codex/pull/18
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.2.4...v0.3.0
- Enable tmux hook by default in generated config
Full changelog
What's Changed
- Enable tmux hook by default in generated config
- Add
.omx/to.gitignore
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.2.2...v0.2.3
- Tmux hook enabled by default in generated config
- Codex hooks now work with recent PR merges (#11, #12)
- Improved setup UX: auto-init state/tmux-hook and fix HUD skill frontmatter
Full changelog
What's Changed
- Codex hooks now working with recent PR merges (#11, #12)
- Improved setup UX: auto-init state/tmux-hook and fix HUD skill frontmatter
- Tmux hook enabled by default in generated config
- State server session-scoped improvements
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.2.3...v0.2.4
- Update any configuration or scripts that referenced legacy session targets for tmux hooks to use the new pane-canonical targeting.
- Switched tmux hook targeting from legacy session targets to pane-canonical behavior.
- Added pane-canonical tmux hook routing tests for heal/fallback behavior.
- Added shared mode runtime context wrapper to capture mode tmux pane metadata.
- Added tmux session name generation in `omx- - - ` format.
Full changelog
Changelog
All notable changes to this project are documented in this file.
[0.2.2] - 2026-02-13
Added
- Added pane-canonical tmux hook routing tests for heal/fallback behavior.
- Added shared mode runtime context wrapper to capture mode tmux pane metadata.
- Added tmux session name generation in
omx-<directory>-<branch>-<sessionid>format.
Changed
- Switched tmux hook targeting to pane-canonical behavior with migration from legacy session targets.
- Improved tmux key injection reliability by sending both
C-mandEntersubmit keys. - Updated
tmux-hookCLI status output to focus on pane tracking with legacy session visibility. - Bumped package version to
0.2.2.
- Added fallback watcher for Codex JSONL logs to ensure notifications fire when tmux send-keys injection misses.
- Added `omx tmux-hook test` command to validate tmux hook injection end‑to‑end.
- Added notify deduping for repeated turn payloads.
Full changelog
What's Changed
- Added a fallback watcher for Codex JSONL logs so notifications still fire when tmux send-keys injection misses.
- Added
omx tmux-hook testto validate tmux hook injection end-to-end. - Added notify deduping for repeated turn payloads.
- Fixed generated notify config to be a TOML string (not an array), improving hook compatibility.
- Added/updated regression tests for fallback watcher, linked team->ralph sync, session-scoped updates, and tmux hook engine.
Merged PRs
- #8 fix(config): write notify as TOML string
- #9 fix(hooks): add notify fallback watcher and tmux hook verification
Verification
npm run buildpassednpm testpassed (57 tests)
Release
- npm:
[email protected](latest)
- Add session‑scoped mode state paths (feat(state))
- Harden team phase transitions and fix loop bounds (feat(team))
- Add `--madmax` alias for codex sandbox bypass (feat(cli))
Full changelog
What's Changed
- feat(hook): sync linked ralph terminal state from team by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/3
- feat(team): harden phase transitions and fix-loop bounds by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/4
- feat(state): add session-scoped mode state paths by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/5
- feat(cli): add --madmax alias for codex sandbox bypass by @Yeachan-Heo in https://github.com/Yeachan-Heo/oh-my-codex/pull/6
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.1.4...v0.2.0
Routine maintenance release for Oh My Codex.
Changelog
Full Changelog: https://github.com/Yeachan-Heo/oh-my-codex/compare/v0.1.4...v0.1.5
Minor fixes and improvements.
Full changelog
v0.1.4
- Fixed npm package bin mapping for omx CLI
- Normalized repository URL metadata in package manifest
- Production‑grade tmux hook injection workaround with safeguards
- tmux-hook CLI commands (init, status, validate)
- Launch-time update check with user confirmation
Full changelog
v0.1.3
- Added production-grade tmux hook injection workaround with safeguards
- Added tmux-hook CLI commands (init, status, validate)
- Added launch-time update check with user confirmation
- Added top-level omx --yolo support
- Documentation and coverage updates