codex - 💡(How to fix) Fix TUI subagent history should render nickname/role instead of raw thread ids [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Subagent tool-call history can show raw thread IDs instead of the human-readable subagent nickname/role, even though the /agents picker already knows the labels.

Error Message

In the transcript history, newly spawned/waited subagents were rendered as UUIDs:

Root Cause

Subagent tool-call history can show raw thread IDs instead of the human-readable subagent nickname/role, even though the /agents picker already knows the labels.

Fix Action

Fixed

Code Example

Spawned 019e641a-860b-7c71-96bb-d4f3a3ba88f1 (gpt-5.5 high)
CODE REVIEW TASK

Spawned 019e641a-a268-7ba2-a9ef-c9ea813676b0 (gpt-5.5 high)
ARCHITECTURE / DEVIL'S-ADVOCATE REVIEW TASK

Waiting for 2 agents
  └ 019e641a-860b-7c71-96bb-d4f3a3ba88f1
    019e641a-a268-7ba2-a9ef-c9ea813676b0

---

6.Hume [code-reviewer]      019e641a-860b-7c71-96bb-d4f3a3ba88f1
7.Hilbert [architect]       019e641a-a268-7ba2-a9ef-c9ea813676b0
RAW_BUFFERClick to expand / collapse

Summary

Subagent tool-call history can show raw thread IDs instead of the human-readable subagent nickname/role, even though the /agents picker already knows the labels.

Observed behavior

In the transcript history, newly spawned/waited subagents were rendered as UUIDs:

• Spawned 019e641a-860b-7c71-96bb-d4f3a3ba88f1 (gpt-5.5 high)
  └ CODE REVIEW TASK

• Spawned 019e641a-a268-7ba2-a9ef-c9ea813676b0 (gpt-5.5 high)
  └ ARCHITECTURE / DEVIL'S-ADVOCATE REVIEW TASK

• Waiting for 2 agents
  └ 019e641a-860b-7c71-96bb-d4f3a3ba88f1
    019e641a-a268-7ba2-a9ef-c9ea813676b0

But the /agents picker showed the same threads with readable labels:

6. • Hume [code-reviewer]      019e641a-860b-7c71-96bb-d4f3a3ba88f1
7. • Hilbert [architect]       019e641a-a268-7ba2-a9ef-c9ea813676b0

Why this is a problem

The raw UUIDs make multi-agent transcripts hard to read and audit. The user-visible history should use the same label contract as the agent picker when nickname/role metadata is available.

Root-cause hypothesis

The lower-level collab events already carry metadata such as new_agent_nickname, new_agent_role, receiver_agents, and agent_statuses, but the app-server ThreadItem::CollabAgentToolCall.agents_states shape does not preserve nickname/role metadata. The TUI then caches a receiver thread with empty metadata before rendering the tool-call history, so agent_label(...) falls back to the raw thread id.

Suggested fix outline

  • Preserve optional agent_nickname / agent_role on CollabAgentState.
  • Populate it from spawn-end, wait-begin, and wait-end collab events.
  • Let the TUI cache/upgrade receiver metadata from metadata-bearing collab notifications before rendering live and replayed history.
  • Keep UUID as fallback only when no metadata exists.

I have a candidate branch/PR ready for discussion with the implementation details and a focused diff.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix TUI subagent history should render nickname/role instead of raw thread ids [1 pull requests]