{"record":{"id":"be1746f81c35e954","repo":"deepseek-ai/deepseek-harness","slug":"the-dev-only-node-runtime-closure-is-missing-at-n","errorCode":null,"errorMessage":"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.","messagePattern":"the dev-only node runtime closure is missing at (.+?) \\(no (.+?)\\); 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\\.","errorType":"exception","errorClass":"FileNotFoundError","httpStatus":null,"severity":"error","filePath":"python/sdk-runtime/src/deepseek_harness_runtime/__init__.py","lineNumber":149,"sourceCode":"            \"no bundled dsh-jsonrpc-agent executable exists for this platform \"\n            f\"(sys.platform={sys.platform!r}, machine={platform.machine()!r}); supported: \"\n            \"linux/macos on x64/arm64. \" + _EXE_ACQUISITION_HINT\n        )\n    return f\"{plat}-{arch}\"\n\n\ndef _node_launch_args() -> tuple[str, str]:\n    node_root = bundled_package_dir() / \"runtime\" / \"node\"\n    bin_js = (\n        node_root\n        / \"node_modules\"\n        / \"@deepseek-ai\"\n        / \"dsh-sdk-jsonrpc-demo\"\n        / \"lib\"\n        / \"packaged-bin.js\"\n    )\n    if not bin_js.is_file():\n        raise FileNotFoundError(\n            f\"the dev-only node runtime closure is missing at {node_root} \"\n            f\"(no {bin_js}); run `scripts/build-exe-for-python-sdk.ts` in a deepseek-harness \"\n            \"checkout, which builds and copies the deploy closure here. The node carrier \"\n            \"is for repo-local development only — production uses the single-file exe.\"\n        )\n    node = shutil.which(\"node\")\n    if node is None:\n        raise FileNotFoundError(\n            \"the node runtime mode needs a system `node` (>=22.19) on PATH; \"\n            \"install Node.js or use the exe mode\"\n        )\n    return (node, str(bin_js))\n\n\n__all__ = [\n    \"PACKAGE_METADATA_FILENAME\",\n    \"RUNTIME_MODE_ENV_VAR\",\n    \"bundled_default_config_path\",","sourceCodeStart":131,"sourceCodeEnd":167,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/python/sdk-runtime/src/deepseek_harness_runtime/__init__.py#L131-L167","documentation":"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.","triggerScenarios":"Thrown at python/sdk-runtime/src/deepseek_harness_runtime/__init__.py:149 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run scripts/build-exe-for-python-sdk.ts in a deepseek-harness checkout to build and copy the dev-only node runtime closure."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}