Description
With Codex hooks enabled, bb renders every Codex hook/started and hook/completed notification as a separate Unhandled Codex event row. A single thread can accumulate hundreds of these rows, making actual assistant output and errors difficult to find.
Environment
- bb-app:
0.42.1
- Codex CLI:
0.154.0
- OS: macOS
- Provider: Codex
- Codex hooks are configured in
~/.codex/hooks.json
Reproduction
- Enable one or more Codex hooks.
- Run a thread in bb with the Codex provider.
- Observe the thread timeline while hooks run.
In the affected thread, the persisted event log contained 214 hook/started and 214 hook/completed events. They were all stored as provider/unhandled, even though the expanded payloads show normal hook lifecycle notifications and completed hook runs, not failures.
The attached screenshot also shows a warning event with the message:
Skill descriptions were shortened to fit the skills context budget.
Actual behavior
- Each hook lifecycle event appears as
Unhandled Codex event.
- The thread becomes very noisy and meaningful events are hard to find.
- The label suggests an error even when the hook completed successfully.
Expected behavior
- Recognize and suppress routine Codex hook lifecycle events, or render them in a compact, non-error diagnostic area.
- Render the skill-budget warning once as a warning, rather than as an unclassified event row.
- Preserve genuinely unknown provider events as unhandled diagnostics.
Related work
PR #1310, which is closed and unmerged, mentions preventing Codex hook lifecycle events from appearing as misleading unhandled rows. This behavior is still reproducible in bb-app 0.42.1.
Screenshot

Description
With Codex hooks enabled, bb renders every Codex
hook/startedandhook/completednotification as a separateUnhandled Codex eventrow. A single thread can accumulate hundreds of these rows, making actual assistant output and errors difficult to find.Environment
0.42.10.154.0~/.codex/hooks.jsonReproduction
In the affected thread, the persisted event log contained 214
hook/startedand 214hook/completedevents. They were all stored asprovider/unhandled, even though the expanded payloads show normal hook lifecycle notifications and completed hook runs, not failures.The attached screenshot also shows a
warningevent with the message:Actual behavior
Unhandled Codex event.Expected behavior
Related work
PR #1310, which is closed and unmerged, mentions preventing Codex hook lifecycle events from appearing as misleading unhandled rows. This behavior is still reproducible in bb-app
0.42.1.Screenshot