Skip to main content

Installation

No module named 'fleet_rlm'

Sync the workspace with all extras:
Verify the entrypoints:

Python version mismatch

fleet-rlm targets Python 3.13. Install a matching interpreter through uv if needed:

Policy and profile

default_profile not set

Fleet refuses to start without an explicit [config] default_profile in config/fleet.toml. Pick one of the shipped profiles:
The pi-tui /profiles command edits this key interactively for the next restart.

fleet cli rejects a non-daytona profile

fleet cli accepts only profiles whose runtime environment is daytona. Selecting a different environment fails before database preflight, MLflow startup, or backend spawning. Switch to a Daytona profile or use fleet-rlm serve-api for backend-only setups.

Unknown TOML key error at startup

Fleet fails startup on unknown keys, missing profiles, invalid variable references, and absent TOML. Common culprits:
  • mlflow.trace_content_mode — removed. Delete the key.
  • rlm.recursion_max_depth — removed. The native child boundary is a fixed invariant. Delete the key.

Configuration

Daytona configuration missing

Every profile requires FLEET_DAYTONA_API_KEY. Set it in .env or export it:

Provider credentials missing

Only the environment variables named by the selected profile are read. For daytona and daytona-recursive:
For daytona-managed and the benchmark profiles:

Backend startup

Connection refused at 127.0.0.1:8000

Check what is holding the port and rerun on a different port:

Backend refuses to bind a non-loopback host

Launchers default to 127.0.0.1 and reject 0.0.0.0, LAN addresses, and hostnames other than localhost. Pass --allow-non-loopback-bind to opt in when running behind a proxy.

Database preflight fails

fleet cli verifies the configured database is at the canonical Alembic head. Recover with:

Daytona

Diagnose before a real Turn

Run the doctor to validate settings, database head, provider auth, Volume visibility, mount scoping, and interpreter execution:
It creates one uniquely labelled disposable Sandbox, deletes it in finally, and prints only bounded categories and corrective actions.

Missing Daytona base snapshot

Recursive delegations bootstrap from a reusable snapshot. If it is missing, rebuild it:

Turn SSE stream

Transport 200 but the stream ends with error

The Turn stream begins immediately, so a healthy transport status does not imply a successful Turn. When claim or preparation fails, the stream closes with error + finish chunks carrying one of these messages:
  • Session not found
  • A Turn is already running
  • Idempotency key input mismatch
  • Invalid Skill selection
  • Turn preparation timed out
  • Turn is unavailable
  • Invalid request
Read the Run id from the start chunk metadata, not from a response header.

Cancelled Turns show no reasoning or output

By design. Cancellation ends the live stream with a single terminal abort chunk. The persisted tombstone carries only observed usage, a cancelled data-status part, and the closed text Turn cancelled — never reasoning, code, output, or Tool evidence.

MLflow tracing

Traces not appearing in the local server

fleet cli starts or reuses a local MLflow server on 127.0.0.1:5001 for the interactive profiles. Backend-only commands (fleet web, fleet-rlm serve-api) require the tracking server to be started separately. Benchmark profiles (daytona-bench, daytona-bench-40) explicitly disable tracing.

Managed MLflow inputs missing

The daytona-managed profile requires FLEET_MLFLOW_EXPERIMENT_NAME, FLEET_MLFLOW_TRACE_CATALOG, FLEET_MLFLOW_TRACE_SCHEMA, FLEET_MLFLOW_TRACE_TABLE_PREFIX, and FLEET_MLFLOW_TRACING_SQL_WAREHOUSE_ID. Startup fails without them.

Still stuck?

Last modified on August 13, 2026