From 8d45b92eba9579bd08d4eaf8a9512f17d993f3d2 Mon Sep 17 00:00:00 2001 From: Michael Grundberg Date: Tue, 22 Sep 2026 17:35:56 +0200 Subject: [PATCH] docs(codex): record that a sub-agent leaves no row to read MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Measured on the same beta, codex-cli 0.154.0: a sub-agent started without waiting outlives the turn exactly as a background terminal does — the sandboxed process was still running — and codex shows nothing for it. The last rows of the pane are the composer and the status line, and `Sub-agents running` belongs to the on-demand `/subagents` panel rather than to the row above the composer. So there is no second codex label to add. A codex session waiting on a sub-agent reads as plainly idle, which misfiles nothing (codex raises no idle prompts) and simply leaves that one kind of quiet unexplained until codex pins a row for it. Co-Authored-By: Claude Opus 5 (1M context) --- src/config/cli-registry/stock.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/config/cli-registry/stock.ts b/src/config/cli-registry/stock.ts index fb3cd87c..07c152d0 100644 --- a/src/config/cli-registry/stock.ts +++ b/src/config/cli-registry/stock.ts @@ -550,6 +550,14 @@ const CODEX: CliEntry = { // session ever reaches `notePrompt()`, so there is no idle item to pre-acknowledge // and a forged label costs a wrong badge and nothing else. A CLI that gains hook // signals must not keep a pattern this soft. + // ⚠️ Background TERMINALS are the only background work codex advertises on screen. + // A sub-agent started without waiting outlives the turn just as a terminal does — + // measured 2026-09-22, the sandboxed process was still running — and the pane shows + // nothing at all for it: the last rows are the composer and the status line, and + // `Sub-agents running` lives in the on-demand `/subagents` panel, not above the + // composer. So a codex session waiting on a sub-agent reads as plainly idle here. + // Nothing is misfiled by that (codex raises no idle prompts), and there is no row to + // match until codex pins one. workDetect: { promptGlyph: '›', workingLine: '[Ee]sc to interrupt',