Skip to content

[Bug]: native Codex app-server does not surface app approval/input prompts, and Codex Apps GitHub writes fail as "user rejected MCP tool call" #68784

Description

@kesslerio

TL;DR: in a native Codex app-server session, Codex Apps GitHub reads worked, but GitHub write actions failed almost immediately as user rejected MCP tool call even though no approval/input prompt was shown.

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

In a native Codex app-server session, Codex Apps GitHub reads worked, but GitHub write actions failed almost immediately as user rejected MCP tool call even though no approval/input prompt was shown.

Steps to reproduce

  1. Start a native Codex app-server session through OpenClaw using codex/gpt-5.4.
  2. Use the built-in GitHub app connector for read-only calls. In the observed session, issue/PR reads succeeded.
  3. Trigger a GitHub app write action. In the observed session this was mcp__codex_apps__github._add_issue_labels.
  4. Observe that the write call fails almost immediately with user rejected MCP tool call.
  5. In the same session, run direct gh write commands. In the observed session, later gh issue edit/comment/close writes succeeded.

Expected behavior

If a Codex app connector needs approval or follow-up input for a write, OpenClaw should surface that interaction through its normal approval/input UX instead of failing immediately.

Actual behavior

GitHub app write calls failed in about 50-200ms with user rejected MCP tool call, and no approval or follow-up input prompt was shown. In the same session, later direct gh writes succeeded.

OpenClaw version

2026.4.15 (041266a)

Operating system

NixOS

Install method

local OpenClaw gateway / native Codex app-server path

Model

codex/gpt-5.4

Provider / routing chain

openclaw -> native codex app-server -> codex/gpt-5.4

Additional provider/model setup details

The affected session was a native Codex app-server session, not the older external openclaw-codex-app-server plugin path.

Logs, screenshots, and evidence

Session log:
~/.codex/sessions/2026/04/18/rollout-2026-04-18T14-53-24-019da295-93df-79b2-ad17-acebdb502561.jsonl

Observed in that log:

  • GitHub app write calls _add_issue_labels: lines 398-408
  • Responses user rejected MCP tool call: lines 410-420
  • Retry with same result: lines 424-426
  • Later direct gh write commands: lines 333-345
  • Later verification reads confirming those writes: lines 377-378

Relevant local code paths checked during investigation:

  • extensions/codex/src/app-server/client.ts
  • extensions/codex/src/app-server/run-attempt.ts

Notable behavior from the native fallback in client.ts:

  • item/tool/requestUserInput returns empty answers: {}
  • mcpServer/elicitation/request returns action: "decline"

Impact and severity

Affected: native Codex app-server sessions using Codex Apps connectors, at least the GitHub connector
Severity: medium to high, because connector reads work but connector writes fail
Frequency: observed every time in the affected session for _add_issue_labels
Consequence: Codex Apps GitHub mutations fail even though the session can still read from GitHub and later perform writes through plain gh

Additional information

Related but not the same:

  • #58161 tracks MCP elicitation support in the embedded Pi MCP client
  • #68721 changes the default native app-server approval policy to on-request

This report is about the native Codex app-server path specifically. The observed failure looks like a missing approval/input bridge for app-side follow-up prompts, not a GitHub auth failure and not a general write-permission failure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions