Reckless
Competitive chess engine written in Rust
Install / Use
/learn @codedeliveryservice/RecklessREADME
Reckless is an open source competitive chess engine, consistently performing among the top engines in major tournaments including Chess.com Computer Chess Championship (CCC) and Top Chess Engine Championship (TCEC).
Rating
| Version | SPCC | CCRL Blitz | CCRL 40/15 | Release Date | | ------------------------- | --------------- | ---------------------- | ----------------------- | ------------ | | Reckless v0.9.0 | 3833 +/- 4 [#2] | 3767 +/- 13 [#2] | 3612 +/- 19 [#2] | Mar 1, 2026 | | Reckless v0.8.0 | 3777 +/- 4 [#4] | 3765 +/- 14 [#2] | 3609 +/- 11 [#3] | Aug 29, 2025 | | Reckless v0.7.0 | | 3500 +/- 12 [#68] | 3422 +/- 12 [#72] | Aug 23, 2024 | | Reckless v0.6.0 | | 3386 +/- 15 [#95] | 3317 +/- 15 [#103] | Mar 22, 2024 | | Reckless v0.5.0 | | 3240 +/- 17 [#133] | 3211 +/- 17 [#140] | Feb 4, 2024 | | Reckless v0.4.0 | | 2934 +/- 17 [#210] | 2926 +/- 16 [#222] | Dec 13, 2023 | | Reckless v0.3.0 | | 2616 +/- 19 [#297] | 2617 +/- 19 [#321] | Nov 6, 2023 | | Reckless v0.2.0 | | 2349 +/- 18 [#406] | | Oct 7, 2023 | | Reckless v0.1.0 | | 2005 +/- 18 [#539] | | May 16, 2023 |
Getting started
Precompiled binaries
You can download precompiled builds from the GitHub Releases page.
-avx512: Fastest, requires a recent CPU with AVX-512 support-avx2: Fast, supported on most modern CPUs-generic: Compatible with virtually all CPUs, but significantly slower than AVX2 or AVX512 builds
[!NOTE] If you're unsure which binary to use, try the AVX-512 build first. If it doesn't run on your system, fall back to the AVX2 build, or the generic one as a last resort.
Building from source
To build Reckless from source, make sure you have:
Rust 1.88.0or a later version installed (official Rust installation guide)Clanginstalled (required for building the Fathom library used for Syzygy endgame tablebase support)
Once installed, you can build it with:
cargo rustc --release -- -C target-cpu=native
# ./target/release/reckless
To build without Syzygy tablebase support and Clang dependency, add the --no-default-features flag:
cargo rustc --release --no-default-features -- -C target-cpu=native
PGO builds
For profile-guided optimization (PGO) builds, you need to install additional tools:
rustup component add llvm-tools
cargo install cargo-pgo
Then, you can build the engine using make:
make pgo
# ./reckless
Or run the steps manually:
cargo pgo instrument
cargo pgo run -- bench
cargo pgo optimize
# ./target/x86_64-unknown-linux-gnu/release/reckless
# (the path may vary based on your system)
Usage
Reckless is not a standalone chess program but a chess engine designed for use with UCI-compatible GUIs, such as Cute Chess, En Croissant, or Nibbler.
UCI options
Reckless supports the following UCI options:
| Name | Default | Description | | ------------ | ------- | -------------------------------------------------------------------- | | Hash | 16 | Size of the transposition table in MB [1–262144] | | Threads | 1 | Number of search threads [1–512] | | MultiPV | 1 | Number of principal variations to display [1–218] | | UCI_Chess960 | false | Enable Chess960 (Fischer Random) support [false–true] | | Minimal | false | Enable minimal UCI output [false–true] | | MoveOverhead | 100 | Time in milliseconds reserved for overhead during each move [0–2000] | | Clear Hash | — | Clear the transposition table | | SyzygyPath | — | Path to Syzygy endgame tablebases |
Custom commands
Along with the standard UCI commands, Reckless supports additional commands for testing and debugging:
| Command | Description |
| --------------- | ---------------------------------------------------------------------------------- |
| perft <depth> | Run a perft test to count the number of leaf nodes at a given depth |
| bench | Run a benchmark on a set of positions to measure the engine's performance |
| d | Print the current board position in a human-readable format together with FEN |
| eval | Print the network evaluation of the current position from white's perspective |
| compiler | Print the compiler version, target and flags used to compile the engine |
Acknowledgements
- Code contributors who help develop and improve Reckless
- Hardware contributors providing compute resources
- OpenBench is the primary testing framework powered by Cute Chess
- Bullet is the NNUE trainer
- Stockfish, PlentyChess, and many other open source chess engines
- Members of the Stockfish Discord server
- Chess Programming Wiki
- CCRL and all chess engine testers out there
License
This project is licensed under the GNU Affero General Public License v3.0.
