Symptom: setup prints a traceback right after the `FreeCAD lib:` line: [12:11:52] FreeCAD lib: /usr/lib/freecad-python3/lib | interpreter: /usr/bin/python3.14 (linked: python3.14) Traceback (most recent call last): File "<stdin>", line 3, in <module> ModuleNotFoundError: <stdin>(3)<class 'ModuleNotFoundError'>: No module named 'PartDesign' Cause. When FreeCAD is imported as a Python library, its home path is `/usr/lib/freecad-python3/`, so it looks for modules in `/usr/lib/freecad-python3/Mod`. Debian packages install them in `/usr/share/freecad/Mod` and don't ship a link between the two. The GUI finds the modules another way, so only headless and Python use is affected. `Part` and `Sketcher` still load because they are compiled modules in `/usr/lib/freecad-python3/lib`. PartDesign is a Python package under `Mod/`, so it doesn't. Fix: Add freecad-python3.links with the following line: usr/share/freecad/Mod usr/lib/freecad-python3/Mod Using Ubuntu 26.04, kernel: 7.0.0-34-generic