Codex Desktop Environment: Commit/Push repeatedly fails at “Generate message”

Open 💬 1 comment Opened Jul 24, 2026 by zhuqunli

Codex app version

26.721.31836 (build 5828)

Platform

macOS 26.5.2 (25F84), Apple Silicon

What issue are you seeing?

In the Codex Desktop Environment/Git panel, clicking Commit or the Commit/Push flow repeatedly fails during Generate message. No commit message is produced and the UI only reports that the operation could not be completed.

The failure is consistent across retries, so the Environment Git UI cannot be used to commit or push the current workspace.

Steps to reproduce

  1. Open an existing local Git repository in Codex Desktop.
  2. Make changes in the workspace.
  3. Open the Environment/Git changes panel.
  4. Click Commit or use the Commit/Push flow.
  5. Wait for the automatic Generate message step.
  6. Observe that message generation fails with a generic “could not complete” error and no commit/push occurs.

Expected behavior

  • Codex should generate a commit message and continue with the requested Git action.
  • If Git permissions, staged state, diff size, remote type, or another prerequisite blocks the action, the UI should show the exact actionable error.
  • The user should be able to enter a commit message manually when automatic generation fails.

Local verification and potentially relevant details

  • git status --short --branch succeeds.
  • The current branch correctly tracks its remote branch.
  • git remote -v succeeds and an SSH remote is configured.
  • Normal read-only Git inspection works in the Codex terminal environment.
  • The current working tree is relatively large: more than 30 modified files plus multiple untracked files, with no files staged at the time of inspection.
  • The current Codex permission profile exposes workspace source files as writable but .git metadata as read-only. If the Environment Git action uses the same permission boundary, failure to write .git/index or refs may be involved; this is an inference, not a confirmed root cause.
  • The current task has no attached App Terminal session, so the generic UI failure did not expose a lower-level error.
  • No repository source code, repository name, or remote URL is included in this report.

Similar reports

  • #16800 — Desktop “Stage all” fails while normal terminal Git works.
  • #11327 — Desktop Git UI fails when sandboxing blocks writes to .git/index.lock or other Git metadata.

Additional information

This report was submitted on behalf of a user who reproduces the failure every time they click the Environment Commit/Push control. The main usability issue is not only the failure itself, but that the UI reports no concrete reason and provides no manual-message fallback.

View original on GitHub ↗

1 Comment

MusaGursoy · 3 days ago

Additional reproducible evidence from a separate repository and a newer desktop build:

Uploaded diagnostics: Codex /feedback thread ID 01a037e9-1c10-7bc2-9ee8-b6ae55931b42

Environment

  • ChatGPT/Codex desktop 26.818.61809 (build 7019)
  • macOS 26.6.2 (25G83), arm64
  • bundled Codex CLI 0.149.0-alpha.4.3
  • git 2.50.1 (Apple Git-155)

Observed trigger

  1. Open a healthy local Git repository whose main branch is up to date with its remote.
  2. Add 2 or more untracked files (observed with nested PNG/SVG assets).
  3. Open Review and click Commit and push.
  4. The UI reports Cannot create commit message.

Redacted desktop-log evidence

2026-08-25T07:14:33.870Z warning [git] git.command.complete
command="git ... diff ... --no-index --raw --numstat -z -- <codex-review-empty> <workspace> ':(literal)<file1.png>' ':(literal)<file1.svg>' ':(literal)<file2.png>' ':(literal)<file2.svg>'"
exitCode=129 failureReason=nonzero_exit requestKind=review-summary
source=review_model stderrBytes=7275 success=false

The same exit-129 review-summary failure was recorded three times across desktop app restarts: 06:17:13Z with 2 untracked files, then 07:07:37Z and 07:14:33Z with 4 untracked files.

Git identity, remote connectivity, repository connectivity, and index state were healthy; there was no index lock. A temporary index staged all four files and git diff --cached --check passed. Manually staging, committing, and pushing succeeded, and local/remote SHAs matched.

No commit-message generation request appeared before the UI error. This points more narrowly to the untracked-file review-summary path constructing an invalid --no-index diff by appending pathspecs after the two compared paths, rather than to Git authentication or permission failure.