cutechess-cli - A command-line tool for chess engines matches
cutechess-cli -fcp [ENGINE OPTIONS] -scp [ENGINE
cutechess-cli -both [ENGINE OPTIONS]
Runs chess matches from the command line.
Display the version information.
Display help information.
Display a list of configured engines and exit.
Display a list of supported chess protocols and
Display a list of supported chess variants and
Apply <options> to the first engine.
Apply <options> to the second engine.
Apply <options> to both engines.
Set chess variant to <arg>.
Set the maximum number of concurrent games to
-draw <n> <score>
Adjudicate the game as a draw if the score of both
engines is within <score> centipawns from zero after <n> full
moves have been played.
-resign <n> <score>
Adjudicate the game as a loss if an engine’s score
is at least <score> centipawns below zero for at least <n>
Set the event name to <arg>.
Play <n> games.
Display all engine input and output.
Use <file> as the opening book in PGN format.
Set the maximum depth for PGN input to <n>
-pgnout <file> [min]
Save the games to <file> in PGN format. Use the
min argument to save in a minimal PGN format.
Restart crashed engines instead of stopping the
Play each opening twice so that both players get to play
it on both sides.
Set the site / location to <arg>.
Set the random seed for the book move selector to
Wait <n> milliseconds between games. The default is
Use an engine with the name <arg> from Cute Chess\'
Set the name to <arg>.
Set the command to <arg>.
Set the working directory to <arg>.
Pass <arg> to the engine as a command line
Send <arg> to the engine’s standard input at
Set the restart mode to <arg> which can be:
auto: the engine decides whether to restart (default) on: the
engine is always restarted between games off: the engine is never
restarted between games
Set the chess protocol to <arg>.
Set the time control to <arg>. The format is
moves/time+increment, where moves is the number of moves per tc,
time is time per tc (either seconds or minutes:seconds), and
increment is time increment per move in seconds. Infinite time control
can be set with tc=inf.
Set the time limit for each move to <n> seconds.
This option can’t be used in combination with "tc".
Let engines go <n> milliseconds over the time
Use <file> (Polyglot book file) as the opening
Set the maximum book depth (in fullmoves) to
Invert the engine’s scores when it plays black.
This option should be used with engines that always report scores from
Set the search depth limit to <n> plies.
Set the node count limit to <n> nodes.
Set custom engine option <name> to value
•Play ten games between two Sloppy engines with a
time control of 40 moves in 60 seconds.
$ cutechess-cli -both cmd=sloppy proto=xboard tc=40/60 -games 10
•Use the name=Atak parameter because
it’s a Xboard protocol 1 engine and doesn’t tell its name.
•Use the dir=C:\atak parameter to point the
location of the executable.
•Glaurung can tell its name and is in the PATH
variable so only the command is needed.
•Set Glaurung to use 1 thread.
•Set the time control to 40 moves in one minute
and 30 seconds with a one second increment.
$ cutechess-cli -fcp name=Atak cmd=Atak32.exe dir=C:\atak proto=xboard -scp cmd=glaurung proto=uci option.Threads=1 -both tc=40/1:30+1
Written by Ilari Pihlajisto <email@example.com> and
Arto Jonsson <firstname.lastname@example.org>.
Copyright (C) 2008-2011 Ilari Pihlajisto and Arto Jonsson. Free
use of this software is granted under the terms of GNU General Public