Troubleshooting
First distinguish command input errors, platform rejection, task execution failure, and wait timeouts, then inspect the relevant layer. Keep job_id / trial_id on submission; do not write Keys, Profiles, or task source code to diagnostic logs.
| Symptom | Checks and action |
|---|---|
| CLI exits 2 | Read full help on stderr; put global options before job/task/profile; do not pass both a positional dataset and --dataset |
| Missing Key / authentication failure on a public connection | Check that ENVLOOP_API_KEY is a valid EnvLoop Key rather than a model provider Key; confirm account and workspace permissions; replace revoked Keys |
| CLI connects but SDK does not | CLI can read the .env.local address; SDK cannot; export the address and Key for the SDK or pass explicit arguments |
| localhost connection fails | Confirm the full platform is running; the default web port is 5173 and the machine API path is /api/; use the actual port for direct JobMaster connections |
| Task validation fails | Include only UTF-8 runner.toml and the declared main.py / main.sh; avoid extra input files or symlinks |
| Dataset missing / selection ambiguous | Check platform-available names, author versions, namespace, config, and split; do not assume latest or specify a source revision unavailable on the platform |
wait() raises TimeoutError | Only waiting timed out; the task may continue; query status, wait again, or explicitly stop |
| Trial is failed | Check terminal exit_code and result stderr; script failure does not automatically make SDK wait raise an exception |
| Job is completed but scores are unexpected | Check member failures, missing scores, and Job aggregate results separately; completion does not mean reward=1 |
| Next local command cannot find a Trial | An in-memory service cannot recover across processes; use a remote platform or bind the same repository to read completed receipts |
Client.local() dependency missing | Install an EnvPlatform checkout; remote mode does not need this backend |
| Profile missing / no default | Explicitly use name@version or set a default in the local registry; a remote named Profile must be available on the platform |
CANCELLATION_UNSUPPORTED | The current execution backend cannot support cancellation; do not treat it as stopped or resources released |
Report an issue
Include the client version / commit, run mode, sanitized command, relevant IDs, status, stable error code, and reproduction steps. SDK HTTP errors are restricted to sanitized codes; local errors may contain paths, so inspect them before sharing.
Check arguments with el --help and resource-level help; see CLI reference and SDK reference for interfaces and defaults.