Recently, a lot has been made of a post gone viral, someone claiming that GPT is beaten in chess by a half century old Atari 2600 using a chess cartridge.
This claim was fundamentally based on a misunderstanding of how language models really work. You cannot expect a language model to keep track of the chessboard internally ("in its head") across multiple turns. You can, however, expect an advanced language model to propose legal, moderately competent moves at each turn so long as it is informed of the board's current state. To this effect, I created a trial implementation, a demo of which (no actual GPT calls, as that would be costly) is presented here.
To play, well, just play. Again, no GPT here, so you are playing both sides. (The GitHub repo includes the code that accesses GPT.)