Troubleshooting

Things go wrong sometimes. Here's how to fix the common stuff.

Compilation engines

Flow supports two categories of LaTeX compilers:

  • Tectonic (bundled) — Ships with Flow. No installation needed. Handles package downloads automatically. This is the default and recommended for most users.
  • System compilers — If you have TeX Live installed, Flow can also use pdfLaTeX, XeLaTeX, or LuaLaTeX. These appear in Settings > Compiler when Flow detects them on your system.

You can switch engines in Settings > Compiler. If one engine gives you trouble with a particular document, try another.

Common LaTeX errors

Undefined control sequence

You used a command that LaTeX doesn't recognize. Usually this means a missing \usepackage declaration. For example, \textcolor requires \usepackage{xcolor}.

With Tectonic, missing packages are downloaded automatically. With system compilers, you may need to install them via tlmgr install <package>.

Missing $ inserted

You have a math character (like _ or ^) outside of math mode. Wrap it in dollar signs: $x_2$ instead of x_2.

File not found

An \includegraphics or \input command references a file that can't be located. Check that:

  • The filename and extension are correct (LaTeX is case-sensitive on Linux).
  • The file is in your project folder or a subfolder. Flow adds your project directory and all its subdirectories to the search path, so you can reference files by name without the full path.

Overfull/Underfull hbox

These are warnings, not errors — your document will still compile. They mean LaTeX is struggling to lay out a line neatly, usually because of a long word or URL. You can often fix these by adding \sloppy or using the microtype package.

Environment already defined / Command already defined

Two packages are defining the same thing. Try changing the order of your \usepackage declarations, or use \renewcommand instead of \newcommand.

Missing packages

Tectonic handles package management automatically — when it encounters a missing package during compilation, it downloads it from its own bundle. You generally don't need to do anything.

System TeX Live requires manual package management. If you see "File not found" errors for style files (.sty):

# Find which package provides a file
tlmgr search --global --file "missing-file.sty"

# Install it
sudo tlmgr install package-name

AI error explanations

If you have an LLM provider configured, each compilation error gets an "Ask AI" button. Click it to get a plain-English explanation of the error and a suggested fix.

You can also enable Auto Ask AI in Settings > AI Apprentice to have this happen automatically for every error. This is particularly helpful if you're new to LaTeX.

Auto-update issues

Flow checks for updates automatically — first at 10 seconds after startup, then every 4 hours. Updates are downloaded in the background and installed when you quit the app.

Platform Update method
macOS Automatic via built-in updater
Windows Automatic via built-in updater
Linux (AppImage) Automatic via built-in updater
Linux (.deb) Update via apt: re-download and install the new .deb
Linux (.rpm) Update via dnf: re-download and install the new .rpm

If an update download fails (network issues, etc.), Flow will try again at the next check interval. It won't interrupt your work.

Performance tips

  • Large documents — If the editor feels slow on very large files, try disabling freeform ghost suggestions, which reduce the background processing load.
  • Local LLMs — If ghost suggestions are slow, check your GPU status in Settings > LLM Providers. GPU acceleration (Metal, CUDA, or Vulkan) makes a big difference. You can also try a smaller model.
  • Compilation speed — Tectonic's first compile of a new template may take longer as it downloads packages. Subsequent compiles use the cached packages and are much faster.