# Diagnose extension installation failures in 3D Slicer
Use this when an extension won't download, installs but its modules never
appear, or the Extensions Manager itself misbehaves. Extensions are built for a
specific Slicer **revision** (e.g. `Extensions-31938` under Slicer 5.4.0,
`Extensions-32448` under Slicer 5.6.2) — most failures are a mismatch between
the extension package and your Slicer build, or a network problem. Find your
revision in **Help / About**; the catalog uses it in the URL
(`extensions.slicer.org/catalog/All/32448/win`).
## 1. `Failed downloading: https://slicer-packages.kitware.com/...`
The Extensions Manager could not fetch the package — this is a network problem,
not a broken extension. It shows up on locked-down machines, proxies, and
cloud VMs (firewalled govcloud instances hit it for every extension). Fix:
1. Download the extension package from the catalog website on a machine that
has network access. Pick the entry matching **your OS and your Slicer
revision**.
2. In Slicer's Extensions Manager, use **Install extension from file**
(wrench/toolbox menu) and select the downloaded package.
3. Restart Slicer.
The same offline path works on air-gapped machines; the documented section is
"Install extensions without network connection" in the user guide.
## 2. Installed, but the module never appears / `loadSourceAsModule - Failed to load`
Real symptom, from the Error Log:
```
loadSourceAsModule - Failed to load file "C:/.../Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/OpenDose3D.py" as module "OpenDose3D" !
Fail to instantiate module "OpenDose3D"
The following modules failed to be instantiated: Calibration OpenDose3D Gamma
```
This means the extension package was built against a **different Slicer
version** than the one running — e.g. OpenDose3D packages that predate a Slicer
5.8 update and no longer load under it. Check, in order:
1. Does your Slicer's revision match the revision the package was built for?
Extension folders are named `Extensions-[revision]`; a folder whose revision
differs from Help / About is the wrong package.
2. If the versions genuinely differ, either install the Slicer version the
extension targets, or check the extension's own issue tracker — extension
authors announce compatibility updates there.
Note the distinction from the next case: here the load is *attempted* and
fails. If no load is attempted at all, see below.
## 3. Extension shows "installed" but nothing new in the module list
Extensions are not activated until Slicer **restarts**. This is the most common
"it installed but I can't find it" report: the install completed, the module
only registers on the next launch. Restart Slicer, then check the Extensions
Manager's Installed tab. (If you installed from a file per section 1 and the
module still doesn't appear after a restart, you are in section 2 territory —
verify the package revision.)
## 4. Extensions Manager crashes or shows a blank/no-connection page
On Linux, opening the Extensions Manager has crashed Slicer outright
(QtWebEngine + OpenGL stack traces ending in `QQuickWidget`/`RenderWidgetHostViewQtDelegateWidget`
segfaults, after `[Qt] An OpenGL Core Profile was requested, but it is not
supported` warnings). This is a rendering-environment problem, not a catalog
problem:
- Update the graphics driver / enable a supported OpenGL profile if you can.
- Otherwise skip the in-app browser entirely: use the offline install-from-file
flow from section 1.
## 5. Extension missing from the catalog for your revision
Some extensions are only built for certain platforms or for preview (nightly)
builds. Search the catalog for your exact revision and OS; if the extension is
absent there but exists for the nightly, install a Slicer preview release and
retry. If it is absent for your OS entirely, the extension does not support
that platform (check its repository for a platform-support statement before
assuming the catalog is broken).
## Quick triage checklist
1. Capture the exact symptom: download error, load error in the Error Log,
missing-after-restart, or manager crash.
2. Network → offline install from file (section 1).
3. `loadSourceAsModule` failure → revision mismatch (section 2).
4. Installed-but-missing → restart Slicer (section 3).
5. Manager crash → graphics environment; use offline install (section 4).
6. Not in catalog → platform/nightly coverage (section 5).