deepseek-ai/deepseek-harness · error
hooks-codex: ${point} hook emitted a systemMessage, which is
Error message
hooks-codex: ${point} hook emitted a systemMessage, which is not yet surfaced (ignored) What it means
Error "hooks-codex: ${point} hook emitted a systemMessage, which is not yet surfaced (ignored)" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/hooks/hooks-codex/src/index.ts:162
...workdir !== undefined ? { cwd: workdir } : {},
signal: opts.signal,
trailingNewline: false, // Codex writes stdin without a trailing newline.
// Discard a `hookSpecificOutput` block naming a different event.
expectedEventName: point,
}, () => performance.now())
// Clean plain stdout becomes context only when no structured context
// exists; nonzero output and raw JSON never leak as prose.
if (opts.plainStdoutAsContext === true && output.exitCode === 0
&& output.additionalContext === undefined
&& output.stdout.length > 0 && !output.stdout.startsWith('{')) {
output.additionalContext = output.stdout
}
outputs.push(output)
// Execution and decision mapping remain in each bridge so dialect
// differences stay explicit at their owning extension point.
/* jscpd:ignore-start */
if (output.systemMessage !== undefined) {
ctx.logger.warn(`hooks-codex: ${point} hook emitted a systemMessage, which is not yet surfaced (ignored)`)
}
if (session && opts.turn !== undefined) {
appendHookResult(session, { turn: opts.turn, point, handlerId, output, stderrSummaryMaxChars, durationMs })
}
}
}
return mergeHookOutputs(outputs)
}
// TODO(hook-continue-false): `merged.stop` is logged but needs a run-level halt mechanism.
function contextFrom(merged: MergedHookOutcome): UserMessage | undefined {
if (merged.additionalContext.length === 0) return undefined
const content: ContentBlock[] = merged.additionalContext.map(text => ({ type: 'text', text }))
return createUserMessage({ content, source: PLUGIN_SOURCE })
}
/** Prepend one context without flattening source fields or other downstream metadata. */View on GitHub (pinned to b150a551b8)
Solutions
- Remove systemMessage from the Codex hook output; it is not surfaced.
When it happens
Trigger: Thrown at packages/hooks/hooks-codex/src/index.ts:162 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/401b38f4b79c6e04.
Report an issue: GitHub.