pingdotgg / pingdotgg/t3code

[Bug]: Codex harness accepts send_user_message_async but the UI drops the messages

Open
#9,222 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
23k
Forks
5.9k
Avg merge
11h 14m
Merged PRs (30d)
357

Description

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/server

Steps to reproduce
  1. Start a Codex thread through T3 Code's harness.
  2. Have the agent call send_user_message_async with a visible test message.
  3. Observe that the tool result reports { "accepted": true }.
  4. Check the T3 Code thread UI for the asynchronous message.
  5. Repeat the call with a second distinct message.
Expected behavior

Messages accepted through send_user_message_async should be delivered to and rendered in the active T3 Code thread. If this event type is unsupported, the harness should reject the call explicitly instead of returning accepted: true.

Actual behavior

Both tool calls returned { "accepted": true }, but neither message appeared in the T3 Code UI. The calls therefore look successful to the agent while the user receives nothing.

Impact

Major degradation or frequent failure

This silently breaks agent progress notifications and any workflow that relies on asynchronous user messages.

Version or commit

Current T3 Code environment as of 2026-09-02; exact commit unavailable.

Environment

macOS, T3 Code, Codex harness, gpt-5.6-sol

Logs or stack traces
send_user_message_async({"message":"This is a test message sent with send_user_message_async."})
=> {"accepted":true}

send_user_message_async({"message":"Here's the second test message from send_user_message_async."})
=> {"accepted":true}
Workaround

Return the message through the normal assistant commentary/final response stream.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in apps/server by tracing the send_user_message_async event from the harness call through server handling and delivery to the active thread UI. Reproduce with two distinct messages and verify that accepted calls render in the thread; if unsupported, verify they are rejected explicitly rather than reported as accepted.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.