A practical guide to fixing the most common problems you'll run into with Polaris Studio.
Symptom: You type something in the AI chat panel and get a message like "No AI backend configured" or "No API key configured."
Cause: Polaris Studio uses Google's Gemini API for AI features. You haven't entered an API key yet.
Solution:
- Open Edit → Settings (or press
Ctrl+,). - Go to the AI tab.
- Paste your Gemini API key into the "API Key" field. Keys start with
AIza.... - Select a model (e.g.
gemma-4-31b-itorgemini-3.1-flash-lite). - Click Save. The AI panel is now ready.
Symptom: You configured a key but get an authentication error when sending a message.
Cause: The key is wrong, revoked, or doesn't have Gemini API access enabled.
Solution:
- Double-check the key at aistudio.google.com - make sure you copied it exactly (no extra spaces).
- Ensure the Gemini API is enabled for your Google Cloud project.
- If you're using a free key, check your usage quota hasn't been exhausted.
- Go to Settings → AI, re-enter the key, and save.
Symptom: The AI responds with nothing, a "…" that never resolves, or cuts off mid-sentence.
Cause: The model may have hit its output token limit, or there's a network issue.
Solution:
- Check your internet connection.
- Try a different model in Settings → AI (e.g. switch from
gemma-4-31b-ittogemini-3.1-flash-lite). - If responses are consistently cut off, try asking shorter, more focused questions.
- Restart Polaris Studio and try again.
Symptom: The AI suggests creating nodes that already exist, references wrong node IDs, or proposes actions that don't make sense.
Cause: The AI only sees a text summary of your workspace. Large graphs may exceed the context window, or the summary isn't detailed enough.
Solution:
- Be specific in your prompt - mention node names or column names you see.
- After making changes manually, give the AI a chance to re-read the workspace by sending a new message.
- Keep your graph reasonably tidy: rename nodes descriptively instead of relying on auto-generated IDs.
- For complex workflows, break your request into smaller steps.
Symptom: UI text appears fuzzy, pixelated, or hard to read.
Cause: Missing font files, or Qt is falling back to a system font without proper antialiasing.
Solution:
- Ensure the
fonts/directory exists alongside the executable (or in the project root). It should containInter-Regular.ttf,Outfit-Regular.ttf,InstrumentSerif-Regular.ttf, andJetBrainsMono-Regular.ttf. - Restart Polaris Studio.
- If fonts still don't load, check the terminal for messages like "font directory not found."
Symptom: The UI renders in Segoe UI (or another system font) instead of the expected Inter font.
Cause: The Inter variable font has an internal family name of "Inter 18pt" instead of "Inter", which makes font-family: 'Inter' in stylesheets fall back to the system default. Polaris Studio attempts to patch this at startup, but it may fail if fontTools isn't installed.
Solution:
- Install
fonttools:pip install fonttools - Restart Polaris Studio. The startup code will rewrite the font's name table so "Inter" resolves correctly.
- If it still doesn't work, delete the existing
Inter-Regular.ttfin thefonts/folder and re-download the static (non-variable) version of Inter from fonts.google.com.
Symptom: Headers like "Polaris Studio" or "AI Assistant" show in a fallback font (e.g. Times New Roman or serif default).
Cause: The InstrumentSerif-Regular.ttf font file is missing or failed to register.
Solution:
- Check that
InstrumentSerif-Regular.ttfexists in thefonts/directory. - Re-download it from fonts.google.com if needed.
- Restart Polaris Studio.
Symptom: Scrolling, sorting, or editing the spreadsheet lags badly with many rows.
Cause: Polaris Studio loads the full dataset into the grid. Very large DataFrames (millions of rows) strain the Qt model/view architecture.
Solution:
- Use Filter or Slice nodes upstream to reduce the data volume before it reaches the table output.
- Right-click a column header and choose Profile to check row counts before displaying.
- If you need to browse a large dataset, export it to CSV and use a dedicated viewer.
- Increase Cache Size Limit in Settings → Performance if swapping is the bottleneck.
Symptom: Panning, zooming, or dragging nodes on the graph canvas is sluggish with 50+ nodes.
Cause: Each node is a complex QGraphicsItem with ports, shadows, and animations.
Solution:
- Use Auto Layout (
Ctrl+Shift+L) to organize nodes and reduce overlap - the layout engine avoids unnecessary redraws. - Keep frequently-used sub-graphs in separate tabs.
- Close panels you're not using (Properties, Chart) to free rendering resources.
- Reduce the number of visible edges by collapsing completed pipeline sections.
Symptom: The application takes more than 10 seconds to launch.
Cause: Font loading, fontTools font patching, and demo graph population run at startup.
Solution:
- First launch is always slower (fonts need patching). Subsequent launches should be faster.
- If
fonttoolsis not installed, startup will be slightly faster but fonts may not render correctly (see font issues above). - Ensure you're on an SSD. Launch speed is primarily I/O-bound.
Symptom: File → Import CSV/XLSX/Parquet does nothing, or the file picker doesn't open, or an error appears.
Cause: Missing dependencies, or the file format isn't what Polaris expects.
Solution:
- CSV: Ensure the file uses UTF-8 encoding (try
encoding: "utf-8"in the CSV reader node params). For non-standard delimiters, set thedelimiterparameter (e.g.;for semicolon-separated). - XLSX: Requires
openpyxl. Install it:pip install openpyxl. - Parquet: Requires
pyarrow. Install it:pip install pyarrow. - Check the file isn't open in another program (Excel locks XLSX files).
Symptom: Columns are missing, data types are wrong, rows are shifted, or nulls appear where there should be values.
Cause: Common CSV quirks: no header row, wrong delimiter, encoding mismatch, or leading/trailing rows that should be skipped.
Solution:
- Add a CSV Reader node manually from the palette (right-click canvas → Add Node → Source → CSV Reader).
- Configure parameters:
has_header: set tofalseif your file has no column names.delimiter: change from,to\t(tab) or;as needed.encoding: trylatin-1orutf-16if UTF-8 produces garbled text.skip_rows: set to skip introductory lines before the actual data.
- Execute the node to see the preview.
Symptom: Special characters (é, ñ, ü, etc.) show as ? or garbled symbols.
Cause: The file uses an encoding other than UTF-8 (e.g. Latin-1, Windows-1252, Shift-JIS).
Solution:
- In the CSV Reader node, change the
encodingparameter to match your file's encoding. Common alternatives:latin-1,cp1252,utf-16. - Re-execute the node.
- If you're not sure what encoding the file uses, open it in a text editor like VS Code - the encoding is usually shown in the status bar.
Symptom: You double-click a .polaris file (or File → Open) and nothing happens, or an error dialog appears.
Cause: The file may be from an older version, corrupted, or not really a .polaris file.
Solution:
- Make sure the file has the
.polarisextension and isn't corrupted (check file size - it should be at least a few KB). - Try opening it via File → Open Workflow (
Ctrl+O) instead of double-clicking. - Check the terminal for specific error messages.
Symptom: You get a dialog saying "Corrupt .polaris file: missing workflow.json".
Cause: A .polaris file is actually a ZIP archive containing workflow.json and optionally embedded data files. If workflow.json is missing or the ZIP is damaged, this error appears.
Solution:
- Rename the file to
.zipand try to open it with a ZIP utility. If that fails, the file is genuinely corrupted. - If the ZIP opens, check whether
workflow.jsonis inside. If it is, the file might have been created by a very old version - try importing it manually. - Always keep backups of important
.polarisfiles. - If you have a recent autosave or backup, use that instead.
Symptom: After opening a .polaris file on a different computer or from a different folder, CSV/XLSX/Parquet reader nodes show errors.
Cause: Earlier versions of Polaris Studio stored file paths as absolute references. The current version embeds data files directly inside the .polaris ZIP archive. If you're opening an old file, the paths are stale.
Solution:
- The modern
.polarisformat embeds your source data files inside the ZIP. When you open the file, Polaris extracts them to a temp directory and updates the paths automatically. - If you're opening a very old
.polaris(before the ZIP format was introduced), you'll need to re-import the data files manually. - To avoid this in the future, always use Save (
Ctrl+S) to create a.polarisfile - that way data gets embedded.
Symptom: You see messages like QPainter::begin: Paint device returned engine == 0 or similar warnings in the console.
Cause: These are harmless Qt warnings that occur during widget initialization or repaint cycles. They don't affect functionality.
Solution:
- Ignore them. They're cosmetic and don't indicate a real problem.
- If they bother you, set the environment variable
QT_LOGGING_RULES=*.debug=falsebefore launching.
Symptom: The Polaris Studio window has a default blank icon in the taskbar and title bar.
Cause: The application icon file is bundled but might not be loading correctly on your platform.
Solution:
- This is a known minor issue on some platforms. The application is fully functional.
- The icon is loaded from the application's resource path. If you built from source, ensure the icon file is in the expected location.
- If you'd like to set a custom icon, you can set it via your desktop environment's launcher settings.
Symptom: Pressing Ctrl++ or Ctrl+- doesn't zoom in/out on the graph canvas.
Cause: On some keyboard layouts, Ctrl++ requires pressing Ctrl+Shift+=. The canvas also supports Ctrl+Scroll as the primary zoom method.
Solution:
- Try
Ctrl+Scroll(hold Control and scroll the mouse wheel) - this is the primary and most precise zoom method. - For
Ctrl++: tryCtrl+Shift+=(on US keyboards,+is on the same key as=). - You can also press
Fto fit the entire graph to the screen. - Use the View menu to switch between Graph/Spreadsheet modes if you accidentally zoomed out too far.
Symptom: Double-clicking a node type in the Node Palette creates a node, but it seems to vanish or appear off-screen.
Cause: The node is created at the center of the visible viewport. If you're in Spreadsheet mode or the graph canvas is scrolled far away, the node might be placed out of view.
Solution:
- Switch to Graph mode (click "Graph" in the toolbar or press
F2) before double-clicking the palette. - Press
Fto fit all nodes to the screen - this will reveal the newly created node. - Alternatively, drag nodes from the palette directly onto the canvas instead of double-clicking.
- If nodes consistently appear in the wrong place, check that you're in Graph mode (not Split or Spreadsheet mode).
Symptom: After importing data or executing a node, all column names appear in UPPERCASE.
Cause: This is by design - Polaris Studio normalizes column names to uppercase for consistency across different data sources (CSV headers, Excel, Parquet schemas can all vary in casing).
Solution:
- This is intentional behavior, not a bug.
- Use the Rename Columns node if you need specific casing.
- You can also right-click a column header in the spreadsheet and choose Rename to change individual column names.
Symptom: pip install polaris-studio fails with an error about unsupported Python version.
Cause: Polaris Studio requires Python 3.10 or higher (it uses match statements, | union syntax, and other 3.10+ features).
Solution:
- Check your Python version:
python --version. - If it's below 3.10, install a newer Python from python.org.
- If you have multiple Python versions, use the correct one:
python3.11 -m pip install polaris-studio.
Symptom: pip install fails with compilation errors, missing headers, or conflicts.
Cause: Some dependencies have native extensions that require a C compiler (e.g. polars, pyarrow, pyqtgraph).
Solution:
- Use Python 3.11 or 3.12 - these have the best binary wheel support on PyPI.
- On Windows, install Microsoft C++ Build Tools.
- On Linux, install
python3-dev(orpython3-develon RPM-based distros):sudo apt install python3-dev. - Create a fresh virtual environment and try again:
python -m venv polaris-env polaris-env\Scripts\activate # Windows source polaris-env/bin/activate # Linux/Mac pip install polaris-studio
Symptom: PySide6 fails to install with a missing Qt platform plugin error, or the install crashes.
Cause: PySide6 ships prebuilt wheels for most platforms, but some Linux distributions need additional system libraries.
Solution:
- Windows / macOS: PySide6 should install cleanly via
pip install PySide6. If it fails, update pip:pip install --upgrade pip. - Linux: Install system-level Qt dependencies:
- Ubuntu/Debian:
sudo apt install libxcb-cursor0 libxcb-xinerama0 libegl1 - Fedora:
sudo dnf install qt6-qtbase-gui
- Ubuntu/Debian:
- If you're in a headless environment (no display), PySide6 won't work. Use it only on a machine with a desktop.
- As a last resort, use Python 3.11 which has the most reliable Qt/PySide6 binary wheels.