UCI option

A configuration parameter that a chess engine advertises and a user interface can inspect or change through UCI.

This page is temporarily shown in English. Complete localization will be added in a later stage.

Explanation

UCI stands for Universal Chess Interface. It is a text protocol that lets a graphical interface, the program showing the board and controls, communicate with a , the program that calculates moves. A UCI option is a setting the engine exposes to that interface, such as memory size, processing threads, or Chess960 support.

When the interface starts a UCI session, the engine advertises each option with a name, type, and, where relevant, a default value, limits, or allowed choices. The interface can turn that description into a visible control and later send a setoption command to change it. Available options vary by engine and version.

The five UCI option types

  • check: a true-or-false value, usually displayed as a checkbox.
  • spin: an integer constrained by a minimum and maximum.
  • combo: one choice from a predefined set.
  • button: a one-time action with no stored value, such as clearing an internal table.
  • string: free text, such as a file path.

An option is neither a chess rule nor a promise of universal compatibility. Two engines may use different names, ranges, and values for similar features. Controlling software should read what each engine actually advertises instead of assuming a fixed list.

Common confusions

UCI versus a UCI option

UCI is the complete communication protocol; a UCI option is one setting exposed through that protocol.

Sources

  1. 1.UCI Protocol and Stockfish Commands, Stockfish
  2. 2.UCI Protocol, backscattering.de

Related terms

© MindZug 2026