{"record":{"id":"42989bd39d995d4b","repo":"CoplayDev/unity-mcp","slug":"uvx-not-found-install-uv-uvx-or-set-the-override","errorCode":null,"errorMessage":"uvx not found. Install uv/uvx or set the override in Advanced Settings.","messagePattern":"uvx not found\\. Install uv/uvx or set the override in Advanced Settings\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"MCPForUnity/Editor/Clients/Configurators/OpenClawConfigurator.cs","lineNumber":280,"sourceCode":"                {\n                    continue;\n                }\n\n                normalized[name] = legacyServer;\n            }\n\n            return normalized;\n        }\n\n        private static JObject BuildUnityServerEntry()\n        {\n            ConfiguredTransport transport = HttpEndpointUtility.GetCurrentServerTransport();\n            if (transport == ConfiguredTransport.Stdio)\n            {\n                var (uvxPath, _, packageName) = AssetPathUtility.GetUvxCommandParts();\n                if (string.IsNullOrWhiteSpace(uvxPath))\n                {\n                    throw new InvalidOperationException(\"uvx not found. Install uv/uvx or set the override in Advanced Settings.\");\n                }\n\n                var args = new JArray();\n                foreach (string value in AssetPathUtility.GetUvxDevFlagsList())\n                {\n                    args.Add(value);\n                }\n                foreach (string value in AssetPathUtility.GetBetaServerFromArgsList())\n                {\n                    args.Add(value);\n                }\n                args.Add(packageName);\n                args.Add(\"--transport\");\n                args.Add(\"stdio\");\n\n                return new JObject\n                {\n                    [\"enabled\"] = true,","sourceCodeStart":262,"sourceCodeEnd":298,"githubUrl":"https://github.com/CoplayDev/unity-mcp/blob/c21bf496bca87d54e75bad048563c3adb1782081/MCPForUnity/Editor/Clients/Configurators/OpenClawConfigurator.cs#L262-L298","documentation":"OpenClawConfigurator.BuildUnityServerEntry() builds the stdio server block for OpenClaw. When ConfiguredTransport.Stdio is active, it calls AssetPathUtility.GetUvxCommandParts() which delegates to PathResolverService.GetUvxPath(). If that returns null/whitespace, the method cannot construct a valid command string and throws. GetUvxPath() returns null only when an explicit uvx path override is set in Advanced Settings but is invalid AND no system-level uvx/uv binary is discoverable.","triggerScenarios":"Transport is set to Stdio in Advanced Settings, GetUvxPath() returns null (invalid override + no system fallback), and the user clicks Configure for OpenClaw or CheckStatus triggers an auto-rewrite.","commonSituations":"The user set a uvx path override that points to a moved/deleted binary. uv/uvx was uninstalled or never installed and the override points to a stale path. The user switched machines and the override path from the previous machine persists in EditorPrefs.","solutions":["Install uv: run `curl -LsSf https://astral.sh/uv/install.sh | sh` (macOS/Linux) or `powershell -c \"irm https://astral.sh/uv/install.ps1 | iex\"` (Windows).","Clear the stale uvx path override: MCP for Unity > Advanced Settings > remove the Uvx Path Override field, or set it to the correct binary path.","Switch transport to HTTP in Advanced Settings so uvx is not required.","Verify the binary location with `which uvx` (macOS/Linux) or `where uvx` (Windows) and set the override to that path."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"string uvx = MCPServiceLocator.Paths.GetUvxPath();\nif (string.IsNullOrWhiteSpace(uvx))\n{ ShowUserError(\"Install uv/uvx or switch to HTTP transport.\"); return; }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Install uv before using stdio transport.","Keep the uvx path override in sync with the actual binary location.","Use HTTP transport in environments where uv cannot be installed."],"tags":["configuration","openclaw","uvx","stdio","dependency"],"backgroundTag":null,"analyzedSha":"c21bf496bca87d54e75bad048563c3adb1782081","analyzedAt":"2026-08-13T17:36:56.095Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}