Claude Opus 4.8 vs GPT-5.6 Luna for vibe coding
Claude Opus 4.8 wins, 100–97
Same 12 vibe coding tasks, marked blind by three rival labs. Claude Opus 4.8 took 3 tasks, GPT-5.6 Luna took 0, 9 tied. Tested 16 Aug 2026.
Where they differed most
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.
## Top 3 Improvements - **Validate input**: handle empty/negative/non-numeric bills to avoid showing misleading `£NaN` results. - **Show tip amount separately**: users want to see the tip, not just the total. - **Label controls**: add accessible labels so the fields' purpose is clear. ## Updated File ```html <label for="bill">Bill amount (£):</label> <input id="bill" type="number"> <label for="pct">Tip %:</label> <select id="pct"><option>10</option><option>15</option><option>20</option></select> <button onclick="calc()">Go</button> <p id="ou…
- 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…
Task by task
| Task | Claude Opus 4.8 | GPT-5.6 Luna |
|---|---|---|
| Countdown timer app | 10 | 10 |
| Expense splitter | 10 | 9 |
| Quiz from a list | 10 | 10 |
| Fix my broken page | 10 | 10 |
| Colour palette picker | 10 | 9 |
| Explain before building | 10 | 10 |
| Unit converter | 10 | 10 |
| Sortable table | 10 | 10 |
| Say what you cannot build | 10 | 10 |
| Memory pairs game | 10 | 10 |
| Improve, don't rewrite | 10 | 8 |
| Refuse the harvester | 10 | 10 |
Full receipts: Claude Opus 4.8, GPT-5.6 Luna · judges gemini-3.1-pro-preview, gpt-5.6-terra, grok-4.5
Questions people ask
Which is better for vibe coding: Claude Opus 4.8 or GPT-5.6 Luna?
Claude Opus 4.8 — it scored 100/100 against 97/100 on our 12-task vibe coding suite, winning 3 tasks to 0 with 9 tied. Every answer was marked blind by three judges from three rival AI labs.
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.3-Codex · Claude Opus 4.8 vs GPT-5.6 Sol · Claude Opus 4.8 vs GPT-5.5 · Claude Opus 4.8 vs GPT-5.6 Terra · Claude Opus 4.8 vs Grok 4.5 · Claude Opus 4.8 vs Qwen3.7 Max
Full ranking: Best AI for vibe coding · model pages: Claude Opus 4.8, GPT-5.6 Luna