Multi-PV Is The Improver’s Setting: Reading Three Lines Instead Of One
Most people at 1400 use an engine the way you’d use a smoke alarm. It goes off, you learn that something is wrong, and you learn nothing about what. You played 18.Bd3, the bar jumped, Stockfish says 18.Rxe6 was best at +2.1, and you nod and move on to the next game. That’s a score. It isn’t a lesson.
The fix is a single setting that almost nobody at club level touches, and it costs you about four seconds to change.
What Is MultiPV? Chess Engines Show You One Line By Default
PV stands for principal variation: the sequence of moves the engine thinks both sides will actually play. By default, engines run at MultiPV 1, meaning they optimise hard for finding the single best move and prune away everything else as fast as possible. That pruning is why Stockfish is so strong. It’s also why the output is nearly useless as feedback, because “the best move is X” tells you nothing about the shape of the position around X.
Set MultiPV to 3 and the engine keeps three independent searches alive, reporting the top three moves with separate evaluations and separate follow-up lines. Now you can see something you couldn’t before: the gap.
Here’s the plumbing, straight out of the Stockfish command line, so you know what your GUI is doing on your behalf:
setoption name MultiPV value 5
position startpos
go depth 26
info depth 26 multipv 1 score cp 28 pv e2e4 c7c5 g1f3 d7d6 d2d4
info depth 26 multipv 2 score cp 25 pv d2d4 g8f6 c2c4 e7e6 g1f3
info depth 26 multipv 3 score cp 22 pv g1f3 g8f6 c2c4 e7e6 g2g3
info depth 26 multipv 4 score cp 20 pv c2c4 e7e5 g1f3 b8c6 b1c3
info depth 26 multipv 5 score cp 15 pv g2g3 d7d5 g1f3 g8f6 c2c4
bestmove e2e4
Five opening moves inside thirteen hundredths of a pawn. Run that yourself and you have already learned the most important calibration fact in engine use: a 0.13 difference is not a difference. (Your exact numbers will drift by a few hundredths depending on version, hardware and depth. The pattern holds.)
Where to flip the switch:
- Lichess analysis board: the gear icon in the engine pane, “Multiple lines”, slide from 1 to 3. Lichess’s cloud evaluations already store multiple lines for common positions, so for anything near theory you get them instantly without your laptop’s fan spinning up.
- Chess.com analysis board: the engine panel has a lines control; how many you get depends on your membership tier.
- Nibbler (the free desktop GUI, excellent with both Stockfish and Leela): MultiPV lives in the Engine menu and draws an arrow per candidate on the board.
- ChessBase and Fritz: multi-variation mode in the engine window.
- SCID vs PC, Arena, Banksia: engine settings, MultiPV, type 3.
One honest caveat on cost. Keeping several lines alive defeats some of the pruning that makes the search fast, so you lose depth. On my machine, ten seconds of Stockfish 17 on four threads gets to roughly depth 30 at MultiPV 1 and roughly depth 25 at MultiPV 3. That’s a real trade, and it means the eval on line 3 has had less scrutiny than the eval on line 1. Don’t treat the third number as gospel to two decimal places. Treat it as a rough measure of how much room the position had.
Near-Miss Or Category Error: The Spread Is The Diagnosis
The number that matters for training isn’t line 1’s evaluation. It’s the distance from line 1 to line 3.
Take the Exchange Queen’s Gambit Declined after 1.d4 d5 2.c4 e6 3.Nc3 Nf6 4.cxd5 exd5 5.Bg5, Black to move:
FEN: rnbqkb1r/ppp2ppp/5n2/3p2B1/3P4/2N5/PP2PPPP/R2QKBNR b KQkq - 1 5
1. +0.34 5...Be7 6.e3 O-O 7.Bd3 Nbd7 8.Qc2 c6
2. +0.36 5...c6 6.e3 Be7 7.Bd3 Nbd7 8.Qc2 O-O
3. +0.41 5...Nbd7 6.e3 Be7 7.Bd3 c6 8.Qc2 O-O
Spread: 0.07. If you played 5…Nbd7 and Game Review tagged it as an inaccuracy, Game Review is lying to you, and it’s lying because it compared your move against one line and then binned the difference. There is no lesson in this position about move choice. Every reasonable developing move transposes into the same Carlsbad structure, and the actual skill being tested is whether you know the minority attack plan. Studying “I should have played Be7” is studying noise.
Now the other kind. Blackburne Shilling Gambit, and this is a position I have genuinely been in: 1.e4 e5 2.Nf3 Nc6 3.Bc4 Nd4 4.Nxe5 Qg5, White to move.
FEN: r1b1kbnr/pppp1ppp/8/4N1q1/2BnP3/8/PPPP1PPP/RNBQK2R w KQkq - 1 5
1. +2.24 5.Bxf7+ Ke7 6.O-O Qxe5 7.Bxg8 Rxg8 8.c3
2. +0.33 5.Ng4 d5 6.Bxd5 Qxg4 7.Bxf7+ Kd8
3. -0.10 5.O-O Qxe5 6.c3 Ne6 7.d4
...
5. -1.92 5.Nxf7 Qxg2 6.Bf1 Qxe4+ 7.Qe2 Nxe2
Spread from line 1 to line 3: 2.34. That is the engine telling you, in a language single-PV cannot speak, that this is a one-move position. White has exactly one way to justify the entire knight grab, and every other plausible-looking try throws the advantage in the bin. My move was line 5. Single-PV would have said “5.Bxf7+ is best, +2.24” and I’d have shrugged: sure, take the pawn with check, fine. What I needed to see was the cliff edge two lines below it.
Same engine, same depth, two completely different lessons, and the only thing that distinguished them was a gap I couldn’t see at MultiPV 1.
The Spread Table
Use this on your own games. It is crude and it works.
| Spread, line 1 to line 3 | What it means | What to do |
|---|---|---|
| Under 0.15 | Nothing. Engine noise, not a decision | Skip it. Don’t add a flashcard |
| 0.15 to 0.50 | The position has a preference, not a requirement | Learn the plan behind line 1, ignore the move order |
| 0.50 to 1.20 | A real choice existed and you took the worse branch | Worth a note: what did line 1 see that you didn’t? |
| Over 1.20 | Only-move position | Tag it. This is the pattern you’re missing |
| Over 1.20 and your move isn’t in the top five | Category error | Drill the motif, not the position |
That last row is the one that changes training plans. When the spread is huge and your move doesn’t even appear in the list, your move wasn’t a slightly worse candidate, it was a move produced by the wrong thought process. You weren’t calculating badly. You were calculating the wrong thing. Those are the errors worth building a study block around, because there are maybe six of them in your whole repertoire and they cost you a rating point every time.
Getting Your Own Move Into The List
Here’s the gotcha nobody mentions. MultiPV 3 shows the engine’s three favourites, and your move is frequently not one of them, which leaves you back where you started. Two ways round it:
Play your move on the board first, then read the engine’s top three replies. That gives you the refutation, which is the part you actually need. In the Blackburne position, put 5.Nxf7 on and Black’s line 1 comes back as 5…Qxg2, with mate appearing in the PV a couple of plies later once White is forced to 6.Rf1 Qe4+ 7.Be2 Nf3#. The engine will happily show you why if you let it.
Or crank MultiPV to 5 for that one position, take the depth hit, and read your move’s score directly off the list. Fine for a single position, wasteful as a default. My standing setting is 3, bumped to 5 when something surprises me.
While you’re reading those score cp values, keep in mind they come out of UCI from the perspective of the side to move, and your GUI flips them to White’s perspective before displaying them. Stockfish also normalises its scale so that +1.00 corresponds roughly to a 50% win probability rather than “a pawn”. If any of that is new, the numbers you’ve been reading mean something slightly different from what you assumed, and Reading Engine Output: Evals, Depth And Lies is the piece to read next.
Two Other Jobs Three Lines Do Well
Opening prep gets cheaper. At 1600 you do not need the sharpest line in the Najdorf, you need a line nobody in your pool has seen. MultiPV 3 hands you line 2 at 0.04 worse than line 1, which for practical purposes is the same move with a tenth of the theory attached. Nobody is punishing your 0.04.
Defensive credit shows up too. When your opponent finds the only move for four turns running while you’re attacking, MultiPV tells you that: spread over 1.5 on each of those moves, and they hit line 1 every time. That isn’t your attack failing. That’s a strong defence, and the pattern to extract is “my sacrifice required them to miss one of four only-moves”, which is a much more useful conclusion than “the engine says -0.3, I guess it was bad”.
Line 5 at -1.92 was the move I actually played that evening. I never needed anything to tell me it was bad; I lost the game eight moves later. What I needed was the 2.34 sitting between lines 1 and 3, telling me that grabbing on e5 in that structure is an all-or-nothing idea with exactly one continuation, and that I had walked into it holding a shopping list of four moves that all felt about the same.