Appendix C β Troubleshooting
Installation & startupβ
Docker not startingβ
Symptom: The launcher reports "Docker daemon is not running."
Fix:
- Open Docker Desktop from the Start Menu.
- Wait for the whale icon in the system tray to stop animating (up to 60 seconds on a cold start).
- Double-click the Conio launcher shortcut again.
If Docker Desktop is not installed, see Installation β Step 1 for the correct installer for your machine architecture.
Docker hangs on startup / WSL errorsβ
Symptom: Docker Desktop opens but the progress bar freezes, the whale icon spins indefinitely, or you see a message such as "WSL 2 installation is incomplete" or "WSL kernel update required."
Docker Desktop requires Windows Subsystem for Linux 2 (WSL 2) and hardware virtualisation. One or more of these may not be enabled.
Fix β enable required Windows features:
- Press
Win + R, typeoptionalfeatures, and press Enter. - Check both:
- Virtual Machine Platform
- Windows Subsystem for Linux
- Click OK and restart your machine.
- After restart, open PowerShell and run:
wsl --update
- Launch Docker Desktop again.
Fix β enable hardware virtualisation (if Docker still hangs):
Virtualisation must be enabled in your machine's firmware (BIOS/UEFI):
- Go to Settings β System β Recovery β Advanced startup β Restart now.
- Navigate to Troubleshoot β Advanced options β UEFI Firmware Settings β Restart.
- In the BIOS/UEFI menu, find the CPU settings and enable Intel Virtualization Technology (VT-x) or AMD-V / SVM, depending on your processor.
- Save and exit. Windows will restart.
- Open Docker Desktop β the startup hang should be resolved.
In practice, simply enabling Virtual Machine Platform in Windows Features and restarting resolves the Docker startup hang in the majority of cases. Try that first before going into BIOS settings.
WSL2 error: "Virtual Machine Platform not enabled" / hypervisor not installedβ
Symptom: Docker hangs at startup. Running wsl in a terminal produces:
WSL2 is not supported with your current machine configuration.
Please enable the "Virtual Machine Platform" optional component and ensure
virtualization is enabled in the BIOS.
Enable "Virtual Machine Platform" by running: wsl.exe --install --no-distribution
Error code: Wsl/Service/CreateInstance/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED
This means the Windows hypervisor is not set to launch automatically at boot β a common state after certain Windows updates, BIOS changes, or if another virtualisation tool previously disabled it.
Fix:
- Open PowerShell as Administrator (right-click PowerShell β Run as administrator) and run:
bcdedit /set hypervisorlaunchtype auto
- Shut down the computer completely. Do not use Restart β a cold power-off is required for the firmware to reinitialise the hypervisor correctly.
- Power the machine back on. Open a terminal and run:
You should see a WSL prompt or a message showing the current distribution. If the error is gone, WSL is working.wsl
- Close the terminal and launch Docker Desktop. It should start normally.
A Windows Restart performs a "fast restart" that keeps the kernel session partially warm. A full Shutdown β Power On forces the firmware to reinitialise the hypervisor from scratch, which is required for the bcdedit change to take effect.
Mandatory update overlay blocking the appβ
Symptom: A full-screen overlay appears saying a mandatory update is required. The app is unusable.
Fix: Pull the latest image and restart:
docker pull quanomics/conio:latest
Then stop and relaunch using the shortcuts. The overlay will not appear once the image is up to date.
In-app update not working / update banner persists after updatingβ
Symptom: You clicked Update Now in the app banner but after the page reloads the banner is still visible, or the version shown in Settings has not changed.
This usually means either the Docker image download is still in progress, or the automatic update did not trigger correctly.
Manual update procedure:
- Open a PowerShell window in your Conio installation folder (the folder that contains
docker-compose.yml). - Run:
docker compose pulldocker compose up -d --force-recreate
- Wait approximately 30 seconds for the new container to start, then reload
http://localhost:8000in your browser.
docker compose pull downloads the latest image from Docker Hub. --force-recreate ensures Docker replaces the running container with the new image rather than reusing the existing one.
The default installation path is C:\Conio\. If you chose a custom location, right-click the Conio desktop shortcut β Properties β Start in β that directory is your installation folder.
If the banner still appears after a successful pull, the new image may not yet be available on Docker Hub. Wait a few minutes and repeat the steps above.
App loads but shows FREE badge when a Pro token is setβ
Symptom: You added LICENSE_TOKEN to docker-compose.yml but the sidebar still shows FREE.
Checklist:
- Confirm the token is on the
LICENSE_TOKEN=line with no extra spaces or quotes around the value. - Confirm you stopped and restarted the container after editing the file (Stop Conio β Conio).
- Check Settings β License for any error message (e.g. "Token not found" or "Token inactive").
- Verify your internet connection β the first validation requires a network call to the license server.
AI featuresβ
AI Refine error panel persists after retryingβ
Symptom: Red error panel on a table card does not clear even after another Refine run.
Error messages and fixes:
| Error message | Cause | Fix |
|---|---|---|
Resource exhausted / Quota exceeded | Provider rate limit hit | Wait for the quota window to reset (usually 60 seconds for Gemini). The error panel shows the retry time when available. |
API key not valid | Wrong or revoked key | Generate a new API key in your provider's console; update in Settings β AI Model. |
Timeout | Slow network or large batch | Refine will retry unprocessed batches on the next run. If persistent, check network latency to the provider. |
Malformed AI response | Provider returned non-JSON output | Temporary provider issue; retry. If using Claude, ensure you are on an up-to-date version of Conio (fence-stripping is handled automatically). |
A clean Refine run (all batches succeed) automatically dismisses the error panel.
Match All returns no matches (all items stay pending)β
Checklist:
- Confirm the BOQ table has been through AI Refine. Un-refined items score poorly against most rate tables.
- Check the Matcher Scoring Profile β if all three weights are zero or the profile is in an invalid state, no scoring occurs.
- Verify the candidate threshold in Settings is not set too high. Lower it to see if candidates begin appearing.
- Use the Test Sandbox on a specific item to confirm whether any candidates score above zero. If they do, the issue is the threshold; if not, the descriptions may be too dissimilar to match.
Batch URA generates Cold every time (no template applied)β
Symptom: Every URA banner shows no template reference; "Cold" generation for all items.
Cause: Templates exist in the library but their keywords are too specific (raw BOQ phrases instead of generic trade terms).
Fix:
- Open Settings β Recipe Library.
- For each template, click the edit icon and replace the Keywords field with generic, trade-level terms. See Template Library β Writing good keywords.
- Re-run Batch URA. The improved keywords will now score above the match floor.
Ollama β "Cannot connect" or "Name or service not known"β
Ollama connection errors fall into three categories. Use the error message to identify which applies.
Failed to resolve 'host.docker.internal' β Name resolution errorβ
The Docker container cannot find your Windows host by hostname. This means the extra_hosts entry is missing from your docker-compose.yml.
Fix: Open your docker-compose.yml (in the Conio installation folder) and add the extra_hosts block:
services:
app:
image: quanomics/conio:latest
...
extra_hosts:
- "host.docker.internal:host-gateway"
dns:
- 8.8.8.8
- 8.8.4.4
restart: unless-stopped
Then restart the container:
docker compose down
docker compose up -d
This entry is included automatically in installations from v0.9.22 onwards.
Connection refused β Ollama not listening on all interfacesβ
Ollama is running but only accepts connections on 127.0.0.1 (the Windows loopback). Docker containers connect from a different network interface and are refused.
Fix: Set the OLLAMA_HOST environment variable to 0.0.0.0:
- Search Windows for "Edit the system environment variables" and open it.
- Click Environment Variablesβ¦ β System variables β New.
- Name:
OLLAMA_HOST/ Value:0.0.0.0. - Click OK, then right-click the Ollama system-tray icon β Quit, and relaunch Ollama.
Verify with:
netstat -ano | findstr ":11434"
You should see TCP 0.0.0.0:11434 LISTENING.
Max retries exceeded / connection timeout β Firewall blocking port 11434β
Ollama is listening on all interfaces but Windows Firewall is blocking inbound traffic on port 11434 from Docker's virtual network adapter.
Fix: Add an inbound firewall rule. Open PowerShell as Administrator:
New-NetFirewallRule `
-DisplayName "Ollama β Docker access" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 11434 `
-Action Allow
Retry the Fetch and Test Connection buttons in Settings β AI Provider β Ollama.
Diagnosis commandβ
If you are unsure which error applies, run this from PowerShell to test connectivity directly from inside the Docker container:
docker exec -it conio-app-1 curl http://host.docker.internal:11434/api/tags
(Replace conio-app-1 with your container name β run docker ps to find it.)
- JSON response β Ollama is reachable. The issue is inside the app configuration.
Connection refusedβOLLAMA_HOST=0.0.0.0is not set or Ollama has not been restarted.Name or service not knownβextra_hostsis missing fromdocker-compose.yml.- Timeout / no output β Windows Firewall is blocking the connection.
Facet matching flag is greyed outβ
This is by design. The checkbox is disabled until you validate that facets are populated on both your BOQ items and your rate table items. Use the Test Sandbox β Experimental β Facet matching toggle to test on a single item. If scores improve with facets enabled, contact support to enable the flag for your project.
Data & exportsβ
Garbled characters in exported CSVβ
The CSV is BOM-encoded for Excel. If you open it in a text editor or import it into a non-Microsoft tool, you may see a  prefix. This is the UTF-8 BOM and can be ignored or stripped.
Missing resources in a generated URA (rate = 0)β
The AI named a resource that does not exist in your price book. Options:
- Add the resource to the price book with the exact name the AI used, then re-generate or manually enter the rate.
- Edit the resource name in the URA workspace to match an existing price book entry β the rate will resolve automatically.