Run Diagnostics First
Before digging into a specific error, run the built-in health check. It verifies the five things most conversion failures trace back to: 3XCode's AI runtime, the 3XDE backend connection, your stored credentials, an active workspace, and available system resources.
3xcode health
3XCode CLI
Confirms 3XCode's AI runtime is installed and available, since every conversion phase depends on it.
Backend API
Confirms the CLI can reach the 3XDE backend for auth, licensing, and prompt/knowledge retrieval.
Authentication
Confirms stored credentials exist and are valid via the local credentials manager.
Workspace & Resources
Confirms an active workspace is set, and reports CPU/RAM plus a recommended worker count for bulk conversion.
Conversion & Pipeline Errors
These are raised by the 5-phase conversion pipeline itself (discovery, planning, conversion, validation, auto-fix) when a specific phase can't complete.
"No conversion prompt for phase '{phase}'..." (PromptUnavailableError)
"Discovery failed for {file_name}" (DiscoveryError)
"Phase {phase_name} timed out after {timeout}s" (ConverterTimeoutError)
"Cannot connect to the AI runtime" (ConverterSDKError)
"AI runtime process failed (exit {exit_code}): {stderr}" (ConverterSDKError)
Batches & Scheduling
A batch seems stuck with no progress
`batch run` refuses with "a runner is already live for this batch"
A batch scheduled with `batch schedule` never ran
A durable schedule (`schedule add`) never fired
CLI, Auth & Workspace Errors
"No workspace found. Initialize one with: 3xcode workspace init <path> --name <name>" (WorkspaceNotFoundError)
License or login errors during `pyspark convert` / `pyspark analyze`
Update Issues
`3xcode update` can't detect how the CLI was installed
The update notice keeps appearing and you don't want it
Web UI Issues
3xcode ui launches a local, single-user web server (default port 3210) for workspace, session, and bulk-conversion management. It mints a fresh session cookie every time it starts.
UI shows "Not logged in. Run 3xcode login in your terminal to get started."
UI tab is stuck getting 403 errors on every API call after restarting `3xcode ui`
Launching the UI
3xcode ui opens http://localhost:3210 in your browser automatically. Use --port to run on a different port if 3210 is already in use.