AI DevelopmentPlaybook7 min readPublished September 27, 2026

GPT-6 Sol · GPT-6 Luna · API and Codex · computer use · three days of image results to recheck

GPT-6 Sol and Luna Image Bug Fixed: Re-run Your Image Evals

OpenAI fixed an image-encoding bug in GPT-6 Sol and Luna on September 25. Which results to re-run, which decisions to revisit, and what OpenAI did not say.

DA
Digital Applied Team
Research and practical guidance
Fix datedSeptember 25, 2026
Models launchedSeptember 22, 2026

On September 25, 2026, OpenAI’s API changelog recorded a fix for a bug in image encoding that had degraded how GPT-6 Sol and GPT-6 Luna understood images. Both models had launched three days earlier. OpenAI says the fix improves results on visual tasks in the API and in Codex, computer use included, and it recommends that anyone with image inputs re-run their evaluations and retry the workflows the bug touched.

That advice is short, and it matters most to the teams that moved fastest. If you tested GPT-6 on screenshots, scanned documents, charts or a computer-use agent in its first days, some of what you concluded may have come from a broken input path rather than from the model.

Key takeaways
  1. 01
    OpenAI fixed an image-encoding bug in GPT-6 Sol and Luna on September 25.The changelog entry covers image understanding in the API and in Codex, including computer use.
  2. 02
    Image results from the launch window are the ones to distrust.Anything scored, compared or shipped on GPT-6 image inputs between the September 22 launch and the fix.
  3. 03
    Re-running is cheap; re-deciding is the real cost.A model rejected for a vision task in its first three days deserves a second test before the decision sticks.
  4. 04
    OpenAI has not said how large the degradation was.The entry gives no scores, no start date for the bug and no word on whether launch benchmarks were affected.

01 — The fixWhat OpenAI fixed

Models affectedNamed in the changelog entry.
GPT-6 Sol, GPT-6 Luna
Where the fix appliesVisual tasks, including computer use.
API and Codex
Changelog dateLaunch entry for both models: September 22.
September 25, 2026
OpenAI’s recommendationFor use cases with image inputs.
Re-run evals, retry workflows

The OpenAI API changelog files the entry as a fix under both model names. It places the fault in image encoding, the step that turns a picture into input the model can read, and OpenAI shipped the correction without a new model identifier. Both models take text and images as input and return text; neither generates images, so the bug affected reading images, not making them.

The GPT-6 Sol model page lists a single identifier, gpt-6-sol, with no dated snapshot to pin, and the Luna page is the same. So the fix reached every caller without a code change. That is convenient now, and it also means there is no old snapshot to reproduce the broken behaviour if you want to measure how much it cost you.

02 — The exposureWhich results to distrust

OpenAI has not said when the bug began. The models went live in the API on September 22 and the fix is dated September 25, so the work to check is any image task run on either model before the fix. Four kinds of output deserve a second look:

1
Evaluation scores
Scored before Sep 25

Any internal benchmark with screenshots, charts, forms or photos. A low score may describe the bug, not the model.

Re-run first
2
Model comparisons
GPT-6 vs a rival

A head-to-head that put GPT-6 behind another model on vision may have been decided by the encoding fault.

Revisit the decision
3
Agent runs
Computer use, Codex

Agents that read the screen to click or type. Failed or looping runs from launch week are worth retrying.

Retry failures
4
Shipped extractions
Data already delivered

Fields pulled from invoices, receipts or scans and passed on to a client or a database without human review.

Spot-check

The second box is the one teams forget. A comparison run in launch week becomes a routing rule, and a routing rule is rarely retested. If your router sends vision work away from GPT-6 because of a test from that window, the rule may rest on a fault that no longer exists. Our guide to telling a real regression from a broken evaluation covers the same trap from the other direction.

03 — The re-runRe-running it without re-running everything

The token cost of a re-run is small at these prices. OpenAI lists GPT-6 Sol at $2 per million input tokens and $10 per million output tokens, and Luna at $0.10 and $0.50, with Batch processing at half the standard rate. The expensive part is the human review that follows a changed result, so narrow the re-run before you start:

  • Filter your logs for requests to gpt-6-sol or gpt-6-luna that carried an image, dated before the fix.
  • Re-run the evaluation set, not production traffic. A fixed test set gives a before-and-after comparison; production requests do not repeat.
  • Use Batch for the bulk. An evaluation re-run has no deadline, which is what the half-price tier is for.
  • Record which runs predate the fix so a future comparison does not mix the two populations.

If you do not have a fixed image test set, this is a reason to build one. Our walkthrough on building an evaluation harness to qualify new models shows the minimum version.

04 — The gapsWhat the changelog leaves out

Unanswered, as of the fix

The entry gives no measure of how much image understanding was degraded, no date when the fault started, and no statement on whether any published launch scores were produced with it. Our launch coverage reported OpenAI’s computer-use results, which depend on reading screenshots. Treat any vision-heavy launch figure as unconfirmed until OpenAI says whether it was affected.

None of this is unusual for a changelog, which exists to record changes rather than explain them. It does mean the only reliable measure of the fix is the one you run on your own images. When OpenAI recommends “rerunning your evaluations,” it is telling you, in effect, that it cannot give you the answer for your workload.

05 — The failuresFour decisions the bug outlived

A fix shipped without a new model identifier is easy to apply and easy to forget, and the decisions made before it do not update themselves. The illustrative cases below each carry a launch-week conclusion past September 25. They are patterns the exposure section describes, not teams we have worked with.

The routing rule that outlived the bug: a launch-week comparison put GPT-6 behind a rival on screenshots, the router was set to send vision work elsewhere, and nobody retested after the fix. The rule now encodes an encoding fault that no longer exists, which is the exposure section’s second box. The production re-run: a team re-runs its production traffic from launch week to measure the fix. Production requests do not repeat; only a fixed evaluation set gives a before-and-after comparison, which is why the re-run section says to re-run the set, not the traffic. The mixed populations: results from before and after the fix are kept in one table without a date label, and the next quarterly comparison averages across the fault. Recording which runs predate the fix is the step that was skipped. The launch score as confirmed: a vision-heavy figure from OpenAI’s launch coverage is quoted as the model’s capability. The changelog does not say whether published launch scores were produced with the bug, so the figure is unconfirmed until OpenAI says otherwise.

The common thread is that the fix changed the model under decisions that still cite the old one. The record in the next section is how a team finds those decisions and dates them.

Two populations, two labels

Every image result on GPT-6 Sol or Luna is either from before the September 25 fix or after it. Label both, keep both, and never average across the line. OpenAI has not published when the fault began, so before means the launch on September 22 to the fix.

06 — The recordA re-run record

The re-run section lists four steps, and the record is those steps with their results. The log filter: requests to gpt-6-sol or gpt-6-luna that carried an image, dated before the fix, with the count. The fixed test set: its identifier and the date it was last changed, so the before and after runs are known to be the same inputs. The batch job: the re-run on the half-price tier with its date, since an evaluation re-run has no deadline. The two result sets, labelled by date, with the differences that matter listed rather than a single aggregate. The decisions revisited: each routing rule, comparison or rejection made in the launch window, with whether the retest changed it. The shipped extractions: the slice sampled by hand and whether the sample found errors, which decides whether the review widens. And what remains unknown: the bug’s start date and magnitude, and whether any launch benchmark was affected, left as unknown rather than estimated.

An illustrative record for a document-extraction team reads: filter, a stated number of image requests to gpt-6-sol between September 22 and 25; test set, the invoice-and-receipt set last changed before launch; batch, re-run on the stated date; results, two labelled sets with the fields where accuracy moved listed; decisions, one routing rule set on September 24 retested and reversed, one vendor comparison retested and unchanged; extractions, a sample of delivered fields reviewed by hand with the error count recorded and the review not widened; unknown, the fault’s onset and size, and the launch figures.

The record also settles the gaps section’s point. The only reliable measure of the fix is the one you run on your own images, and the record is where that measure lives, dated, beside the decisions it changed.

07 — ConclusionLaunch-week image results are provisional

Pull the launch-week image requests today and run the fixed set on Batch, then go through the decisions list before the retest results are filed. The rule set in launch week is the one that will cost the most if it is still there in a year.

You tested GPT-6 on images before September 25
Re-run the same test set on Batch and compare. Keep both result sets, labelled by date.
Re-run
You routed vision work away from GPT-6 after a launch-week test
Retest before the rule becomes permanent. The rejection may describe the bug.
Revisit
You delivered image extractions made before the fix
Sample and review a slice by hand; widen the review only if the sample finds errors.
Spot-check
You send GPT-6 text only
Nothing to do. The fix concerns image inputs.
No action
What to do this week

Pull the image requests made before September 25, re-run your fixed test set on Batch, and retest any routing rule set in launch week

A fix like this is good news with a short to-do list. The model you evaluated in launch week may not be the model you have now, and decisions made in that window should be checked once before they harden. If you want help setting up evaluation sets that survive vendor fixes like this one, our AI transformation team builds them as part of model rollouts. For how GPT-6 compares on cost with its closest rival, see GPT-6 Sol against Claude Opus 5.5.

Digital Applied

Know what your models actually do on your data.

We build evaluation sets and routing rules that are retested when a vendor changes something, so a launch-week result never becomes a permanent decision by accident.

Evaluation setsModel routingVendor change reviews
Your next project

Model decisions you can defend

  • →Fixed test sets per workload
  • →Dated before-and-after results
  • →Routing rules with review dates
Questions and answers

The questions we get about the GPT-6 image fix

A bug in image encoding that degraded image understanding. OpenAI's API changelog dates the fix to September 25, 2026 and says it improves visual tasks in the API and in Codex, including computer use.
Digital Applied newsletter

Deep dives on AI, marketing and development.

Practical guides and fresh insights by email. No recycled takes.