Chess in the terminal. Free, cross-platform terminal chess game in Rust. Local play, Stockfish, Lichess. 🦀
- Description · Quick Install · Features · Quick Start · Controls · Documentation · Platforms · FAQ · Contributing
chess-tui is a free, open-source terminal chess game. Play with a friend locally, against any UCI chess engine (e.g. Stockfish), or online via Lichess. Runs on macOS, Linux, and Windows.
Homebrew:
brew install thomas-mauran/tap/chess-tui
chess-tuiCargo:
cargo install chess-tui
chess-tuiDebian/Ubuntu:
DEB_URL=$(curl -s "https://api.github.com/repos/thomas-mauran/chess-tui/releases/latest" | jq -r '.assets[] | select(.name | endswith(".deb")) | .browser_download_url') && curl -LO "$DEB_URL" && sudo dpkg -i "$(basename "$DEB_URL")" && sudo apt-get install -f
chess-tuiAvailable on:
For installation via package managers or other methods, see the Installation Guide.
Lichess Integration
Play online on Lichess directly from your terminal!
See Lichess Features for details.
Connect a chess engine:
# Simple engine path
chess-tui -e /path/to/engine
# Engine with command-line arguments (e.g., GNU Chess with UCI mode)
chess-tui -e "/opt/homebrew/bin/gnuchess --uci"
# Stockfish example
chess-tui -e /opt/homebrew/bin/stockfishSee Bot Configuration for details.
Configure Lichess:
chess-tui -l YOUR_LICHESS_TOKEN_HERESee Lichess Setup for details.
Other options: --depth 15 (engine depth), --difficulty easy|medium|hard|magnus, --no-sound. See Configuration for all flags and config file.
| Key | Action |
|---|---|
| Arrow keys or h/j/k/l | Move cursor |
| Space | Select piece / move |
| Esc | Deselect or close popup |
| ? | Help menu |
| s | Cycle skins |
| b | Back to menu |
| q | Quit |
Press ? in-game for the full list.
📚 Full Documentation (installation, configuration, Lichess, multiplayer).
- Installation (Cargo, Homebrew, Debian/Ubuntu, Arch, NixOS, Docker, binary)
- Configuration (config file, skins, bot, logging)
- Lichess (seek game, join by code, ongoing games, puzzles)
- Multiplayer (LAN and over the internet, e.g. with bore)
| Platform | Install |
|---|---|
| macOS | brew install thomas-mauran/tap/chess-tui or cargo install chess-tui |
| Linux | cargo install chess-tui, .deb, or binary |
| Arch | pacman -S chess-tui |
| NixOS | nix-shell -p chess-tui or install from nixpkgs |
| Windows | cargo install chess-tui |
- Does it work with Stockfish? Yes. Run
chess-tui -e /path/to/stockfish(see Bot Configuration). - Can I play on Lichess from the terminal? Yes. Get a Lichess API token and run
chess-tui -l YOUR_TOKEN. - What is chess-tui built with? Rust, ratatui (TUI), shakmaty (chess), ruci (UCI engine support).
- Where is the config?
config.tomlandskins.jsonin your config dir (e.g.~/.config/chess-tui/on Linux). See Configuration.
Run into issues? Check the docs: Lichess setup & troubleshooting, Bot configuration & troubleshooting. Otherwise open an issue.
Contributions are welcome. See CONTRIBUTING.md for guidelines.
- 📦 Crates.io
- 📖 Documentation
- 📋 Releases (changelog)
- 🗺️ Roadmap
- 🐛 Report Issues
- ⭐ Star the repo if you find it useful; it helps others find it.
Terminal chess · Chess in the terminal · Chess CLI · Command line chess · Rust TUI · UCI engine · Lichess · Stockfish · ratatui





