Context
Discovered while porting Ei's WHO/MEMORY hooks to Codex (sisyphus/omp-hook-dedup). Verified live against the real codex-cli 0.142.3 binary: Codex requires an explicit trust review before any non-managed command hook runs at all, even with a perfectly-formed hooks.json already in place (developers.openai.com/codex/hooks — "Before a non-managed command hook can run, Codex requires you to review and trust the exact hook definition... new or changed hooks are marked for review and skipped until trusted").
A live codex exec smoke test against Ei's installed hooks confirmed this directly: the hook silently fired nothing until the invocation used --dangerously-bypass-hook-trust. For a real interactive user, the equivalent unblock is running /hooks once inside Codex to review and trust Ei's two hooks.
src/cli/install.ts's installCodexHooks() already prints a console message pointing at this (Use /hooks in Codex to review/trust the hooks if prompted...), but that message only appears if the user runs ei --install from a terminal and reads its output. The TUI's onboarding flow (tui/src/components/OnboardingOverlay.tsx) already detects Codex (detection().codex, line ~401) and offers to enable the integration, but has no equivalent note — unlike Cursor, which already has exactly this kind of harness-specific caveat:
<Show when={detection().cursor}>
<text> </text>
<text fg="#b58900">
{"Cursor: enabling this installs a hook that injects your recent Ei\n" +
"context into Cursor's prompts on every request — which may be sent\n" +
"to Cursor's configured model backend."}
</text>
</Show>
Without an equivalent for Codex, a user who enables the Codex integration during onboarding gets a hook installed that will silently do nothing until they separately discover and run /hooks inside Codex — no error, no warning inside the TUI itself, just an integration that appears enabled but never actually injects anything.
Proposal
Add a <Show when={detection().codex}> block alongside the existing Cursor one (tui/src/components/OnboardingOverlay.tsx, right after line ~419), following the same style, explaining that Codex requires a one-time /hooks review-and-trust step inside Codex itself before the installed hooks will do anything.
Acceptance Criteria
Context
Discovered while porting Ei's WHO/MEMORY hooks to Codex (
sisyphus/omp-hook-dedup). Verified live against the realcodex-cli0.142.3 binary: Codex requires an explicit trust review before any non-managed command hook runs at all, even with a perfectly-formedhooks.jsonalready in place (developers.openai.com/codex/hooks— "Before a non-managed command hook can run, Codex requires you to review and trust the exact hook definition... new or changed hooks are marked for review and skipped until trusted").A live
codex execsmoke test against Ei's installed hooks confirmed this directly: the hook silently fired nothing until the invocation used--dangerously-bypass-hook-trust. For a real interactive user, the equivalent unblock is running/hooksonce inside Codex to review and trust Ei's two hooks.src/cli/install.ts'sinstallCodexHooks()already prints a console message pointing at this (Use /hooks in Codex to review/trust the hooks if prompted...), but that message only appears if the user runsei --installfrom a terminal and reads its output. The TUI's onboarding flow (tui/src/components/OnboardingOverlay.tsx) already detects Codex (detection().codex, line ~401) and offers to enable the integration, but has no equivalent note — unlike Cursor, which already has exactly this kind of harness-specific caveat:Without an equivalent for Codex, a user who enables the Codex integration during onboarding gets a hook installed that will silently do nothing until they separately discover and run
/hooksinside Codex — no error, no warning inside the TUI itself, just an integration that appears enabled but never actually injects anything.Proposal
Add a
<Show when={detection().codex}>block alongside the existing Cursor one (tui/src/components/OnboardingOverlay.tsx, right after line ~419), following the same style, explaining that Codex requires a one-time/hooksreview-and-trust step inside Codex itself before the installed hooks will do anything.Acceptance Criteria
detection().codexis true and the user is offered the integration./hooksinside Codex once to review and trust Ei's hooks, or they will not fire.src/cli/install.ts's existing console message (non-TUI install path) is left as-is — this issue is scoped to the TUI onboarding surface specifically.