ClassicChess Notebook works offline and keeps your files on your machine. Start on a scratch board, move the work you want to keep into a Notebook, and connect any Notebook to your Classic Chess account if you want it synced.
◇Getting started
Help → Welcome brings back the start page. New Blank Analysis opens a board straight away without creating a Notebook; the analysis stays in memory until you save it into a new or existing Notebook.
Use the Explorer to create folders and analyses. Right-click a Notebook or folder to create inside it, or right-click an analysis to create beside it.
◇Notebooks and cloud
The Library marks each Notebook as On this device, on your Classic Chess profile, or both. For synced Notebooks the status shows whether the copies match, which one is ahead, or whether both changed and need a look.
◇Analysis engines
Open Engines in the activity bar and install Stockfish, LCZero CPU, or LCZero GPU with one click. Notebook downloads the engine from its official project and keeps it updated.
Engines start with their own defaults. Advanced Settings lists every UCI option the selected engine reports, and you can reset one option or Reset all to engine defaults.
◇Commands and keyboard shortcuts
Ctrl+Shift+P opens the Command Palette. It starts empty; enabled extensions add their commands to it. Plain Ctrl+P is reserved.
File → Keyboard Shortcuts lets you search actions, add or change a key combination, remove one, fix a conflict, or go back to the defaults.
◇Remote access
Remote shares a Notebook session you start on one machine with another desktop signed in to the same account, over an encrypted connection tied to that account. On the second machine, choose Connect to Remote and Notebook reopens as a full workbench — Explorer, Library, books, engines, extensions and analysis — running on the host machine. Disconnect and you're back in your local workbench; the host keeps running. The connection only carries Notebook; it is not a shell and gives no general file access.
◇Extensions and authoring
Extensions installs local .ccx packages and lets you enable, disable, or uninstall them. A new extension starts disabled so you can look at its publisher, license, commands and requested permissions before any of its code runs.
◇Create a package
Choose Create Extension Starter for a working command-and-theme project. A theme-only extension does not need executable code or permissions: package extension.json with one or more validated themes/*.json files. A command extension adds extension.js. README.md and LICENSE are optional. ZIP the files, rename the archive to end in .ccx, and keep the finished package at 2 MB or smaller.
{
"schemaVersion": 1,
"id": "example.hello-chess",
"displayName": "Hello Chess",
"description": "A small analysis helper.",
"version": "0.0.1",
"publisher": "Example",
"license": "MIT",
"main": "extension.js",
"permissions": ["analysis:read", "ui:notifications"],
"contributes": {
"commands": [
{
"command": "example.hello-chess.describePosition",
"title": "Hello Chess: Describe Current Analysis"
}
]
}
}
◇Commands and permissions
Every command identifier must begin with the extension identifier. Supported permissions are analysis:read, analysis:write, and ui:notifications.
Register declared commands, read or replace the analysis, and show a notification with these API calls:
classicChess.commands.registerCommand(id, handler);
classicChess.analysis.read();
classicChess.analysis.replace(pgn);
classicChess.window.showInformationMessage(message);
◇Themes
To contribute only a color theme, omit main, permissions, and commands. Add contributes.themes entries with:
- A unique lowercase id and a label.
- A uiTheme: vs, vs-dark, hc-black, or hc-light.
- A safe ./themes/name.json path. The theme file needs a non-empty colors object using Code OSS workbench color identifiers.
Notebook validates paths, JSON, identifiers, sizes, and color values before installation. Theme-only packages never run code.
◇Execution limits
Extensions run in an isolated, network-disabled Web Worker.
- No access to Electron, Node, DOM, account credentials, shell commands, network requests, or arbitrary filesystem access.
- Long-running activation or commands are stopped automatically.