{"record":{"id":"d77824c28840d298","repo":"paperclipai/paperclip","slug":"exe-dev-did-not-return-vm-metadata-for-vmname","errorCode":null,"errorMessage":"exe.dev did not return VM metadata for ${vmName}.","messagePattern":"exe\\.dev did not return VM metadata for (.+?)\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/plugins/sandbox-providers/exe-dev/src/plugin.ts","lineNumber":458,"sourceCode":"    if (parsed?.name === vmName || parsed?.sshDest === vmName) {\n      return parsed;\n    }\n  }\n  return null;\n}\n\nasync function createVm(\n  config: ExeDevDriverConfig,\n  params: PluginEnvironmentAcquireLeaseParams | PluginEnvironmentProbeParams,\n): Promise<ExeDevVmRecord> {\n  const vmName = \"runId\" in params\n    ? buildVmName(config, params)\n    : `${config.namePrefix}-probe-${randomUUID().slice(0, 8)}`.slice(0, 63);\n  const command = buildCreateCommand(config, vmName);\n  const response = await runLifecycleCommand(config, command, redactCreateCommand(command, config));\n  const created = parseVmRecord(response) ?? await lookupVm(config, vmName);\n  if (!created) {\n    throw new Error(`exe.dev did not return VM metadata for ${vmName}.`);\n  }\n  return created;\n}\n\nasync function deleteVm(config: ExeDevDriverConfig, vmName: string): Promise<void> {\n  await runLifecycleCommand(config, `rm --json ${shellQuote(vmName)}`);\n}\n\nfunction buildSshDestination(config: ExeDevDriverConfig, vm: ExeDevVmRecord): string {\n  return config.sshUser ? `${config.sshUser}@${vm.sshDest}` : vm.sshDest;\n}\n\nfunction buildSshArgs(\n  config: ExeDevDriverConfig,\n  vm: ExeDevVmRecord,\n  remoteCommand: string,\n  sshIdentityFile: string | null,\n): string[] {","sourceCodeStart":440,"sourceCodeEnd":476,"githubUrl":"https://github.com/paperclipai/paperclip/blob/a7e689b3c35347b529cb9f54c9b9a8575a3dcab6/packages/plugins/sandbox-providers/exe-dev/src/plugin.ts#L440-L476","documentation":"Response validation in createVm: the exe.dev API accepted the create command, but when the VM list was re-queried no record with matching name/sshDest was found for the requested vmName. The provider's create is asynchronous/lossy, so the driver treats a create that produced no retrievable VM metadata as a failure.","triggerScenarios":"Thrown at packages/plugins/sandbox-providers/exe-dev/src/plugin.ts:456 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry VM creation/info; verify the VM name and that the exe.dev API is healthy."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7e689b3c35347b529cb9f54c9b9a8575a3dcab6","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}