deepseek-ai/deepseek-harness · error · FileNotFoundError

the dev-only node runtime closure is missing at {node_root}

Error message

the dev-only node runtime closure is missing at {node_root} (no {bin_js}); run `scripts/build-exe-for-python-sdk.ts` in a deepseek-harness checkout, which builds and copies the deploy closure here. The node carrier is for repo-local development only — production uses the single-file exe.

What it means

Error "the dev-only node runtime closure is missing at {node_root} (no {bin_js}); run `scripts/build-exe-for-python-sdk.ts` in a deepseek-harness checkout, which builds and copies the deploy closure here. The node carrier is for repo-local development only — production uses the single-file exe." thrown in deepseek-ai/deepseek-harness.

Source

Thrown at python/sdk-runtime/src/deepseek_harness_runtime/__init__.py:149

            "no bundled dsh-jsonrpc-agent executable exists for this platform "
            f"(sys.platform={sys.platform!r}, machine={platform.machine()!r}); supported: "
            "linux/macos on x64/arm64. " + _EXE_ACQUISITION_HINT
        )
    return f"{plat}-{arch}"


def _node_launch_args() -> tuple[str, str]:
    node_root = bundled_package_dir() / "runtime" / "node"
    bin_js = (
        node_root
        / "node_modules"
        / "@deepseek-ai"
        / "dsh-sdk-jsonrpc-demo"
        / "lib"
        / "packaged-bin.js"
    )
    if not bin_js.is_file():
        raise FileNotFoundError(
            f"the dev-only node runtime closure is missing at {node_root} "
            f"(no {bin_js}); run `scripts/build-exe-for-python-sdk.ts` in a deepseek-harness "
            "checkout, which builds and copies the deploy closure here. The node carrier "
            "is for repo-local development only — production uses the single-file exe."
        )
    node = shutil.which("node")
    if node is None:
        raise FileNotFoundError(
            "the node runtime mode needs a system `node` (>=22.19) on PATH; "
            "install Node.js or use the exe mode"
        )
    return (node, str(bin_js))


__all__ = [
    "PACKAGE_METADATA_FILENAME",
    "RUNTIME_MODE_ENV_VAR",
    "bundled_default_config_path",

View on GitHub (pinned to b150a551b8)

Solutions

  1. Run scripts/build-exe-for-python-sdk.ts in a deepseek-harness checkout to build and copy the dev-only node runtime closure.

When it happens

Trigger: Thrown at python/sdk-runtime/src/deepseek_harness_runtime/__init__.py:149 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24). Data as JSON: /api/errors/be1746f81c35e954. Report an issue: GitHub.