# Troubleshooting ## `pyro env pull` or first-run install fails Cause: - the environment cache directory is not writable - the configured registry artifact is unavailable - the environment download was interrupted - the host cannot reach `registry-1.docker.io` Fix: ```bash pyro env inspect debian:12 pyro env prune pyro env pull debian:12 ``` If you are validating a freshly published official environment, also verify that the corresponding Docker Hub repository is public. `PYRO_RUNTIME_BUNDLE_DIR` is a contributor override for validating a locally built runtime bundle. End-user `pyro env pull` should work without setting it. ## `pyro run` fails closed before the command executes Cause: - the bundled runtime cannot boot a guest - guest boot works but guest exec is unavailable - you are using a mock or shim runtime path that only supports host compatibility mode Fix: ```bash pyro doctor ``` If you intentionally want host execution for a one-off compatibility run, rerun with: ```bash pyro run --allow-host-compat debian:12 -- git --version ``` ## `pyro run --network` fails before the guest starts Cause: - the host cannot create TAP devices or NAT rules Fix: ```bash pyro doctor ``` Then verify: - `ip` - `nft` or `iptables` - `/dev/net/tun` - host privilege for `sudo -n` ## `pyro doctor` reports runtime issues Cause: - the embedded Firecracker runtime files are missing or corrupted Fix: - reinstall the package - verify `pyro doctor` reports `Runtime: PASS` - or run `pyro doctor --json` and verify `runtime_ok: true` - if you are working from a source checkout, ensure large runtime artifacts are present with `git lfs pull` ## Ollama demo exits with tool-call failures Cause: - the model produced an invalid tool call or your Ollama model is not reliable enough for tool use Fix: ```bash pyro demo ollama -v ``` Inspect: - model output - requested tool calls - tool results