paperclipai/paperclip · error
exe.dev did not return VM metadata for ${vmName}.
Error message
exe.dev did not return VM metadata for ${vmName}. What it means
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.
Source
Thrown at packages/plugins/sandbox-providers/exe-dev/src/plugin.ts:458
if (parsed?.name === vmName || parsed?.sshDest === vmName) {
return parsed;
}
}
return null;
}
async function createVm(
config: ExeDevDriverConfig,
params: PluginEnvironmentAcquireLeaseParams | PluginEnvironmentProbeParams,
): Promise<ExeDevVmRecord> {
const vmName = "runId" in params
? buildVmName(config, params)
: `${config.namePrefix}-probe-${randomUUID().slice(0, 8)}`.slice(0, 63);
const command = buildCreateCommand(config, vmName);
const response = await runLifecycleCommand(config, command, redactCreateCommand(command, config));
const created = parseVmRecord(response) ?? await lookupVm(config, vmName);
if (!created) {
throw new Error(`exe.dev did not return VM metadata for ${vmName}.`);
}
return created;
}
async function deleteVm(config: ExeDevDriverConfig, vmName: string): Promise<void> {
await runLifecycleCommand(config, `rm --json ${shellQuote(vmName)}`);
}
function buildSshDestination(config: ExeDevDriverConfig, vm: ExeDevVmRecord): string {
return config.sshUser ? `${config.sshUser}@${vm.sshDest}` : vm.sshDest;
}
function buildSshArgs(
config: ExeDevDriverConfig,
vm: ExeDevVmRecord,
remoteCommand: string,
sshIdentityFile: string | null,
): string[] {View on GitHub (pinned to a7e689b3c3)
Solutions
- Retry VM creation/info; verify the VM name and that the exe.dev API is healthy.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/plugins/sandbox-providers/exe-dev/src/plugin.ts:456 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@a7e689b3c3 (2026-08-18).
Data as JSON: /api/errors/d77824c28840d298.
Report an issue: GitHub.