{"record":{"id":"55aa2638c6efc052","repo":"oraios/serena","slug":"shader-language-server-is-not-installed-and-no-aut","errorCode":null,"errorMessage":"shader-language-server is not installed and no auto-install is available for your platform.\nPlease install it using one of the following methods:\n  cargo:   cargo install shader_language_server --locked\n  GitHub:  Download from https://github.com/antaalt/shader-sense/releases\nOn macOS, install the Rust toolchain (https://rustup.rs) and Serena will build from source automatically.\nSee https://github.com/antaalt/shader-sense for more details.","messagePattern":"shader-language-server is not installed and no auto-install is available for your platform\\.\nPlease install it using one of the following methods:\n  cargo:   cargo install shader_language_server --locked\n  GitHub:  Download from https://github\\.com/antaalt/shader-sense/releases\nOn macOS, install the Rust toolchain \\(https://rustup\\.rs\\) and Serena will build from source automatically\\.\nSee https://github\\.com/antaalt/shader-sense for more details\\.","errorType":"exception","errorClass":"FileNotFoundError","httpStatus":null,"severity":"error","filePath":"src/solidlsp/language_servers/hlsl_language_server.py","lineNumber":140,"sourceCode":"                        platform_id=\"osx-x64\",\n                        binary_name=\"bin/shader-language-server\",\n                    ),\n                    RuntimeDependency(\n                        id=\"shader-language-server\",\n                        description=\"shader-language-server for macOS (ARM64) - built from source\",\n                        command=cargo_install_cmd,\n                        platform_id=\"osx-arm64\",\n                        binary_name=\"bin/shader-language-server\",\n                    ),\n                ]\n            )\n\n            try:\n                dep = deps.get_single_dep_for_current_platform()\n            except RuntimeError:\n                dep = None\n\n            if dep is None:\n                raise FileNotFoundError(\n                    \"shader-language-server is not installed and no auto-install is available for your platform.\\n\"\n                    \"Please install it using one of the following methods:\\n\"\n                    \"  cargo:   cargo install shader_language_server --locked\\n\"\n                    \"  GitHub:  Download from https://github.com/antaalt/shader-sense/releases\\n\"\n                    \"On macOS, install the Rust toolchain (https://rustup.rs) and Serena will build from source automatically.\\n\"\n                    \"See https://github.com/antaalt/shader-sense for more details.\"\n                )\n\n            # legacy unversioned dir reserved for INITIAL; every other version goes into a versioned subdir\n            ls_dirname = \"shader-language-server\" if version == _INITIAL_VERSION else f\"shader-language-server-{version}\"\n            install_dir = os.path.join(self._ls_resources_dir, ls_dirname)\n            executable_path = deps.binary_path(install_dir)\n\n            if not os.path.exists(executable_path):\n                log.info(f\"shader-language-server not found. Downloading from {dep.url}\")\n                _ = deps.install(install_dir)\n","sourceCodeStart":122,"sourceCodeEnd":158,"githubUrl":"https://github.com/oraios/serena/blob/7fcbca7e62555ec2287ddb2f083caee805848ea6/src/solidlsp/language_servers/hlsl_language_server.py#L122-L158","documentation":"The HLSL language server (shader-language-server from shader-sense) is not on the PATH and Serena has no automatic installation method for the current platform, so _get_or_install_core_dependency raises FileNotFoundError with platform-specific install instructions.","triggerScenarios":"_get_or_install_core_dependency calls deps.get_single_dep_for_current_platform(); it throws RuntimeError (no downloadable artifact for this OS/arch) so dep is None, and the code immediately raises FileNotFoundError with the manual-install message.","commonSituations":"Rust-built shader-language-server not installed on Linux/Windows where no prebuilt binary exists; user never ran `cargo install shader_language_server`; binary built but not in PATH; unsupported platform where only source builds work.","solutions":["Install via cargo: `cargo install shader_language_server --locked`, then ensure ~/.cargo/bin is on PATH.","Download a release binary from https://github.com/antaalt/shader-sense/releases and put it on PATH.","On macOS, install the Rust toolchain via https://rustup.rs so Serena can build from source automatically, then retry.","Verify with `which shader-language-server` (or `where` on Windows) that the binary is discoverable before restarting."],"exampleFix":"# before\n$ serena start --language hlsl\n# FileNotFoundError: shader-language-server is not installed...\n# after\n$ cargo install shader_language_server --locked\n$ export PATH=\"$HOME/.cargo/bin:$PATH\"\n$ which shader-language-server\n$ serena start --language hlsl","handlingStrategy":"fallback","validationCode":"import shutil\ndef validate_shader_ls_available() -> bool:\n    return shutil.which(\"shader-language-server\") is not None\n# call before initializing the HLSL language server; if False, install via cargo or GitHub releases first","typeGuard":null,"tryCatchPattern":"try:\n    ls_path = get_or_install_core_dependency()\nexcept FileNotFoundError as e:\n    if \"shader-language-server is not installed\" in str(e):\n        subprocess.run([\"cargo\", \"install\", \"shader_language_server\", \"--locked\"], check=True)\n        os.environ[\"PATH\"] += os.pathsep + os.path.expanduser(\"~/.cargo/bin\")\n    else:\n        raise","preventionTips":["Pre-install shader-language-server in your image/Dockerfile (`cargo install shader_language_server --locked`).","Ensure ~/.cargo/bin is on PATH for the process running Serena.","On macOS, install rustup before first use so source builds can succeed.","Check platform support (prebuilt artifacts) before deploying to an unsupported OS/arch."],"tags":["hlsl","missing-binary","installation","rust","path"],"backgroundTag":"language-server-not-installed","analyzedSha":"7fcbca7e62555ec2287ddb2f083caee805848ea6","analyzedAt":"2026-08-29T00:04:09.619Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}