Chess Analysis and Review Application
User Manual
Version 2.8.4
CARA (Chess Analysis and Review Application) is a full-featured desktop application designed for analyzing and reviewing chess games. Unlike chess playing applications or puzzle solvers, CARA focuses exclusively on post-game analysis and review, helping you understand your games, identify mistakes, recognize patterns, and improve your chess understanding.
The development of CARA was motivated by the author's underwhelming experience with existing (and sometimes quite expensive) chess analysis tools, which often fell short in terms of usability, practical workflow integration, and the ability to deliver meaningful, actionable insights. Many applications overwhelmed users with unnecessary complexity and provided superficial analysis that didn't translate into genuine improvement. CARA was created to bridge this gap, offering an intuitive interface that makes deep game analysis accessible in an efficient manner while providing the detailed insights needed to understand not just what moves were played, but why they were played and how to improve.
Whether you're analyzing your own games, studying master games, or reviewing games from online platforms like Lichess or Chess.com, CARA provides the tools you need to gain deep insights into chess positions, moves, and patterns.
CARA offers an extensive set of features designed to support thorough chess game analysis and review. Here are the main capabilities:
F4).These features work together to provide a complete analysis environment, from importing and organizing games to deep positional understanding and statistical insights.
CARA was built in large part by an AI model under the author's direction. The author took special care to ensure the AI adhered to the established architectural guidelines and coding conventions throughout the development process, while proposing the features, user stories, and UX design. This project served as an experiment to explore the feasibility of building a full-fledged, complex desktop application with Python using AI code completion, testing whether modern AI tools can produce polished, fully-featured software when guided by clear architectural principles and consistent oversight.
CARA is built with PyQt6 and follows PyQt's Model/View architecture with additional separation of business logic using Controllers and signal observation patterns, ensuring a responsive user interface and clean separation of concerns. Views observe models through Qt's signal/slot mechanism, automatically updating when model data changes, while Controllers orchestrate business logic and coordinate between services and models. Following a strict coding convention, all UI styling, including fonts, colors, sizes, and dimensions, is defined in a centralized configuration file with no hardcoded values in the view components. This allows for complete customization of the application's appearance without modifying code.
This manual provides comprehensive documentation for CARA, covering everything from installation and basic usage to advanced configuration and troubleshooting. The manual is organized into seven main sections:
Navigation: Use the Table of Contents at the top to quickly jump to any section. All section headings are clickable links that navigate directly to that content. Cross-references throughout the manual link to related sections for easy navigation.
CARA relies on the following open-source libraries:
The author would like to express sincere appreciation to the developers and maintainers of these open-source projects. Their dedication and excellent work have made this application possible, and their contributions to the open-source community are invaluable.
The default chess pieces CARA ships with are the classic SVG set created by User:Cburnett and hosted on Wikimedia Commons. These pieces are distributed under the dual licenses Creative Commons Attribution-ShareAlike 3.0 and GNU Free Documentation License, which permit reuse and modification as long as attribution is provided and derivative works remain under the same license terms. Full details and download links for every piece in the set are available in the SVG chess pieces collection on Wikimedia Commons.
CARA also ships with the Kosal Chess Piece Set by philatype, licensed under Creative Commons Attribution 4.0 International (CC BY 4.0), which permits reuse and modification as long as attribution is provided.
We extend our thanks to Cburnett, the Wikimedia Commons community, and philatype for maintaining these high-quality, freely reusable chess assets.
CARA uses two types of opening resources for identifying book moves and classifying chess openings:
ECO Database: The application includes an ECO (Encyclopaedia of Chess Openings) database based on the eco.json project by hayatbiralem, licensed under the MIT License. This extensive database contains over 12,000 known opening variations and is a collation of multiple chess opening sources including lichess, SCID database, Wikipedia, ChessTempo, and other public chess databases. The original eco.json data was compiled by Ömür Yanıkoğlu, with credit to Shane Hudson for the original SCID opening data. The database files (eco_base.json and eco_interpolated.json) were merged from the original source files (ecoA.json, ecoB.json, ecoC.json, ecoD.json, ecoE.json) that were organized by ECO code starting letter, simplifying lookup operations while maintaining complete coverage of chess opening theory.
Polyglot Opening Books: CARA supports Polyglot-format opening books, a binary format originally developed by Fabien Letouzey. The application includes a collection of Polyglot opening books organized by opening type (all openings, closed, flank, Indian, open, semi-closed, and semi-open). These books were compiled from publicly available sources and converted to the Polyglot format. For more information about the Polyglot format and tools, see the Polyglot repository maintained by sshivaji (a fork of Fabien Letouzey's original work).
Both resources work together to provide complete opening identification: the ECO database offers position-based classification with standardized codes and names, while the Polyglot books provide move-based detection of book moves during game analysis.
The author would like to express sincere appreciation to the creators and maintainers of these opening resources.
CARA (Chess Analysis and Review Application) is released under the GNU General Public License version 3 (GPL-3.0).
The GPL-3.0 license grants you the following freedoms:
When distributing CARA (whether modified or unmodified), you must:
GPL-3.0 was chosen for CARA because:
For the complete license text, see the LICENSE file in the CARA distribution or visit gnu.org/licenses/gpl-3.0.html.
Special thanks to the members of the HIARCS chess forum for their help in testing and refining the application.
.tar.gz per architecture).
macOS users: Official macOS App Bundles are Developer ID–signed and notarized by Apple. After unzipping, you can open the app normally (moving it to Applications is optional). The first launch may still show a one-time confirmation that the app was downloaded from the internet — choose Open.
If Gatekeeper still blocks the app (uncommon with current builds), see this Q&A post for troubleshooting steps such as Open Anyway in System Settings → Privacy & Security.
Manual Installation: The following sections describe how to manually install Python and CARA dependencies, if you don't want to use the pre-built application bundles.
Before installing CARA, ensure your system meets the following requirements:
The application has been tested on Windows 11, macOS Tahoe 26.2, and Linux Ubuntu, Debian (Gnome) and Fedora (KDE Plasma). Linux app bundles are provided for x86_64 (amd64) and aarch64 (arm64).
Python 3.8 or higher is required. CARA uses PyQt6, which requires Python 3.8+. See section 3.2 for installation instructions.
A minimum screen resolution of 1280×1024 pixels is recommended. Some dialogs require at least 800 pixels in width and 900 pixels in height to display properly. Lower resolutions may cause dialogs to be cut off or difficult to use.
No specific hardware requirements beyond what is needed to run Python and the operating system. For optimal performance when analyzing games with chess engines, a modern multi-core processor is recommended.
CARA requires Python 3.8 or higher. If you don't have Python installed, you can install it using the methods below:
Method 1: Using Windows Package Manager (Recommended)
Open PowerShell or Windows Terminal and run:
winget install Python.Python.3This automatically installs Python and adds it to your PATH.
Method 2: Manual Download
Method 1: Using Homebrew (Recommended)
If you have Homebrew installed, open Terminal and run:
brew install python3Method 2: Manual Download
After installation, open a terminal (PowerShell/Command Prompt on Windows, Terminal on macOS) and run:
python --versionThis should display the Python version number (e.g., "Python 3.11.5").
Note: On macOS, you may need to use python3 instead of python to access Python 3.
Windows PATH Troubleshooting: If you see a "python is not recognized" error on Windows, Python may not be in your system PATH. Re-run the installer and ensure "Add Python to PATH" is checked, or manually add Python to your system PATH:
C:\Users\YourUsername\AppData\Local\Programs\Python\Python3XX or C:\Python3XX).Win+X and select "System", then click "Advanced system settings".C:\Python3XX\Scripts).CARA requires several Python libraries to function (see section 2.1 for a complete list). These can be installed all at once using the provided requirements file.
pip --version in your terminal.
cd path/to/carapath/to/cara with the actual path to your CARA installation directory.pip install -r requirements.txtpip listIf pip is not available after installing Python, you can install it manually:
get-pip.py script from bootstrap.pypa.io/get-pip.py and save it to a folder on your computer.get-pip.py, and run:python get-pip.pypython3 instead of python.pip --versionIf you prefer to install dependencies individually instead of using the requirements file, you can install each library separately:
pip install PyQt6>=6.6.0pip install python-chess>=1.999pip install requests>=2.31.0pip install asteval>=0.9.31pip install charset-normalizer>=3.0.0After installing all dependencies, verify they are installed correctly using pip list.
App bundles: Download the bundle for your platform, extract it, and start CARA from the extracted folder.
To start CARA, open a terminal (PowerShell or Command Prompt on Windows, Terminal on macOS), navigate to the CARA directory, and run:
python cara.pyNote: On macOS, you may need to use python3 instead of python.
CARA uses three configuration files to manage settings and preferences:
app/config/ directory.style_default.config.json and style_light.config.json define colors, fonts, spacing, borders, and other visual styling. These files are also located in app/config/ and can be used to customize or create themes.The file location for user_settings.json and engine_parameters.json is determined by CARA's configuration settings. By default, these files are stored in the CARA root directory.
However, when running CARA as an app bundle, the files are stored in different locations:
%APPDATA%\CARA\ (usually C:\Users\YourUsername\AppData\Roaming\CARA\).~/Library/Application Support/CARA/.$XDG_DATA_HOME/CARA/ (if set) or ~/.local/share/CARA/.Win+R, type %APPDATA%\CARA, and press Enter to open the folder in File Explorer.⌘+Shift+G (Go to Folder), type ~/Library/Application Support/CARA, and press Enter.CARA provides an integrated environment for analyzing and reviewing chess games. The application window is organized into three main panels that work together to give you complete insight into your games: the Main Panel displays the chessboard and game information, the Detail Panel provides detailed analysis views and tools, and the Database Panel manages your game collections.
The interface is designed to be intuitive and efficient. You can resize panels by dragging the splitter handles between them, customize which information is displayed, and use keyboard shortcuts for quick navigation. The application automatically updates all views when you navigate through a game, ensuring that the chessboard, move lists, evaluations, and statistics stay synchronized.
← (Left Arrow) and → (Right Arrow) keys to navigate through game moves. Hold Shift with ← / → to jump to the start or end of the game. This is the primary and most efficient way to review games move-by-move. The board, moves list, and all analysis views update automatically as you navigate. With turned on, the arrows follow the active line (including sidelines) and can open a branch selector when several continuations exist—see section 4.5.
CARA separates behavioral configuration from visual styling. Use config.json for things like import/export behavior, logging, and formulas. Use the theme / style config files in app/config/ for colors, fonts, spacing, and other UI appearance settings.
All functions and features in CARA can be accessed through the menu bar at the top of the application window. Most menu items have keyboard shortcuts displayed next to them for quick access. Visual themes can be switched directly in the application through .
CARA's main window is organized into three resizable panels:
You can resize any panel by dragging the splitter handles between them. The database panel can be collapsed by double-clicking its splitter handle or using (Ctrl+Shift+D / ⌘+Shift+D). The active visual theme can also be changed from . The status bar at the bottom of the window displays status messages and progress indicators during long-running operations.
The Main Panel displays the chessboard along with game information and analysis widgets. The board updates automatically as you navigate through moves using the arrow keys.
The chessboard displays the current position.
Rotate the board 180 degrees using the X key or . Rotation is visual only and does not change the position—FEN notation always represents positions from White's perspective.
When you are viewing a variation (sideline) position with variation navigation enabled, the board uses a distinct theme appearance—typically a different frame color, square colors, and last-move highlight—so it is clear you are off the main line. These colors are defined in the theme / style config files under ui.panels.main.board.variation_appearance (see section 7.1.4).
Context menu: You can also right-click on the chessboard to open a context menu with quick access to common actions. These entries mirror the corresponding options from the menu bar.
The following visual indicators can be toggled on or off:
Alt+C / ⌥+C or .Alt+T / ⌥+T or .Alt+R / ⌥+R or .Alt+P / ⌥+P or .Alt+B / ⌥+B or .Alt+2 / ⌥+2, Alt+3 / ⌥+3 or .Alt+A / ⌥+A or .Alt+4 / ⌥+4 or .Alt+H / ⌥+H or .The game information header at the top of the Main Panel shows:
When an Opening Encyclopedia article matches the displayed opening, a small ⓘ symbol appears next to the opening name. Click it to open the article. See section 4.5.4.1 for details.
Toggle visibility with Alt+I / ⌥+I or .
The evaluation bar appears on the left side of the chessboard and shows the engine's evaluation of the current position. The bar uses white and black colors: positive values (White advantage) are shown in white extending upward from the center, negative values (Black advantage) are shown in black extending downward from the center. The scale ranges from -1000 to +1000 centipawns, with division marks at 100, 200, 300, 500, and 1000 centipawns to help gauge the evaluation magnitude. Toggle with Alt+E / ⌥+E or . When the evaluation bar is shown, the status bar displays detailed engine information including the engine name, search depth, evaluation score, principal variation, and performance metrics such as nodes per second and hash table usage. The bar always evaluates the position currently shown on the board—including variation (sideline) positions when you navigate into them.
Note: The evaluation bar requires a chess engine to be assigned to the evaluation task. See section 5.1 for instructions on configuring engines.
The material widget appears in the upper right corner of the chessboard and shows captured pieces and the material difference between the two sides. The widget updates automatically as you navigate through the game. Toggle with Alt+U / ⌥+U or .
The widget is divided into three distinct sections, reading from top to bottom:
Pieces are displayed using standard chess notation letters: P for Pawn, N for Knight, B for Bishop, R for Rook, and Q for Queen.
The castling-rights widget shows which castling options are still available in the current position (KQ for White, kq for Black). It updates automatically as you navigate through the game.
Toggle visibility with Alt+R / ⌥+R or .
The Game Tags widget is shown next to the chessboard and displays the tags assigned to the active game.
To show or hide the widget, use (see section 6.3).
The turn indicator shows which side is to move in the current position. Toggle with Alt+T / ⌥+T or .
The positional heatmap is a color-coded overlay that visualizes positional factors for each piece on the chessboard. It helps you quickly identify positional strengths and weaknesses by displaying colored gradients on squares containing pieces.
Toggle with Alt+H / ⌥+H or .
The heatmap evaluates nine positional factors:
Color Coding: The heatmap uses color gradients to represent positional scores:
The intensity of the color indicates the strength of the positional factor—darker colors represent stronger effects. The heatmap only displays on squares that contain pieces, and each piece is evaluated from its own color's perspective.
Tooltip Information: Hovering your mouse over any piece displays a detailed tooltip showing:
This detailed information helps you understand why a piece is evaluated as strong or weak and which specific positional factors contribute to the assessment.
The Database Panel, located at the bottom of the application window, manages your chess game collections. It displays all open PGN databases in a tabbed interface, allowing you to work with multiple game collections simultaneously. Each database appears in its own tab, and you can switch between them by clicking the tab labels.
The panel uses tabs to organize multiple databases:
Ctrl+Shift+S / ⌘+Shift+S), or clear it at any time using (Ctrl+Alt+C / ⌘+Alt+C).Each tab displays a pulsing orange dot indicator when the database has unsaved changes. This visual reminder helps you track which databases need to be saved. The indicator appears next to the tab label and pulses continuously until the database is saved.
Right-clicking a database tab opens a context menu with (close that database) and (close all other database tabs, keeping only the one you clicked).
Each database tab displays a table listing all games in that database. The table includes the following columns:
You can interact with the game table in several ways:
Shift+Click to select a range of games, or Ctrl+Click / ⌘+Click to select multiple individual games.Right-click context menu: Right-clicking anywhere in the game table opens a context menu with the following options:
The Database Panel can be collapsed to maximize space for the main and detail panels. Double-click the horizontal splitter handle above the panel, or use (Ctrl+Shift+D / ⌘+Shift+D) to toggle its visibility. When collapsed, the panel is minimized to a thin strip, and you can expand it again using the same method.
The panel automatically updates when games are added, removed, or modified in any database. Changes are reflected immediately in the table view, and unsaved indicators appear as needed to help you track which databases contain games with unsaved changes.
You can perform common database operations using the File menu or keyboard shortcuts:
Ctrl+O / ⌘+O) to open one or multiple PGN files. In the file dialog, you can select multiple files by clicking and dragging, holding Ctrl / ⌘ for individual selection, or Shift for range selection. Each file appears as a separate tab in the Database Panel.Ctrl+S / ⌘+S) to save the active database. This overwrites the existing database file with the current contents.Ctrl+Shift+S / ⌘+Shift+S) to save the active database as a new copy.Ctrl+W / ⌘+W) to close the active database tab.Ctrl+Alt+W / ⌘+⌥+W) to close all file-based database tabs. The Clipboard and Search Results tabs are preserved.Ctrl+Alt+V / ⌘+⌥+V) to paste into the Clipboard database, or (Ctrl+V / ⌘+V) to paste into the active database instead.
The Detail Panel contains the PGN Notation Pane at the top and a set of tabbed views below for detailed analysis.
The PGN Notation Pane displays the complete PGN notation for the current game. The PGN notation contains several different types of elements:
The content is displayed in a formatted, color-coded view with syntax highlighting to distinguish between different elements.
As you navigate through the game using the ← (Left Arrow) and → (Right Arrow) keys, the active move is highlighted in the PGN notation. A single click on any main-line move jumps to that position.
Navigating into variations: By default, ← / → and clicks stay on the main line—single clicks on variation moves do not change the position. Enable (also available from the PGN notation context menu) to browse sidelines:
→ (Right Arrow) advances along the active line. When several continuations exist from the current node, a small branch selector appears: use ↑ / ↓ to highlight a choice, → / Enter to take it, and ← / Esc to dismiss the overlay. The mainline continuation is listed first, separated visually from the sideline options.← (Left Arrow) steps back along the active path (including within a variation).→ does nothing; a second → jumps to the mainline move at the fork (the move that was played in the game instead of the variation start).Turning variation navigation off (or hiding variations with ) snaps you back to the mainline ancestor of the current path if you were on a sideline.
With enabled, double-click inside a main-line comment (text in curly braces on the main line) to open the move-comments editor for that full move. For what the dialog contains and how changes are saved, see Editing move comments in section 4.5.1.
Context menu: You can also right-click inside the PGN notation pane to open a context menu with quick access to common PGN actions. These entries mirror the corresponding options from the menu bar.
You can control what elements are displayed in the PGN Notation Pane using the PGN menu. The following options are available:
Ctrl+M / ⌘+M): Toggle display of PGN header tags (Event, Site, Date, etc.)Ctrl+Shift+M / ⌘+Shift+M): Toggle display of move commentsCtrl+Shift+V / ⌘+Shift+V): Toggle display of move variationsCtrl+Shift+T / ⌘+Shift+T): Toggle display of non-standard tags like [%evp] and [%mdl] within commentsCtrl+Shift+A / ⌘+Shift+A): Toggle display of move annotations, including symbol-based annotations (!, !!, ?, ??, !?, ?!) and NAGs (Numeric Annotation Glyphs).Ctrl+R / ⌘+R): Toggle display of game results (1-0, 0-1, 1/2-1/2)The PGN menu also provides options to permanently remove elements from the game's PGN. The following options are available:
These changes modify the game's actual PGN content which will persist when you save the database.
Below the PGN Notation Pane, the Detail Panel contains seven tabs, each offering distinct functionality for analyzing and working with the active game:
The Moves List tab displays all moves in a table format with comprehensive per-move information: move notation, evaluations, move classifications, best move alternatives, Centipawn Loss (CPL) values, engine depth, material counts, FEN positions, and more. You can customize which columns are visible and their order using column profiles. The active move is highlighted as you navigate; click any move to jump to that position in the game. Access this tab using or press F1.
Editing move comments: Main-line comments for White and Black half-moves are edited in a dedicated dialog. Double-click the Comment column for a row, or right-click that cell and choose . The same dialog opens from the PGN pane when you double-click a main-line comment, as described in section 4.5. The dialog shows the move number and SANs, with separate text areas for White's and Black's comments; if the game ends on White's move, the Black field is disabled. OK applies changes to the game's PGN; Cancel discards them. Save the database (for example ) to persist changes to disk.
The application comes with several pre-configured column profiles that organize the available columns for different analysis purposes. Switch between profiles using the number keys 1 through 9 (assigned to the first nine profiles in order), or select them from the menu. The following default profiles are available:
1): A minimal view showing only the move number, White and Black moves, and comments. Use this profile when you want a clean, uncluttered view focused on the moves themselves.2): Displays moves along with ECO codes and opening names. This profile is useful for studying opening theory and identifying which openings were played in your games.3): Shows the most important analysis columns for both White and Black moves, including evaluations, CPL values, move assessments, best move alternatives, engine depth, and top-3 move indicators. Use this comprehensive profile when you want to analyze both sides' play in detail, comparing evaluations and move quality for the entire game.4): Focuses exclusively on White's moves and their analysis. All White-related columns are visible (evaluations, CPL, assessments, best moves, depth), while Black's analysis columns are hidden. This profile is ideal when you played White and want to focus on analyzing your own moves without the distraction of your opponent's move evaluations.5): Focuses exclusively on Black's moves and their analysis. All Black-related columns are visible, while White's analysis columns are hidden. Use this profile when you played Black and want to concentrate on your own moves.You can modify any of these default profiles or create your own custom profiles. For smaller adjustments, you can reorder columns by dragging and dropping column headers in the moves list, resize columns by dragging column borders, and show or hide columns using the menu. For configuring multiple columns at once, use which provides a convenient dialog for managing all column settings. After making changes, save them with (to update the current profile) or (to create a new profile with a custom name). Custom profiles you create will also be accessible via number keys 1 through 9 based on their position in the profile list.
Right-clicking in the table opens a context menu to copy the cell value under the cursor or to export the table as CSV or TSV (visible columns only or all columns).
For a complete reference of all available columns and their descriptions, see section 7.7 "Moves List Columns Reference".
The PGN header tags tab displays all PGN header tags for the current game in an editable table format. You can view, edit, add, and remove PGN header tags. Common tags include Event, Site, Date, Round, White, Black, Result, ECO, WhiteElo, and BlackElo. Changes are applied to the game's PGN data in memory. The database is marked as having unsaved changes, and your modifications will be persisted to the database file when you save it. Access this tab using or press F2.
To edit a tag value, double-click on the value cell in the table and type the new value. Tag names cannot be edited, but you can remove a tag and add a new one with a different name if needed. To add a new tag, click the Add button at the top of the metadata view, enter the tag name and value in the dialog, then click OK. To remove a tag, select the tag row in the table and click the Remove button. You will be asked to confirm the removal. Note that some tags (such as CARA analysis and annotation tags) are read-only and cannot be edited or removed.
The Manual Analysis tab provides continuous engine analysis of the current position with MultiPV (Multiple Principal Variations) support. Access this tab using or press F3. While analysis is running, the engine follows the position shown on the board—including variation (sideline) positions when is on.
Note: Manual analysis requires a chess engine to be assigned to the manual analysis task. See section 5.1 for instructions on configuring engines.
MultiPV Analysis: The standard analysis mode displays multiple candidate moves and their evaluations. You can analyze any number of principal variation lines simultaneously, each displaying the engine's recommended moves, evaluations, and depths. The first three PV lines (PV1, PV2, PV3) have color-coded indicators in the analysis display that match the colors of the corresponding arrows on the chessboard when enabled. This visual connection helps you quickly identify which analysis line corresponds to which arrow on the board. Right-clicking on a PV line opens a context menu so you can copy that PV line or all PV lines to the clipboard. The following options are available:
Alt+M / ⌥+M): Start or stop continuous engine analysis of the current positionAlt+N / ⌥+N): Add an additional principal variation lineAlt+R / ⌥+R): Remove the last added PV line (requires at least two lines)Win / Draw / Loss bar: Engines that support UCI_ShowWDL (for example recent Stockfish and Lc0 builds) can report white/draw/black probabilities for the best principal variation. CARA displays these as a stacked bar labeled “Win probability (best engine play)”. These values reflect strong engine self-play outcomes from the current position under best play—not human opening statistics or a claim of perfect play. If the engine does not emit WDL, the bar stays hidden.
Positional Plan Exploration: This unique feature helps you understand the engine's positional plans by visualizing where the engine wants to move specific pieces and how they coordinate through the recommended sequence. Instead of just seeing individual moves, you can see the complete trajectory of each piece—where it starts, where it moves to, and the path it takes through multiple moves. The system automatically identifies the pieces that move most frequently in each PV line and tracks their movement patterns. Each of these selected pieces is assigned a distinct color and highlighted in that color in the PV display, while on the chessboard, their trajectories are visualized as colored lines connecting the squares each piece visits through the engine's suggested sequence. This helps you recognize positional themes, piece coordination patterns, and strategic plans that might not be immediately obvious from traditional engine analysis alone.
The following options are available:
The Opening Explorer tab helps you study the opening path to the current position and book continuations from here. Access this tab using or press F4.
The view has two main parts:
When an encyclopedia article is available for a named opening on the path or among the continuations, an information control (ⓘ) appears next to that name so you can open the article directly. See the next section.
The Opening Encyclopedia provides articles for many well-known openings and variations. Each article includes a short introduction, a Key ideas section, Name origin and History sections, and up to two illustrative images, so you can learn more about an opening that you encountered in one of your games or that you discovered in the Opening Explorer.
To open the encyclopedia, look for the small ⓘ symbol next to the opening name in the Game Information header above the board or the opening entries in the Opening Explorer pane.
CARA tries to open the article that matches the specific opening line whenever possible. If that exact variation is not yet covered, it falls back to an earlier related variation in the same opening family. When that happens, a Fallback tag appears under the title so you can see that the article shown is for a related parent line rather than a dedicated entry for the exact variation.
Use the search icon in the dialog header to look up other openings by name or ECO code. Common abbreviations such as KID (King's Indian Defense) are recognized, and you can refine them further (for example KID b3). Click a result to open that article. When many openings match, CARA shows a short list and notes how many further matches were found.
The Game Summary tab provides a comprehensive overview of the current game by synthesizing data from the Game Analysis function into key performance indicators (KPIs) and valuable insights. Access this tab using or press F5.
Ctrl+G / ⌘+G).
Evaluation Graph: At the top of the view, a visual graph shows how the position evaluation changed throughout the game over time. The graph includes indicators marking phase transitions (opening to middlegame, middlegame to endgame) and highlights the worst and best moves for each player, making it easy to see critical moments and how the game's balance shifted. The graph is displayed in a resizable panel that can be adjusted to show more or less detail.
The evaluation graph supports two display modes that you can toggle using (Ctrl+Shift+N / ⌘+Shift+N):
Key Statistics: The summary displays per-player statistics for both White and Black, including:
Move Classification: The view displays pie charts showing the distribution of move quality throughout the game for each player. You can see how many moves were strong (Best Move, Good Move, Brilliant) versus how many were errors (Inaccuracy, Mistake, Blunder), giving you a quick visual overview of each player's performance. The charts also show book moves and missed opportunities.
Phase Analysis: The view breaks down performance for each player across the three phases of a chess game—Opening, Middlegame, and Endgame—showing how each player performed in different stages of the game. This helps you identify strengths and weaknesses in specific phases. Each phase section shows accuracy, average CPL, and move counts for that phase. The system automatically detects phase boundaries based on opening theory, material exchanges, and endgame classification. When an endgame is detected, the system also classifies the specific endgame type (such as Pawn Endgame, Rook Endgame, Minor Piece Endgame, or Queen Endgame) based on the material composition, which is displayed in the phase analysis section.
Game Highlights: The view displays detected tactical and positional patterns that occurred during the game. Highlights are organized by game phase and help you quickly identify key moments. Each highlight entry is a clickable link that navigates directly to the move where the pattern occurred, allowing you to quickly review the position and context.
Critical Moments: The summary identifies the top best and worst moves for each player, allowing you to quickly review and navigate to critical moments in the game. Each critical moment shows the move number, move notation, evaluation, and best alternative move when applicable. Each critical moment entry is a clickable link that navigates directly to that move in the game, making it easy to jump to and analyze these important positions.
Copying to clipboard: Right-click in the Game Summary view to open a context menu. You can copy the section you clicked on (e.g. Key Statistics, Phase Analysis, Critical Moments) or copy the full summary to the clipboard.
PDF report: The same context menu offers , which saves a multi-page report with overview, evaluation chart, classifications, phases, highlights, and an annotated game with diagrams.
This comprehensive overview helps you quickly understand the flow of the game, identify critical moments, and assess each player's performance across different phases of play.
The Player Stats tab answers questions about a player across many games at once (not to be confused with Game Summary, which describes a single game). Open it with or press F6.
In short: pick a Source (which set of games to use) and a player. Only players with at least two analyzed games in that source appear in the list, because the figures are meant to reflect a pattern rather than a single outing.
The page is made of separate sections you can turn on or off; several charts offer their own display options. For prerequisites, every section, chart interactions (such as opening games from a heatmap or a pattern), and settings in everyday language, read section 5.7 Viewing Player Statistics.
The Annotations tab provides tools for creating and managing custom CARA annotations on the chessboard. Unlike regular PGN annotations, CARA annotations include free-form text that can be positioned anywhere on the board, adjusted in size and rotated.
You can also add arrows, circles, and square highlighting with customizable colors. Annotations are position-specific, attached to the current path in the game tree (mainline or variation), and are compressed and serialized in a PGN metadata tag to keep the PGN move notation clean.
Access this tab using or press F7.
The AI Summary tab provides an interactive chat interface for discussing any position in a game with a Large Language Model (LLM). The AI model has access to extensive game data, including detailed engine analysis, move classifications, evaluation metrics, and positional information, enabling it to provide accurate assessments of the game, played moves, and current position. You can ask questions about the game, request explanations of moves, or generate summaries. Access this tab using or press F8.
CARA supports OpenAI, Anthropic, and custom OpenAI-compatible endpoints. Configure your provider and API key through the AI Model Settings dialog; see section 6.12. See section 7.9 for more information on setting up a custom endpoint.
Use the Notes tab to keep your own comments, plans, or post-mortem thoughts with a game.
When you type move notation (e.g. 1. e4, 13... Rb7), CARA recognizes it and formats it for you. Moves that were actually played in the current game become clickable links—click one to jump to that position. Other move notation (for example from variations or lines you're discussing) is shown in bold only, so it still stands out but doesn't link. That way you can refer to specific moves or positions and jump straight to them when the move is in the game.
Markdown formatting in Notes: Use the formatting toolbar above the editor to apply a small Markdown subset to the currently selected text. Supported syntax:
# , ## , ### at the start of a line (H1/H2/H3 buttons).**text** (also supported: __text__).*text* (also supported: _text_).***text*** (also supported: ___text___).`code`.~~text~~.> text at the start of a line.To attach your text to the current game, use (Ctrl+Alt+N). To remove the notes for the current game, use (Ctrl+Shift+E). Notes are written to the PGN when you save the database.
Open the Notes tab from or press F9.
Below you can find a list of the most common keyboard shortcuts (application defaults), allowing you to work efficiently with the features described in this section. You can customize these bindings in CARA—see section 6.14.2. For a complete reference of all default keyboard shortcuts organized by category, see section 6.16.
← (Left Arrow): Navigate to the previous move along the active path (main line, or within a variation when variation navigation is enabled)→ (Right Arrow): Navigate to the next move along the active path; with variation navigation enabled, opens the branch selector when multiple continuations existShift+←: Jump to the starting position of the gameShift+→: Jump to the last move of the main line↑ / ↓: While the branch selector is open, move the highlight among choicesEnter: While the branch selector is open, take the highlighted continuation (→ also confirms)Esc: Dismiss the branch selector without moving (← also dismisses)X: Rotate the board 180 degreesAlt+C / ⌥+C: Toggle coordinates displayAlt+T / ⌥+T: Toggle turn indicatorAlt+P / ⌥+P: Toggle played move arrowAlt+B / ⌥+B: Toggle best next move arrow (PV1)Alt+2 / ⌥+2: Toggle PV2 arrowAlt+3 / ⌥+3: Toggle PV3 arrowAlt+A / ⌥+A: Toggle best alternative move arrowAlt+H / ⌥+H: Toggle positional heatmapAlt+E / ⌥+E: Toggle evaluation barAlt+U / ⌥+U: Toggle material widgetAlt+I / ⌥+I: Toggle game information displayAlt+L / ⌥+L: Toggle annotations layerCtrl+Shift+F / ⌘+Shift+F: Search games across databasesCtrl+Shift+W / ⌘+Shift+W: Close search resultsCtrl+Shift+I / ⌘+Shift+I: Import online gamesCtrl+Shift+B / ⌘+Shift+B: Bulk OperationsCtrl+Shift+U / ⌘+Shift+U: Deduplicate gamesF1: Switch to Moves List tabF2: Switch to PGN header tags tabF3: Switch to Manual Analysis tabF4: Switch to Opening Explorer tabF5: Switch to Game Summary tabF6: Switch to Player Stats tabF7: Switch to Annotations tabF8: Switch to AI Summary tabF9: Switch to Notes tabCtrl+G / ⌘+G: Start game analysis for the current gameEscape: Cancel ongoing game analysisCtrl+Shift+N / ⌘+Shift+N: Toggle normalized evaluation graph modeCtrl+Shift+K / ⌘+Shift+K: Configure move classification settingsAlt+M / ⌥+M: Start or stop continuous engine analysis of the current positionAlt+N / ⌥+N: Add an additional principal variation lineAlt+R / ⌥+R: Remove the last added PV lineCtrl+O / ⌘+O: Open PGN databaseCtrl+S / ⌘+S: Save active PGN databaseCtrl+Shift+S / ⌘+Shift+S: Save active PGN database as...Ctrl+W / ⌘+W: Close active PGN databaseCtrl+Alt+W / ⌘+⌥+W: Close all PGN databasesCtrl+Q / ⌘+Q: Close applicationCtrl+V / ⌘+V: Paste PGN to active databaseCtrl+Alt+V / ⌘+⌥+V: Paste PGN to Clipboard databaseCtrl+P / ⌘+P: Copy PGN to clipboardShift+F: Copy FEN to clipboardCtrl+F / ⌘+F: Paste FEN to boardCtrl+C / ⌘+C: Copy selected gamesCtrl+X / ⌘+X: Cut selected gamesCtrl+M / ⌘+M: Toggle metadata displayCtrl+Shift+M / ⌘+Shift+M: Toggle comments displayCtrl+Shift+V / ⌘+Shift+V: Toggle variations displayCtrl+Shift+T / ⌘+Shift+T: Toggle non-standard tags displayCtrl+Shift+A / ⌘+Shift+A: Toggle annotations displayCtrl+R / ⌘+R: Toggle results display1 - 9: Switch to column profile 1 through 9Ctrl+Shift+P / ⌘+Shift+P: Save current profileCtrl+Alt+P / ⌘+⌥+P: Save current profile as...Ctrl+Shift+Delete / ⌘+Shift+Delete: Remove current profileCtrl+Alt+S: Save annotationsCtrl+Shift+D / ⌘+Shift+D: Clear all annotationsCtrl+Alt+D: Clear move annotationsCtrl+Shift+D / ⌘+Shift+D: Toggle database panel visibilityCtrl+Shift+E: Clear notes for current gameCtrl+Alt+N: Save notes to current gameCtrl+E: Add or configure chess engineFollow these steps to analyze your first game:
Ctrl+O / ⌘+O), or paste PGN text into the Clipboard database using (Ctrl+Alt+V / ⌘+⌥+V)—the pasted game gets loaded automatically.F1 to switch to the Moves List tab, then press 3 to select the "Game Analysis - Full" profile. This profile displays all the important analysis columns you'll need to review the game.Ctrl+G / ⌘+G (or use ) to begin analyzing the game. Watch as the moves list fills in with evaluation data, move classifications, CPL values, and best move alternatives as the analysis progresses. Progress and estimated time remaining are shown in the status bar.F5 to switch to the Game Summary tab for a condensed overview showing key statistics, the evaluation graph, critical moments, and detected game highlights.CARA requires at least one UCI-compatible chess engine to perform game analysis. Adding your first engine is straightforward and doesn't require any special configuration—default settings are usually sufficient to get started.
There are two general types of chess engines you can use with CARA:
For a short, consistent list of engine suggestions (free and commercial) and best use cases inside CARA, see section 7.10.
To add your first engine:
Ctrl+E.stockfish.exe on Windows, or stockfish on Linux/macOS).Once you have your first engine set up, you can add additional engines and configure per-engine, per-task settings to optimize performance for different analysis scenarios:
The dialog includes "Copy" and "Paste" buttons on each tab so you can copy settings from one task to another. The "Reset to Defaults" button restores the recommended default settings for all tasks.
CARA provides several ways to import and open games. This section covers the three main methods.
The quickest way to import a single game is to paste PGN text directly from your system clipboard:
Ctrl+Alt+V / ⌘+⌥+V) to paste into the Clipboard database, or (Ctrl+V / ⌘+V) to paste into the currently active database. The pasted game gets loaded automatically and becomes the active game.To import games from one or more PGN files on your computer:
Ctrl+O / ⌘+O) to open the file selection dialog.Ctrl on Windows or ⌘ on macOS while clicking to select individual files, or hold Shift while clicking to select a range of files.To reopen a database you used earlier, choose it from .
CARA can import games directly from online chess platforms:
Ctrl+Shift+I / ⌘+Shift+I) to open the import dialog.CARA provides several tools for managing your game databases, including basic file operations and Bulk Operations for batch processing multiple games at once.
Ctrl+S / ⌘+S) or (Ctrl+Shift+S / ⌘+Shift+S). The unsaved changes indicator (orange dot) on database tabs helps you track which databases have unsaved modifications.
For opening, saving, and closing databases, see section 4.4.5.
Game tags are simple labels you can assign to a game so you can organize and recognize games quickly (for example “Training”, “Tournament”, “Must review”, “Opening prep”). They are separate from the PGN header tags (like Event, Site, White, etc.).
CARA distinguishes two kinds of game tag definitions:
If you hide a built-in tag, it no longer appears in the tag picker: not in the Game Tags widget, not in the Game tags column of the database table, and not in the checkable entries under on the menu bar (or the widget’s context menu). Hidden tags can still be listed in so you can turn them back on or adjust their color.
Game tags are shown as small chips in the database view and in the Game Tags widget next to the chessboard (when visible).
To assign tags to the active game, right-click inside the Game Tags widget and toggle tags in the list, or use the menu on the menu bar. In , hover a custom tag chip to reveal a color control and a remove control; built-in chips use color and visibility (eye) controls instead.
Use (Ctrl+Shift+B / ⌘+Shift+B) to update PGN header tags and clean game notation across many games in one pass.
The dialog is organized into three groups:
To add an operation, use the add button in the Operations toolbar. In the editor, choose an Operation type, fill in the fields that appear for that type, then click Add (or Save when editing). Operations run from top to bottom in the order shown in the list.
Available operation types: