Pawno
Multiplayer chess in your terminal.
Pawno is a free, open-source chess game that runs in your terminal. Compete online against friends and colleagues, or locally against bot players.
Installation and usage
Coming soon to Homebrew and other package managers. In the meantime, it's easy to build from source:
-
Install Go if you don't already have it.
-
git clone https://gitlab.com/philbooth/pawno.git cd pawno make run
After that everything should be straightforward. If not, please open an issue!
If you've created a multiplayer game, you must share the join code with your opponent through other channels. Likewise if you want to join someone else's multiplayer game, you must ask them to send you the join code. In future it may be possible to share join codes from inside the client, but that possibility does not exist right now.
Note the multiplayer backend is pretty ruthless in handling lost connections currently. This is to minimize resource usage as I'm running on a small instance with a tiny database. If the server fails to receive a heartbeat from a client in a 1-minute window, the connection is deemed lost and the game is aborted with no possibility of reconnection. Aborted games are awarded to the opposing player as a win by resignation.
The game persists state locally as JSON. You can delete this file if you need to clear state, or edit it if you're unhappy with the leaderboard. 🙂
-
On Linux:
~/.local/share/pawno/state.json -
On MacOS:
~/Library/Application\ Support/pawno/state.json -
On Windows:
%APPDATA%\pawno\state.json
Source code
Pawno is free open source software (FOSS), licensed under the AGPL, version 3. You can view, fork and clone the source code on GitLab.
Development was LLM-assisted. The user interface was 100% vibe-coded, with Claude Code. The core chess logic was 100% written the old-fashioned way, with Vim and stupid meat fingers. The rest of it was a joint effort.
The chess puzzles were copied from the Lichess open database, which is in the public domain (CC0 1.0 Universal).