mtplx doctor --json
{
"diagnostics": {
"checks": [
{
"command": null,
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "macOS >= 14.0 on Apple Silicon",
"fix": "Upgrade to macOS 14+; MLX does not support older macOS.",
"id": "os.macos_version",
"observed": "26.6",
"severity": "error",
"status": "pass"
},
{
"command": "python3 -c "import platform; print(platform.machine(), platform.processor())"",
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "native arm64 Python, not Rosetta",
"fix": "Install/use a native arm64 Python. If needed, reinstall via Homebrew arm64 or uv.",
"id": "python.native_arm64",
"observed": {
"machine": "arm64",
"processor": "arm"
},
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "Python >= 3.10",
"fix": "Install Python 3.10 or newer.",
"id": "python.version",
"observed": "3.14.5",
"severity": "error",
"status": "pass"
},
{
"command": "python3 -m pip install mlx",
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "mlx importable",
"fix": "Install MLX into this same native Python environment.",
"id": "mlx.import",
"observed": {
"default_device": "Device(gpu, 0)",
"get_active_memory": 0,
"get_peak_memory": 0,
"mlx": "0.31.2",
"mlx_lm": "0.31.3"
},
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "estimated peak <= 80% of unified memory; 48 GiB+ recommended",
"fix": "Close other heavy apps or use a smaller model/profile.",
"id": "resource.memory",
"observed": {
"estimated_peak_gib": 35.3,
"unified_memory_gib": 24.0
},
"severity": "error",
"status": "fail"
},
{
"command": null,
"docs_url": null,
"expected": "free space for model + temp download + safety headroom",
"fix": "Free disk space or set MTPLX_MODEL_DIR to a larger volume.",
"id": "resource.model_cache_disk",
"observed": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"free_gib": 244.12,
"required_gib": 38.25
},
"severity": "warning",
"status": "pass"
},
{
"command": "mtplx pull Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"docs_url": "https://huggingface.co/Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"expected": "default model available in the HF cache or as the verified local startup model",
"fix": "Download the default model before first run.",
"id": "model.cache",
"observed": {
"hf_cache_exists": false,
"hf_cache_path": "/Users/sgracey/.mtplx/models/Youssofal--Qwen3.6-27B-MTPLX-Optimized-Speed",
"hf_cache_validation": null,
"startup_default_model": null
},
"severity": "warning",
"status": "warn"
},
{
"command": "mtplx pull Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"docs_url": "https://huggingface.co/Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"expected": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"fix": "Update DEFAULT_HF_MODEL_ID to the published optimized-speed repo.",
"id": "model.default_repo",
"observed": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": "https://docs.docker.com/desktop/setup/install/mac-install/",
"expected": "Docker Desktop installed for Open WebUI Docker path",
"fix": "Install Docker Desktop if you want the Open WebUI Docker integration.",
"id": "docker.binary",
"observed": "/usr/local/bin/docker",
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "port free before starting mtplx serve, or already a healthy MTPLX server",
"fix": "Use --port 8001 or stop the existing process.",
"id": "port.mtplx_server",
"observed": {
"host": "127.0.0.1",
"open": true,
"port": 8000
},
"severity": "warning",
"status": "warn"
},
{
"command": null,
"docs_url": null,
"expected": "port free before starting Open WebUI, or already an Open WebUI container",
"fix": "Use a different Open WebUI host port or stop the process on 3000.",
"id": "port.openwebui",
"observed": {
"host": "127.0.0.1",
"open": false,
"port": 3000
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "ThermalForge or TG Pro available for explicit --max only",
"fix": "Install ThermalForge only if you want opt-in fan boost.",
"id": "thermal.control",
"observed": {
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "Low Power Mode off for best sustained decode",
"fix": "Turn off Low Power Mode before benchmarking or serving long responses.",
"id": "power.low_power_mode",
"observed": {
"available": true,
"lowpowermode": "0",
"powermode": null,
"thermal": "Note: No thermal warning level has been recorded\nNote: No performance warning level has been recorded\nNote: No CPU power status has been recorded",
"thermal_ok": true
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "no recorded thermal or performance warning",
"fix": "Let the Mac cool down or improve airflow before sustained benchmarks.",
"id": "power.thermal_pressure",
"observed": "Note: No thermal warning level has been recorded\nNote: No performance warning level has been recorded\nNote: No CPU power status has been recorded",
"severity": "warning",
"status": "pass"
}
],
"created_at": "2026-07-24T08:28:34-0400",
"host": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"chip": "Apple M4",
"disk_free_bytes": 262125871104,
"disk_free_gib": 244.12,
"mac_model": "Mac16,10",
"machine": "arm64",
"macos_version": "26.6",
"memory_bytes": 25769803776,
"memory_gib": 24.0,
"platform": "macOS-26.6-arm64-arm-64bit-Mach-O",
"processor": "arm",
"python_executable": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"python_version": "3.14.5",
"system": "Darwin"
},
"overall": "fail",
"resources": {
"default_model_size_bytes": 16430000000,
"estimated_runtime_memory_bytes": 37904836480,
"required_download_free_bytes": 41075000000
},
"schema_version": 1,
"support_matrix": {
"preview_test_targets": [
"M3 Max",
"M4 Max",
"M3 Ultra / Mac Studio",
"M5 Max developer machine"
],
"supported": {
"default_model": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"default_profile": "sustained",
"docker": "Docker Desktop current plus previous two macOS major releases",
"macos": ">= 14.0",
"platform": "Apple Silicon arm64 Mac",
"python": "native arm64 Python >= 3.10"
}
}
},
"environment": {
"git_branch": "not a git worktree",
"git_status": "not a git worktree",
"hf_path": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/hf",
"mlx": {
"default_device": "Device(gpu, 0)",
"get_active_memory": 0,
"get_peak_memory": 0,
"mlx": "0.31.2",
"mlx_lm": "0.31.3"
},
"platform": "macOS-26.6-arm64-arm-64bit-Mach-O",
"project_root": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin",
"python_executable": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"python_version": "3.14.5 (main, Jun 2 2026, 22:28:56) [Clang 22.1.3 ]",
"uv_path": null
},
"huggingface": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"cache_exists": true,
"cache_writable": true,
"cached_models": 2,
"disk_free_bytes": 262125871104,
"disk_free_gb": 262.126,
"token_present": false,
"token_source": null
},
"policy": {
"benchmark_exactness_smoke_context": 2048,
"fanmax_counts_for_product_gate": false
},
"thermal_control": {
"available": true,
"clock_anchor_enabled": false,
"clock_anchor_policy": "explicit experimental only; never used for product claims",
"instructions": "Install ThermalForge and ensure the thermalforge CLI is on PATH.",
"selected": {
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
},
"tools": [
{
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
}
]
},
"tools": {
"powermetrics": "/usr/bin/powermetrics",
"python": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"smc_atlas": null,
"smc_atlas_exists": false,
"sovereign": null,
"sovereign_exists": false,
"sudo": "/usr/bin/sudo"
}
}
Exact command
None
Model path or repo id
Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed
Chip, RAM, macOS version
M4 Mac mini, 24Gb, Tahoe
mtplx doctor --json
{
"diagnostics": {
"checks": [
{
"command": null,
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "macOS >= 14.0 on Apple Silicon",
"fix": "Upgrade to macOS 14+; MLX does not support older macOS.",
"id": "os.macos_version",
"observed": "26.6",
"severity": "error",
"status": "pass"
},
{
"command": "python3 -c "import platform; print(platform.machine(), platform.processor())"",
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "native arm64 Python, not Rosetta",
"fix": "Install/use a native arm64 Python. If needed, reinstall via Homebrew arm64 or uv.",
"id": "python.native_arm64",
"observed": {
"machine": "arm64",
"processor": "arm"
},
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "Python >= 3.10",
"fix": "Install Python 3.10 or newer.",
"id": "python.version",
"observed": "3.14.5",
"severity": "error",
"status": "pass"
},
{
"command": "python3 -m pip install mlx",
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "mlx importable",
"fix": "Install MLX into this same native Python environment.",
"id": "mlx.import",
"observed": {
"default_device": "Device(gpu, 0)",
"get_active_memory": 0,
"get_peak_memory": 0,
"mlx": "0.31.2",
"mlx_lm": "0.31.3"
},
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "estimated peak <= 80% of unified memory; 48 GiB+ recommended",
"fix": "Close other heavy apps or use a smaller model/profile.",
"id": "resource.memory",
"observed": {
"estimated_peak_gib": 35.3,
"unified_memory_gib": 24.0
},
"severity": "error",
"status": "fail"
},
{
"command": null,
"docs_url": null,
"expected": "free space for model + temp download + safety headroom",
"fix": "Free disk space or set MTPLX_MODEL_DIR to a larger volume.",
"id": "resource.model_cache_disk",
"observed": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"free_gib": 244.12,
"required_gib": 38.25
},
"severity": "warning",
"status": "pass"
},
{
"command": "mtplx pull Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"docs_url": "https://huggingface.co/Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"expected": "default model available in the HF cache or as the verified local startup model",
"fix": "Download the default model before first run.",
"id": "model.cache",
"observed": {
"hf_cache_exists": false,
"hf_cache_path": "/Users/sgracey/.mtplx/models/Youssofal--Qwen3.6-27B-MTPLX-Optimized-Speed",
"hf_cache_validation": null,
"startup_default_model": null
},
"severity": "warning",
"status": "warn"
},
{
"command": "mtplx pull Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"docs_url": "https://huggingface.co/Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"expected": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"fix": "Update DEFAULT_HF_MODEL_ID to the published optimized-speed repo.",
"id": "model.default_repo",
"observed": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": "https://docs.docker.com/desktop/setup/install/mac-install/",
"expected": "Docker Desktop installed for Open WebUI Docker path",
"fix": "Install Docker Desktop if you want the Open WebUI Docker integration.",
"id": "docker.binary",
"observed": "/usr/local/bin/docker",
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "port free before starting mtplx serve, or already a healthy MTPLX server",
"fix": "Use --port 8001 or stop the existing process.",
"id": "port.mtplx_server",
"observed": {
"host": "127.0.0.1",
"open": true,
"port": 8000
},
"severity": "warning",
"status": "warn"
},
{
"command": null,
"docs_url": null,
"expected": "port free before starting Open WebUI, or already an Open WebUI container",
"fix": "Use a different Open WebUI host port or stop the process on 3000.",
"id": "port.openwebui",
"observed": {
"host": "127.0.0.1",
"open": false,
"port": 3000
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "ThermalForge or TG Pro available for explicit --max only",
"fix": "Install ThermalForge only if you want opt-in fan boost.",
"id": "thermal.control",
"observed": {
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "Low Power Mode off for best sustained decode",
"fix": "Turn off Low Power Mode before benchmarking or serving long responses.",
"id": "power.low_power_mode",
"observed": {
"available": true,
"lowpowermode": "0",
"powermode": null,
"thermal": "Note: No thermal warning level has been recorded\nNote: No performance warning level has been recorded\nNote: No CPU power status has been recorded",
"thermal_ok": true
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "no recorded thermal or performance warning",
"fix": "Let the Mac cool down or improve airflow before sustained benchmarks.",
"id": "power.thermal_pressure",
"observed": "Note: No thermal warning level has been recorded\nNote: No performance warning level has been recorded\nNote: No CPU power status has been recorded",
"severity": "warning",
"status": "pass"
}
],
"created_at": "2026-07-24T08:28:34-0400",
"host": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"chip": "Apple M4",
"disk_free_bytes": 262125871104,
"disk_free_gib": 244.12,
"mac_model": "Mac16,10",
"machine": "arm64",
"macos_version": "26.6",
"memory_bytes": 25769803776,
"memory_gib": 24.0,
"platform": "macOS-26.6-arm64-arm-64bit-Mach-O",
"processor": "arm",
"python_executable": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"python_version": "3.14.5",
"system": "Darwin"
},
"overall": "fail",
"resources": {
"default_model_size_bytes": 16430000000,
"estimated_runtime_memory_bytes": 37904836480,
"required_download_free_bytes": 41075000000
},
"schema_version": 1,
"support_matrix": {
"preview_test_targets": [
"M3 Max",
"M4 Max",
"M3 Ultra / Mac Studio",
"M5 Max developer machine"
],
"supported": {
"default_model": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"default_profile": "sustained",
"docker": "Docker Desktop current plus previous two macOS major releases",
"macos": ">= 14.0",
"platform": "Apple Silicon arm64 Mac",
"python": "native arm64 Python >= 3.10"
}
}
},
"environment": {
"git_branch": "not a git worktree",
"git_status": "not a git worktree",
"hf_path": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/hf",
"mlx": {
"default_device": "Device(gpu, 0)",
"get_active_memory": 0,
"get_peak_memory": 0,
"mlx": "0.31.2",
"mlx_lm": "0.31.3"
},
"platform": "macOS-26.6-arm64-arm-64bit-Mach-O",
"project_root": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin",
"python_executable": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"python_version": "3.14.5 (main, Jun 2 2026, 22:28:56) [Clang 22.1.3 ]",
"uv_path": null
},
"huggingface": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"cache_exists": true,
"cache_writable": true,
"cached_models": 2,
"disk_free_bytes": 262125871104,
"disk_free_gb": 262.126,
"token_present": false,
"token_source": null
},
"policy": {
"benchmark_exactness_smoke_context": 2048,
"fanmax_counts_for_product_gate": false
},
"thermal_control": {
"available": true,
"clock_anchor_enabled": false,
"clock_anchor_policy": "explicit experimental only; never used for product claims",
"instructions": "Install ThermalForge and ensure the thermalforge CLI is on PATH.",
"selected": {
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
},
"tools": [
{
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
}
]
},
"tools": {
"powermetrics": "/usr/bin/powermetrics",
"python": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"smc_atlas": null,
"smc_atlas_exists": false,
"sovereign": null,
"sovereign_exists": false,
"sudo": "/usr/bin/sudo"
}
}
Exact command
None
Model path or repo id
Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed
Chip, RAM, macOS version
M4 Mac mini, 24Gb, Tahoe