A Chromium extension that adds a live evaluation bar to Chess.com and Lichess games, powered by Stockfish.
Created by lurimous
| Supported | |
|---|---|
| Browsers | Chrome, Brave, Edge (Chromium-based) |
| Sites | Chess.com, Lichess.org |
| OS | Windows 10 / 11 |
| Overlay Mode | Windows only (native .exe) |
- Real-time position evaluation bar (Chess.com and Lichess)
- Score in pawns format (e.g., +1.5) with depth indicator
- Best move arrow — plus optional alternative move arrows
- Overlay Mode — transparent native window drawn over the board, invisible to screen capture
- Works on live games, spectating, analysis, and archived games
- Auto-move and smart timing
- Configurable engine depth and skill level
- Native Stockfish support for 10–100× faster analysis
- Runs entirely locally — no server, no account required
git clone https://github.com/lurimous/Chessist.git
- Go to
chrome://extensions(orbrave://extensions) - Enable Developer mode (toggle, top right)
- Click Load unpacked → select the
Chessistfolder - The Chessist icon appears in your toolbar — copy the extension ID shown below the name
Requirements before running:
- Python 3 in PATH (python.org — check "Add to PATH" during install)
- Stockfish (stockfishchess.org/download)
Run setup.bat from the root of the repo:
setup.bat
It will:
- Check Python is installed
- Install the
websocketsPython package - Set up Stockfish (or let you point to your
.exe) - Ask for your extension ID and register the native messaging host
- Optionally add the overlay to Windows startup
- Restart your browser
- Click the Chessist icon → select Native under Engine — status should show Connected
- Open any game on chess.com or lichess.org
Overlay Mode renders the evaluation bar and move arrows in a transparent native window that sits on top of the browser. The browser-side UI is hidden, making Chessist invisible to screen capture and recording tools.
The overlay launches automatically when you enable Overlay Mode — or run manually:
start.bat
The overlay minimizes to the system tray (bottom right). Right-click → Quit to exit.
When Overlay Mode is enabled the popup shows a live status dot:
- 🟢 Overlay connected — overlay is running and receiving data
- 🔴 Overlay not running — run
start.batto launch it
The overlay checks for updates on startup. A tray notification appears if a newer version is available on GitHub.
| Setting | Description |
|---|---|
| Skill Level | 1–20. Lower values allow occasional suboptimal moves |
| Engine Depth | How deep Stockfish searches (higher = stronger, slower) |
| Show Best Move | Draw an arrow for the top engine move |
| Show Alternative Arrows | Draw arrows for 2nd and 3rd best moves |
| Auto Move | Automatically play the best move |
| Overlay Mode | Use transparent native window instead of browser UI |
| Player Color | Auto-detect, or force White/Black perspective |
Chessist/
├── setup.bat # First-time setup (run this)
├── start.bat # Launch overlay manually
├── dev/
│ ├── rebuild.bat # Rebuild overlay from source
│ └── start_debug.bat # Launch overlay with debug console
├── manifest.json
├── src/
│ ├── content/
│ │ ├── content.js # Chess.com board detection & eval
│ │ ├── lichess.js # Lichess board detection & eval
│ │ └── content.css
│ ├── background/
│ │ └── service-worker.js
│ ├── engine/ # Stockfish WASM (built-in engine)
│ ├── offscreen/
│ ├── popup/
│ │ ├── popup.html
│ │ ├── popup.js
│ │ └── popup.css
│ └── options/
├── native-host/
│ ├── stockfish_host.py # Native messaging host
│ ├── chessist_overlay.py # Overlay tray app (WebSocket server)
│ ├── chessist_overlay.bat
│ ├── stockfish_host.bat
│ └── dist/ # Built exe (after running setup.bat)
└── icons/
Eval bar doesn't appear
- Make sure you're on chess.com or lichess.org
- Refresh the page
- Check the extension is enabled in
chrome://extensions
Native engine not connecting
- Run
setup.batagain and make sure the extension ID is correct - Verify Python 3 is in PATH:
python --versionin a terminal - Verify Stockfish is in PATH:
stockfishin a terminal, or setSTOCKFISH_PATHenv var
Overlay not showing
- Check the tray icon area (click
^in the taskbar corner) - Run
start.batmanually and check for errors in the console - Windows Defender may flag the exe — if so, allow it or build from source:
dotnet build overlay\ChessistOverlay.csproj -c Release
"Extension context invalidated" error
- Refresh the chess page — this happens when Chrome restarts the service worker after a long session
- Created by lurimous
- Powered by Stockfish
- WASM build from lichess-org/stockfish.js
MIT

