Preview screenshot

Resolved 💬 4 comments Opened Mar 25, 2026 by DisabledAbel Closed Apr 3, 2026

What version of the Codex App are you using (From “About Codex” dialog)?

Web version

What subscription do you have?

Free

What platform is your computer?

IPadOS

What issue are you seeing?

I've been seeing codex saying Screenshot note
I couldn’t capture a UI screenshot here because the browser/screenshot runtime tool isn’t available in this environment.
But I do not see how to enable it

What steps can reproduce the bug?

Not sure it has been happening in projects

What is the expected behavior?

_No response_

Additional information

_No response_

View original on GitHub ↗

4 Comments

DisabledAbel · 5 months ago
vitoque-git · 5 months ago

Web, codex, on Windows (but problem is there also on the IOS app)

Not an enhacement, It seems to be a regression, it stopped working a couple of weeks ago for all react and nodes project.

Getting in each description something on the line:
"⚠️ I couldn’t generate a fresh local screenshot because the browser screenshot tool isn’t available in this environment."

We tried to fix this at env level, by trying to install tools for screenshots, but to no availability.

Screenshots and fast validation of changes was one of the reason for our company to use codex over other tools (we are using codex web)

<img width="1238" height="310" alt="Image" src="https://github.com/user-attachments/assets/ad149921-a604-4b87-b17a-fc35fd44116a" />

DisabledAbel · 5 months ago

Super wried

DisabledAbel · 4 months ago

Why this happens

Codex creates its branch from a snapshot of main at task start. If main moves forward before Codex finishes (even a README edit or an auto-generated commit), the PR lands with conflicts — even though you never touched those files. It's a race condition between Codex's branch base and the current main.

Workaround that worked for me

I created a GitHub Actions workflow that auto-resolves conflicts by merging main into the Codex branch with -X theirs (keeping Codex's changes):

name: Auto Fix Conflicts

on:
  pull_request:
    types: [opened, synchronize, reopened]
  workflow_dispatch:
    inputs:
      branch:
        description: "Branch to fix"
        required: false
        default: ""

jobs:
  auto-fix:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write

    steps:
      - name: Checkout repo
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.inputs.branch || github.head_ref }}
          token: ${{ secrets.GITHUB_TOKEN }}
          fetch-depth: 0

      - name: Configure git identity
        run: |
          git config user.name "conflict-bot"
          git config user.email "bot@example.com"

      - name: Fetch base branch
        run: git fetch origin main

      - name: Try auto-merge (prefer incoming changes)
        run: git merge -X theirs origin/main || true

      - name: Detect conflicts
        id: conflicts
        run: |
          files=$(git diff --name-only --diff-filter=U)
          echo "files=$files" >> $GITHUB_OUTPUT

      - name: Auto resolve conflicts (fallback)
        if: steps.conflicts.outputs.files != ''
        run: |
          for file in ${{ steps.conflicts.outputs.files }}; do
            echo "Resolving $file"
            git checkout --theirs $file
            git add $file
          done

      - name: Commit & push changes
        run: |
          git add .
          git commit -m "🤖 Auto-resolved merge conflicts" || echo "No changes"
          git push

Key things that tripped me up:

  • permissions: contents: write is required or the push silently fails with 403
  • git config must come before the merge step, not just before the commit
  • Use actions/checkout@v5 to avoid the Node 20 deprecation warning

Would love to see Codex handle this natively — maybe by rebasing its branch on main right before opening the PR.