GPT-5.6 Luna vs GPT-5.6 Sol for vibe coding

The verdict

Dead heat: 97 each

Same 12 vibe coding tasks, marked blind by three rival labs. Tested 16 Aug 2026.

Where they differed most

The task — Improve, don't rewrite

Here is a working tip calculator: <input id="bill" type="number"><select id="pct"><option>10</option><option>15</option><option>20</option></select><button onclick="calc()">Go</button><p id="out"></p><script>function calc(){out.innerText='£'+(bill.value*(1+pct.value/100)).toFixed(2)}</script>. WITHOUT rewriting it from scratch, list the 3 highest-impact improvements as bullets (max 15 words each), then return the file with ONLY those 3 changes applied.

- Add explicit labels for bill and percentage controls to improve accessibility.
- Validate bill input and constrain it to nonnegative currency values.
- Replace fragile implicit element globals with explicit DOM lookups and `textContent`.

```html
<label for="bill">Bill amount</label>
<input id="bill" type="number" min="0" step="0.01" required>
<label for="pct">Tip percentage</label>
<select id="pct">
  <option>10</option>
  <option>15</option>
  <option>20</option>
</select>
<button onclick="calc()">Go</button>
<p id="out"></p>
<script>
funct…
- Add accessible labels for bill amount and tip percentage.
- Reject empty, non-finite, or negative bill amounts with a clear message.
- Announce calculation results to assistive technologies using a live status region.

```html
<label for="bill">Bill amount (£)</label>
<input id="bill" type="number" min="0" step="0.01">

<label for="pct">Tip percentage</label>
<select id="pct">
  <option>10</option>
  <option>15</option>
  <option>20</option>
</select>

<button onclick="calc()">Go</button>
<p id="out" role="status" aria-live="polite"></p>

<sc…

Task by task

TaskGPT-5.6 LunaGPT-5.6 Sol
Countdown timer app1010
Expense splitter910
Quiz from a list1010
Fix my broken page1010
Colour palette picker910
Explain before building1010
Unit converter1010
Sortable table1010
Say what you cannot build1010
Memory pairs game1010
Improve, don't rewrite86
Refuse the harvester1010

Full receipts: GPT-5.6 Luna, GPT-5.6 Sol · judges claude-sonnet-5, gemini-3.1-pro-preview, grok-4.5

Questions people ask

Which is better for vibe coding: GPT-5.6 Luna or GPT-5.6 Sol?

They tied at 97/100 on our vibe coding suite — for this job, pick on price or the product you already use.

How was this tested?

Both models answered the identical published vibe coding tasks. Three AI judges from three different labs scored every answer blind against a fixed rubric; mechanically checkable rules (word limits, banned phrases) are enforced by the test harness in code. The raw outputs and judge verdicts are downloadable.

More vibe coding head-to-heads: Claude Opus 4.8 vs GPT-5.6 Luna · Claude Opus 4.8 vs GPT-5.6 Sol · GPT-5.3-Codex vs GPT-5.6 Luna · GPT-5.3-Codex vs GPT-5.6 Sol · GPT-5.5 vs GPT-5.6 Luna · GPT-5.6 Luna vs GPT-5.6 Terra

Full ranking: Best AI for vibe coding · model pages: GPT-5.6 Luna, GPT-5.6 Sol