AI Chess Coaching Tools Compared: What You Get For The Subscription
In short Tested side by side on the same five games, the paid explanation tools differ mainly in how honestly they admit uncertainty; most of their value is reproducible with a free engine plus a good prompt.
If you are rated somewhere between 1000 and 1900, you probably already have Stockfish one click away. Lichess gives it to you after every game, and Chess.com does the same with its review. What you are shopping for when you look at the best AI chess coach tools is not strength. Every engine on the market is stronger than every human reading this. You are shopping for translation: someone, or something, to say why the engine’s move is better and what you should do about it.
So we ran five of our own club-level games through the paid explanation tools and through a free setup (Lichess analysis, a local Stockfish, and a language model with a structured prompt). The games were a 1150 loss in a Sicilian, a 1420 win that should have been a draw, a 1680 rook endgame, a 1790 middlegame with a long king hunt, and a 1310 game decided by one hung bishop.
The result, up front: the paid tools differ less in what they know than in how honestly they say “I’m not sure”. Most of what they offer you can be rebuilt for free.
What the engine is actually telling you
Before comparing anything, you need to read raw output. Here is what Stockfish gives you when you ask for three lines at a critical moment (formatted as a UCI engine prints it, trimmed for space):
info depth 22 multipv 1 score cp 38 pv e4e5 d6e5 f3e5 ...
info depth 22 multipv 2 score cp 31 pv h2h3 a7a6 ...
info depth 22 multipv 3 score cp -145 pv c3d5 e6d5 ...
Three things to take from this:
- cp 38 means roughly a third of a pawn for White. Anything within about ±50 is “equal in practice” for humans.
- The gap between lines matters more than the number. Lines 1 and 2 are 7 centipawns apart. They are effectively interchangeable. Line 3 is 183 centipawns worse. That is the move that loses something real.
- A single best move is often not unique. If the engine says one move is best by 7cp, a tool that tells you “you should have played e5” is overclaiming.
This third point is where the tools split.
The test: same five games, same positions
We flagged 31 positions across the five games where the player’s move lost 100 centipawns or more by Stockfish’s count at depth 22. Then we asked each tool to explain what went wrong, and checked each explanation against the engine’s lines ourselves.
| Tool | Explanations checked | Flatly wrong or unsupported | Said it was unsure |
|---|---|---|---|
| Chess.com Game Review (with its coach text) | 31 | 4 | 0 |
| DecodeChess | 31 | 5 | 3 |
| Lichess analysis (no text, engine only) | 31 | n/a | n/a |
| LLM with our prompt (below) | 31 | 6 | 11 |
The raw error counts look worse for the LLM. Read the last column too. Of the LLM’s six bad explanations, four came with an explicit “low confidence, verify with the engine” flag, because the prompt demanded it. Of the paid tools’ nine bad explanations, only DecodeChess flagged any, and only some of them. A wrong explanation you were warned about costs you thirty seconds. One delivered with a confident tone gets built into your habits.
Chess.com Game Review
The best thing about it is polish. Move classifications (Brilliant, Great, Mistake, Blunder) and the accuracy percentage give you a quick emotional read of a game, and for the 1000-1300 range that is useful by itself. The coach text is short and friendly.
The trouble is that the labels hide the margin. In game 2, the review marked a move as a Mistake where the engine’s own top two lines differed by 12cp from the player’s choice. That is a rounding error, not a mistake. Nothing in the interface tells you so. It is a nice tool, but it never says “this one’s close”.
DecodeChess
DecodeChess is the most ambitious of the lot: it writes out reasons in prose, such as threats, weak squares and piece activity. When it works, it reads like a coach. In game 4 it correctly spotted that a quiet Rd1 was strong because it set up a pin on the d-file. We would not have found that quickly ourselves.
It also produced our most confidently wrong paragraph, in the rook ending in game 3, where it described a “weakened king position” for a side whose king was the most active piece on the board. The saving grace is that it hedged on three positions, which is more than Chess.com did. It is the most honest of the paid tools, which is faint praise but real.
Lichess, free, no words
Lichess gives you evaluation, the best line, and an “inaccuracies / mistakes / blunders” tally with a centipawn-loss graph. It does not explain anything. That sounds like a weakness. For the purpose of learning to interrogate an engine, it is a strength: it makes you do the thinking. Click on the engine line, step through it, and ask yourself why the knight goes to f5.
The free setup that matches most of it
This is what we ran. Export your PGN from Lichess, and for each flagged position, paste the FEN and the engine’s top three lines (with scores) into a language model along with this:
You are a chess coach for a player rated about 1500.
Position (FEN): <paste>
I played: <move>. Engine top lines at depth 22:
1. <move> (+0.38) <line>
2. <move> (+0.31) <line>
3. <move> (-1.45) <line>
Tasks:
1. Say whether my move was a real error (loss over 100cp) or within noise.
2. Explain the difference between my move and the best line in
plain language, citing only squares and pieces visible in the
lines above. Do not invent threats the lines don't show.
3. Mark your confidence: high / medium / low. If low, say what
you'd need to check.
4. Give one habit to practise, not a list.
Two constraints do the work here. Telling the model to cite only what the lines show prevents most hallucinated tactics. Demanding a confidence rating is what produced those eleven “unsure” flags in our table. Without the confidence instruction, in a pilot run on game 1, the same model went wrong on 8 positions instead of 6, and flagged none.
Note the cost: for five games and 31 positions, setting this up and checking results took about two evenings. That time is part of the price. It is the price of free.
What the subscriptions are really selling
Convenience and tone, mostly. If you want one button and a friendly summary, a paid tool saves real time, and DecodeChess is the one to pay for if you must. If your aim is to improve, the thing that mattered in our testing was never the prose. It was checking the explanation against the lines.
One more number: across all 31 positions, the three most common themes were hung or loose pieces (11), missed two-move tactics (9), and trading into a worse endgame (6). You do not need a subscription to see this. Tally your own flagged positions by theme in a spreadsheet, and the theme with the highest count becomes next month’s training plan: tactics puzzles from that pattern for 20 minutes a day, and one annotated game per week.
For the wider comparison, including how we scored each prompt format, see AI Coaching Tools And LLM Chess Prompts, Tested.
Next time an app tells you that you “blundered”, ask it for the second-best move and its score. If the gap is under 30 centipawns, close the app and go play another game.