Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>VS Code ChessNew to Visual Studio Code? Get it now.
VS Code Chess

VS Code Chess

eunai

|
26 installs
| (0) | Free
Monitors Chess.com Daily games and notifies you when it is your turn to move.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VS Code Chess

GitHub package.json version status: active License GitHub Repo stars

A VS Code extension that monitors your Chess.com Daily (correspondence) games and calmly signals when it is your turn to move, with a link to open the most urgent game in the browser.

Features

  • Turn awareness — watches your ongoing Daily games and surfaces how many await a move.
  • Grouped sidebar — a Chess view in the activity bar lists your Daily games by whose move it is: Your move, Low time (under an hour left to move), and Opponent's move — each group with a count, each game showing your opponent's name and exactly how long is left to move, soonest deadline first. Groups fold and unfold, so the panel stays calm and scannable.
  • Click a game to see its board — click or keyboard-activate (Enter / Space) a game to open its live board right beneath it, oriented to your color; one board is open at a time. Click the board to open that game on Chess.com, or click the name again to fold the board away. Games stay listed and clickable even during a transient network failure.
  • Opponent cards — hover over, or keyboard-focus, an opponent's name to see who you're playing: their title, country, Daily rating, total Daily games, and the year they joined Chess.com. Purely informational and screen-reader friendly; a View profile on Chess.com button beneath the open board opens their full profile. On by default; turn it off entirely with vscodeChess.opponentCards.
  • New-games count on the chess icon — when games newly become your move while the panel is hidden, a number appears on the activity-bar icon, so you can tell something changed without opening the panel. Opening the panel clears it; it counts only games that are new since you last looked, and it survives restarts.
  • Move Trail — the open board highlights the two squares of the most recent move (where the last piece came from and where it landed) with a warm gold tint.
  • Board Theme — the board squares wear your active VS Code color theme, while the pieces stay unchanged; switch back to classic board colors with vscodeChess.boardTheme.
  • Always-visible signal — a status-bar ♟ stays visible in every state, even when no game awaits your move or the sidebar is hidden.
  • Proof of life — the ♟ appears the moment the extension loads, before you've set a username, so you always know it's installed and running.
  • One-click to the board — opens the most urgent game (soonest move deadline) on Chess.com.
  • Calm by design — never blanks the UI on a transient network error and never nags; a blip shows a quiet "Reconnecting…" while keeping the last-known count.
  • No credentials — uses only a Chess.com username against the public, unauthenticated Chess.com API.

Covers Daily (correspondence) games only; Live formats (Blitz, Rapid, Bullet) are not supported.

Accessibility

  • Group headers, game rows, and the open board are native VS Code webview buttons with descriptive accessible names; group headers announce whether they are expanded or collapsed.
  • Keyboard users can Tab through the panel in reading order and activate any control with Enter or Space — fold a group, open a game's board, or open the game on Chess.com.
  • Empty states are plain text messages, so focus never lands on a dead control.
  • The focused control uses VS Code's focus color, including High Contrast themes.
  • The opponent card is a pure description, not a control: it never traps focus or requires entering it, and the same content is announced to screen readers on keyboard focus as on hover. Escape dismisses it without moving your focus.

Requirements

  • Visual Studio Code
  • A public Chess.com username with ongoing Daily games

Installation

Install from the VS Code Marketplace, search VS Code Chess in the Extensions view, or run:

code --install-extension eunai.vscode-chess

From source

npm install
npm run build      # bundle the extension host + webview into dist/

Then open the repository in VS Code and press F5 to launch an Extension Development Host with the extension loaded.

Usage

  1. Open VS Code settings and set your Chess.com username:

    // settings.json
    "vscodeChess.username": "your-chesscom-username"
    

Once a username is set, the extension begins monitoring automatically. A status-bar ♟ — the Presence — is always visible: it shows ♟ N when N Daily games await your move (click it to open the most urgent game, soonest move deadline, in your browser), and a bare ♟ when none await. Before you've configured a username it prompts you with ♟ Set Username, and if Chess.com doesn't recognise the username it shows ♟ Unknown User — both click through to Settings. It never disappears, so you always have a proof of life that the extension is running.

Open the Chess view from the activity bar to see your Daily games grouped by whose move it is — Your move, Low time, and Opponent's move — each game named after your opponent with how long is left to move, soonest deadline first. Click a game to open its live board beneath it (one board at a time, oriented to your color); click the board to open that game on Chess.com. While the panel is hidden, a count on the chess icon shows how many games have newly become your move since you last looked — opening the panel clears it. Before you've set a username (or if Chess.com doesn't recognise it), the panel shows a short note and the status-bar ♟ is the click-through to Settings.

Versioning

This project follows Semantic Versioning 2.0.0. Notable changes are recorded in CHANGELOG.md.

License

Licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).

Board rendering uses chessground, the open-source board UI from Lichess, which is GPL-3.0-or-later; bundling it makes the combined extension subject to the GPL.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft