openclaw - 💡(How to fix) Fix Telegram /new sends empty OpenAI/Codex Responses request after reset [1 comments, 2 participants]

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…
GitHub stats
openclaw/openclaw#73712Fetched 2026-04-29 06:16:06
View on GitHub
Comments
1
Participants
2
Timeline
2
Reactions
0
Timeline (top)
closed ×1commented ×1

After updating to OpenClaw 2026.4.26, Telegram direct-chat /new no longer reliably starts a usable fresh session. A bare /new resets/creates the next session transcript, but the follow-up assistant startup/greeting run is sent to the openai-codex Responses provider without any actual input/prompt/conversation id. The provider rejects the call, and the raw provider error is sent back into Telegram.

This makes /new effectively unusable from Telegram when the default model/provider is openai-codex/gpt-5.5.

Error Message

After updating to OpenClaw 2026.4.26, Telegram direct-chat /new no longer reliably starts a usable fresh session. A bare /new resets/creates the next session transcript, but the follow-up assistant startup/greeting run is sent to the openai-codex Responses provider without any actual input/prompt/conversation id. The provider rejects the call, and the raw provider error is sent back into Telegram.

  • That raw error is then sent to Telegram instead of being sanitized. 2026-04-28T17:47:18+00:00 [agent/embedded] embedded run agent end: runId=e27e0843-1b1d-4218-9f7d-b40e52e19d51 isError=true model=gpt-5.5 provider=openai-codex error=One of "input" or "previous_response_id"or 'prompt'or 'conversation_id' must be provided. rawError=One of "input" or "previous_response_id"or 'prompt'or 'conversation_id' must be provided. -> provider error leaked back to Telegram

Root Cause

After updating to OpenClaw 2026.4.26, Telegram direct-chat /new no longer reliably starts a usable fresh session. A bare /new resets/creates the next session transcript, but the follow-up assistant startup/greeting run is sent to the openai-codex Responses provider without any actual input/prompt/conversation id. The provider rejects the call, and the raw provider error is sent back into Telegram.

This makes /new effectively unusable from Telegram when the default model/provider is openai-codex/gpt-5.5.

Code Example

/new

---

One of "input" or "previous_response_id"or 'prompt'or 'conversation_id' must be provided.

---

2026-04-28T17:27:12+00:00 [ws] ⇄ res ✓ sessions.reset 24214ms ...
2026-04-28T17:47:18+00:00 [agent/embedded] embedded run agent end: runId=e27e0843-1b1d-4218-9f7d-b40e52e19d51 isError=true model=gpt-5.5 provider=openai-codex error=One of "input" or "previous_response_id"or 'prompt'or 'conversation_id' must be provided. rawError=One of "input" or "previous_response_id"or 'prompt'or 'conversation_id' must be provided.
2026-04-28T17:47:20+00:00 [telegram] sendMessage ok chat=<redacted> message=<redacted>

---

Telegram /new
  -> auto-reply command handling for /new|/reset
  -> reset hooks / internal command event
  -> gateway session reset (`sessions.reset` / session-reset-service)
  -> fresh transcript with only the session header and no user message
  -> startup/greeting assistant run
  -> openai-codex Responses provider call with empty payload
  -> provider error leaked back to Telegram
RAW_BUFFERClick to expand / collapse

Summary

After updating to OpenClaw 2026.4.26, Telegram direct-chat /new no longer reliably starts a usable fresh session. A bare /new resets/creates the next session transcript, but the follow-up assistant startup/greeting run is sent to the openai-codex Responses provider without any actual input/prompt/conversation id. The provider rejects the call, and the raw provider error is sent back into Telegram.

This makes /new effectively unusable from Telegram when the default model/provider is openai-codex/gpt-5.5.

Environment

  • OpenClaw package: [email protected]
  • Channel: Telegram bot, direct chat
  • Session key observed: agent:main:telegram:direct:<telegram-user-id>
  • Provider/model: openai-codex/gpt-5.5
  • Runtime: gateway service via openclaw-gateway
  • Reproduced immediately after latest update on 2026-04-28 UTC

Steps to reproduce

  1. Configure Telegram channel and use a Telegram direct chat bound to a normal OpenClaw assistant session.

  2. Use openai-codex/gpt-5.5 as the active/default model for that session.

  3. Send a bare Telegram command:

    /new
  4. Observe that OpenClaw performs the reset/session-start path, then attempts an assistant run for the fresh session.

Expected behavior

  • /new should reset/archive the old transcript and create a fresh transcript/session.
  • The new session should either:
    • wait silently for the next user message, or
    • send a friendly startup/greeting using a real synthetic prompt/input that is valid for the selected provider.
  • Raw provider/API errors should not be delivered to Telegram users.

Actual behavior

  • The reset path creates a fresh session/transcript with no user content.

  • The subsequent startup/greeting assistant run reaches openai-codex with an empty request payload: no input, no prompt, no conversation_id, and no previous_response_id.

  • The provider rejects the call with:

    One of "input" or "previous_response_id"or 'prompt'or 'conversation_id' must be provided.
  • That raw error is then sent to Telegram instead of being sanitized.

Representative gateway log lines:

2026-04-28T17:27:12+00:00 [ws] ⇄ res ✓ sessions.reset 24214ms ...
2026-04-28T17:47:18+00:00 [agent/embedded] embedded run agent end: runId=e27e0843-1b1d-4218-9f7d-b40e52e19d51 isError=true model=gpt-5.5 provider=openai-codex error=One of "input" or "previous_response_id"or 'prompt'or 'conversation_id' must be provided. rawError=One of "input" or "previous_response_id"or 'prompt'or 'conversation_id' must be provided.
2026-04-28T17:47:20+00:00 [telegram] sendMessage ok chat=<redacted> message=<redacted>

Likely source / code path

Observed flow:

Telegram /new
  -> auto-reply command handling for /new|/reset
  -> reset hooks / internal command event
  -> gateway session reset (`sessions.reset` / session-reset-service)
  -> fresh transcript with only the session header and no user message
  -> startup/greeting assistant run
  -> openai-codex Responses provider call with empty payload
  -> provider error leaked back to Telegram

Relevant installed build files inspected locally:

  • dist/commands.runtime-BBQOlJl9.js
    • maybeHandleResetCommand() matches /new|/reset and emits reset hooks for non-ACP Telegram sessions, then returns null so normal command/agent flow can continue.
  • dist/session-reset-service-GWn5mWEv.js
    • performGatewaySessionReset() creates the next session entry, writes a fresh transcript header, emits session end/start hooks, and unbinds lifecycle state.

The failure appears to be in the bare /new startup path after reset: the system tries to generate an assistant response for the new empty transcript but does not inject any provider-valid startup prompt/input for openai-codex Responses.

Suggested fixes

  1. Add a guard before provider calls: if the compiled request has no input, prompt, conversation_id, or previous_response_id, do not call the provider.
  2. Ensure bare /new from Telegram either stops after reset with a simple channel confirmation, or injects a real startup prompt as provider input.
  3. Sanitize provider errors before sending channel replies, especially for remote/messaging channels.
  4. Add a regression test for bare Telegram /new with an empty command body using the openai-codex Responses provider.

extent analysis

TL;DR

The most likely fix is to add a guard before provider calls to prevent empty requests and ensure a valid startup prompt is injected for the openai-codex Responses provider.

Guidance

  • Verify that the maybeHandleResetCommand() function in dist/commands.runtime-BBQOlJl9.js is correctly emitting reset hooks and allowing normal command/agent flow to continue.
  • Check the performGatewaySessionReset() function in dist/session-reset-service-GWn5mWEv.js to ensure it creates a fresh transcript header and emits session end/start hooks correctly.
  • Consider adding a regression test for bare Telegram /new with an empty command body using the openai-codex Responses provider to prevent similar issues in the future.
  • Sanitize provider errors before sending channel replies to prevent raw error messages from being sent to users.

Example

No code snippet is provided as the issue is more related to the logic and flow of the application rather than a specific code error.

Notes

The provided information suggests that the issue is specific to the openai-codex Responses provider and the [email protected] package. The suggested fixes are based on the observed flow and code paths provided in the issue.

Recommendation

Apply workaround by adding a guard before provider calls to prevent empty requests and ensure a valid startup prompt is injected for the openai-codex Responses provider. This will prevent raw provider errors from being sent to users and ensure a better user experience.

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…

FAQ

Expected behavior

  • /new should reset/archive the old transcript and create a fresh transcript/session.
  • The new session should either:
    • wait silently for the next user message, or
    • send a friendly startup/greeting using a real synthetic prompt/input that is valid for the selected provider.
  • Raw provider/API errors should not be delivered to Telegram users.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Telegram /new sends empty OpenAI/Codex Responses request after reset [1 comments, 2 participants]