Skip to content

fix(codex): drop SessionStart systemMessage that renders as a yellow warning (#605) - #606

Open
spde wants to merge 1 commit into
DietrichGebert:mainfrom
spde:fix-codex-systemmessage-warning
Open

spde wants to merge 1 commit into
DietrichGebert:mainfrom
spde:fix-codex-systemmessage-warning

Conversation

@spde

@spde spde commented Jul 16, 2026

Copy link
Copy Markdown

Problem

On Codex, every SessionStart shows ponytail's mode as a yellow warning: line that reads like an error (#605):

• SessionStart hook (completed)
  warning: PONYTAIL:FULL
  hook context: PONYTAIL MODE ACTIVE — level: full

This is distinct from #331 / openai/codex#16933 (Codex rendering additionalContext) — this line is ponytail's own systemMessage.

Fix

Drop systemMessage in the isCodex branch of hooks/ponytail-runtime.js. Codex maps a hook systemMessage to a Warning entry, and any Warning entry also de-greens the completed-hook bullet (codex tui/src/history_cell/hook_cell.rs). Removing it:

  • drops the warning: line,
  • greens the completed-hook bullet,
  • keeps every state visible via the hook context: line — level: <mode> when on, PONYTAIL MODE OFF when off (that path passes context too), since Codex renders additionalContext.

So no loss of visibility, only the alarming styling goes. The isCodex branch is now identical to isQoder — glad to dedup them if you'd prefer.

Tests

npm test — updated the codex assertions in tests/hooks.test.js to assert no systemMessage and confirm the mode/off state still surfaces via additionalContext. (The pre-existing tests/correctness.test.js csv failure is unrelated — it fails on clean main here too.)

Fixes #605

…warning

Codex maps a hook systemMessage to a Warning entry and de-greens the
completed-hook bullet, so ponytail's PONYTAIL:<MODE> reads as an error
every session (DietrichGebert#605). Drop it: the mode still surfaces via the
additionalContext "hook context:" line for every state (active level
when on, PONYTAIL MODE OFF when off) and the bullet goes green.
Tests updated.
@AlexAgo83

Copy link
Copy Markdown

Confirming this on Codex CLI 0.147.0 / macOS with Ponytail 4.9.0.

Worth flagging that it isn't warning-only on this Codex version: the
systemMessage surfaces as actual hook failures, so every session opens with

SessionStart hook (failed)
  error: hook exited with code 1

UserPromptSubmit hook (failed)
  error: hook exited with code 1

Applying this patch — dropping the Codex systemMessage while keeping
hookSpecificOutput.additionalContext — clears both events, and Ponytail
still reports its mode through the hook context. Details and the before/after
output are in #605.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Codex: SessionStart systemMessage renders as a yellow warning: (reads like an error every session)

2 participants