user25089: I am actually programming a chess UI and I'd like to communicate with a chess engine using UCI protocol. After reading the protocol specifications, I am not sure how to use the position command. For each move, is it better to pass to the chess engine a FEN notation of the actual state of the board or pass it the list of all moves that have been played since the beginning of the game?

user924: If possible, it is better to send the whole game. The engine can use this to see that a move it is considering would lead to a draw by threefold repetition or the 50 move rule.
But sometimes you only have a position, and then sending a FEN is possible.

user24920: It is preferable to pass a PGN because FEN is just a position with no move,  but a PGN is the whole game with moves.

25089: <p>I am actually programming a chess UI and I'd like to communicate with a chess engine using UCI protocol. After reading the protocol specifications, I am not sure how to use the position command. For each move, is it better to pass to the chess engine a FEN notation of the actual state of the board or pass it the list of all moves that have been played since the beginning of the game?</p>
 924: <p>If possible, it is better to send the whole game. The engine can use this to see that a move it is considering would lead to a draw by threefold repetition or the 50 move rule.</p>
<p>But sometimes you only have a position, and then sending a FEN is possible.</p>
 24920: <p>It is preferable to pass a PGN because FEN is just a position with no move,  but a PGN is the whole game with moves.</p>
