Play chess against any LLM.
Play frontier cloud models through OpenRouter, or run entirely offline with a local model in LMStudio, llama.cpp, or Ollama. A pure-Swift chess engine enforces every rule, and the LLM you've chosen plays the moves — with streaming commentary in the tone you've picked.
Features
Full chess rules
A pure-Swift chess engine enforces every rule: castling, en passant, pawn promotion (pick your piece), checkmate, stalemate, the 50-move rule, threefold repetition, and insufficient material. You can never make an illegal move, and neither can the LLM — when it suggests one, ChessLLM re-prompts with the legal options.
Four commentary tones
After every move, the LLM you've picked streams a live commentary track in the tone you've chosen:
- Funny — playful, pun-heavy, light teasing
- Serious — tournament-style analysis of threats and plans
- Training — beginner-friendly coaching that explains what just happened and what to watch for
- Abusive — a brutally honest mentor who roasts your blunders. Earn your respect.
Switch tones mid-game and the next move's commentary uses the new tone.
Bring your own LLM
Four providers, one consistent interface:
- OpenRouter — frontier cloud models (Claude, GPT-4o, Llama 3.1, Gemini, and more). Bring your own key.
- LMStudio — point at the local server, pick a loaded model.
- llama.cpp — point at
llama-server, pick your loaded GGUF. - Ollama — point at the default port, pick any pulled model.
All four use the same OpenAI-compatible chat-completions protocol. Switching providers is one click in Settings.
Designed for the Mac
Native SwiftUI throughout. Three-pane layout: move list on the left, board in the center, commentary history on the right. Keyboard shortcuts. Settings live in the standard ⌘, panel. Your API key is stored in the macOS Keychain — never on disk in plain text, never on our servers (we don't have any).
Privacy
ChessLLM has no servers and collects no data. The only network traffic is to the LLM provider you choose. If you run a local provider, ChessLLM never reaches the internet. See the privacy policy for details.
Pricing
ChessLLM is free. If you use a cloud provider (OpenRouter), you pay that provider directly for usage. A single game typically costs cents to pennies depending on the model. Local providers (LMStudio, llama.cpp, Ollama) are free — they run on your Mac.
Requirements
- macOS 14 (Sonoma) or later
- Apple Silicon or Intel
- Internet connection — only if you use OpenRouter
- One of: an OpenRouter account, LMStudio, llama.cpp's server, or Ollama