OpenAI’s GPT-6 Astra can now play a full, coherent game of chess against a strong human. In a recent test game, the model played White, followed sharp opening theory, set what looked like a deliberate trap and built an engine-measured advantage of up to +3.5. It still lost. A few missed moves in the middlegame let Black build a kingside attack, and a queen sacrifice ended the game with checkmate. The result says a lot about where language model reasoning stands: far beyond the chaotic chatbot chess of a few years ago, but still blind to some attacking patterns.
From illegal moves to real chess
For three to four years, the common view was that large language models (LLMs), the type of AI behind chatbots such as ChatGPT, simply could not play chess. Early matches between ChatGPT and Stockfish, a dedicated chess engine, turned absurd as the chatbot made illegal moves and pieces appeared or jumped across the board. Tournaments between chatbots regularly collapsed into random blunders.
GPT-6 Astra appears to have broken that pattern. In this game it:
- Made no illegal moves and invented no phantom pieces
- Did not hand over material through random blunders
- Found the engine’s top choice in several sharp opening positions
- Converted a pawn offer into a solid two-pawn lead
- Played at least one move that looked like an intentional trap
One open question remains. It is not clear whether Astra calculated its early moves on its own or drew on opening knowledge stored inside the model.
A sharp opening chosen to test real calculation
Black deliberately picked an opening that rewards calculation over memorization: the French Defense, in its razor-sharp Winawer Variation. The idea was to create an unbalanced position and see whether the model could evaluate it rather than recite moves.
| Move | White (GPT-6 Astra) | Black | What it does |
|---|---|---|---|
| 1-2 | e4, d4 | e6, d5 | Classic French Defense central tension |
| 3 | Nc3 | Bb4 | Winawer Variation, pinning White’s knight |
| 4-5 | e5, a3 | c5, Bxc3+ | White grabs space; Black hits the pawn chain |
| 6 | bxc3 | Ne7 | White is left with doubled c-pawns |
| 7 | Qg4 | Aggressive theory aimed at the g7 pawn |
The move 7. Qg4 often leads to the so-called Poisoned Pawn line, known for wild tactics on both sides. Black stepped off the main line with a queen check on a5 to force the model to think for itself. Astra answered calmly with Bd2, covering the c3 square. When Black then developed with Nc6 and left the g7 pawn hanging on purpose, Astra took it with Qxg7 and then grabbed a second pawn with Qxh7.
Black’s plan was to use the open files against White’s uncastled king. Against an engine, though, giving up two pawns like this is hard to justify, and Black later called the pawn sacrifice speculative. After Black castled queenside, Astra found the engine’s preferred 13. Qd3, centralizing the queen and offering a queen trade to blunt Black’s counterplay.
The 14. Be2 trap
The most striking move came next. Stockfish preferred 14. h4, and Astra’s 14. Be2 looked at first like it simply abandoned the g2 pawn. But if Black’s rook takes on g2, White can answer with Ng5, attacking f7 and cutting off the rook’s escape squares. The move appears to be a deliberate trap rather than an oversight. Black saw the danger and declined the bait.

▲ A knight trap set for an incoming rook
Where the advantage slipped away
Two pawns up, Astra had several chances to put the game away and missed them.
- Castling instead of Bg5. Bg5 would have shut down Black’s rook activity and cleared d1 for the queen to retreat. With that move, Black’s position would likely have been hopeless. After Astra castled, Black pushed c4 and won back a pawn with Qxc2. White still held an evaluation of about +3, thanks to the bishop pair and faster attacking chances.
- g3 instead of Nh4. To stop mating threats on the h-file, Astra played g3. Nh4 would have forced a queen trade or driven Black’s queen to an awkward square. A basic chess principle applies here: the side ahead in material should usually trade queens to remove the opponent’s counterplay.
- Bb4 instead of c5. Astra blasted open the center with c4, an aggressive but double-edged choice. The right follow-up was c5, which would have locked the diagonals and shut Black’s light-squared bishop out of the game. Bb4 released that grip and swung the evaluation.
Black made mistakes too. Sending a knight to the edge of the board on a5 wasted time, and Astra answered with Bd1. That reply had its own cost, because it traded off a bishop White needed. All seven of White’s pawns sat on dark squares, which made White’s dark-squared bishop the “bad” one, blocked by its own pawns, and the light-squared bishop the “good” one that moved freely. Giving up the good bishop weakens every square of that color.
How Black turned the game around
Black aimed an attack at White’s king through the open h-file, with the light-squared bishop and queen lined up toward it. In this position the usual piece values stopped telling the full story. A bishop normally counts as three points and a rook as five, but here Black’s active bishop was worth at least four, while White’s passive defending rook dropped to about four to four and a half.
The finish went like this:
- Black played Qh5, threatening Rg4. Astra spotted the threat to its pinned rook and pulled it back to c8, after which every engine evaluation showed a decisive edge for Black.
- Black swung a rook to g4, driving White’s queen back to d2.
- Black played Nxd4. Taking the knight with the queen would lose it to a discovered attack, and Astra captured the knight instead.
- Black sacrificed the queen with Qxh2+. After Kxh2, Rh4+ drove the king to g1, and Rh1 was checkmate.
Even a defense such as Kf1 would still have lost to a crushing attack. Astra built a winning middlegame but did not see the attacking pattern forming around its own king.

▲ The queen sacrifice that ended the game
Slow play and a modest self-review
The game took about an hour and a half. Astra sometimes spent two to three minutes on a single move in complex positions, and the session needed occasional restarts.
After the game, Astra produced its own written summary. It rated Black’s play at 1400 to 1700 on the Chess.com rapid scale and its own at 1000 to 1300. It also identified its errors: allowing a rook skewer and walking into a forced mate with Kxh2. Given the quality of many of its moves, those ratings look far too low, which suggests the model’s self-assessment is not yet reliable.
What the game tells us and what to do with it
| Area | Result |
|---|---|
| Rules | No illegal moves or random blunders |
| Opening | Found engine top choices in sharp theory |
| Peak advantage | +3.5 by engine evaluation |
| Weaknesses | Missed Bg5 and c5; did not see the mating attack |
| Speed | About 90 minutes per game, two to three minutes on hard moves |
| Self-review | Rated its own play far below its actual level |
GPT-6 Astra has become a capable chess opponent, but sharp attacking play can still break it. Here is how to use what this game shows:
- To test an AI model’s reasoning, step slightly off well-known lines or textbook examples so it has to calculate instead of recall.
- If you play Astra for practice, avoid openings you do not know well. It punished early speculative play quickly.
- Treat the model’s self-ratings and evaluations as rough notes. Check its judgments with a dedicated engine before trusting them.
- Plan for slow games. At roughly 90 minutes per game, it fits deep analysis better than quick practice.