{"record":{"id":"32c55e88221666f5","repo":"rohitg00/agentmemory","slug":"iii-console-install-failed-re-run-manually-i","errorCode":null,"errorMessage":"iii console install failed. Re-run manually:\n  ${iiiConsoleInstallHint()}","messagePattern":"iii console install failed\\. Re-run manually:\n  (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli.ts","lineNumber":1322,"sourceCode":"  if (p.isCancel(answer)) return state;\n  if (answer === false) {\n    writePrefs({ skipConsoleInstall: true });\n    return state;\n  }\n\n  const shBin = whichBinary(\"sh\");\n  const curlBin = whichBinary(\"curl\");\n  if (!shBin || !curlBin) {\n    p.log.warn(\n      `curl or sh not found. Install manually:\\n  ${iiiConsoleInstallHint()}`,\n    );\n    return state;\n  }\n  const ok = runCommand(shBin, [\"-c\", III_CONSOLE_INSTALL_CMD], {\n    label: \"Installing iii console\",\n  });\n  if (!ok) {\n    p.log.warn(\n      `iii console install failed. Re-run manually:\\n  ${iiiConsoleInstallHint()}`,\n    );\n    return state;\n  }\n  // Re-detect rather than trust install-script output paths.\n  return detectIiiConsole();\n}\n\nfunction adoptRunningEngine(): void {\n  try {\n    const existingState = readEngineState();\n    const existingPid = readEnginePidfile();\n    if (existingState && existingPid) return;\n\n    const pids = findEnginePidsByPort(getRestPort());\n    const enginePid = pids[0];\n    if (enginePid) {\n      // A Docker-forwarded port is held by the VM/proxy process","sourceCodeStart":1304,"sourceCodeEnd":1340,"githubUrl":"https://github.com/rohitg00/agentmemory/blob/e04ba88819c365c9acf9d6661ea802143e728bd6/src/cli.ts#L1304-L1340","documentation":"The CLI attempted to install the iii console by running III_CONSOLE_INSTALL_CMD through `sh -c` via runCommand (which hides the script's raw output and only reports success). If the script exits non-zero, this warning tells the user to re-run the install manually with the hint from iiiConsoleInstallHint, since the automated attempt produced no usable console installation.","triggerScenarios":"runCommand(shBin, [\"-c\", III_CONSOLE_INSTALL_CMD]) returns false: download fails (network/404), the install script detects an unsupported OS/arch, install destination is not writable, or the script itself errors.","commonSituations":"Corporate proxies blocking the console download URL; unsupported libc/arch (e.g. musl vs glibc mismatch); read-only install prefix; transient GitHub/network outages during install.","solutions":["Re-run the install script manually with the command from the hint to see full error output.","Check network/proxy access to the console release download URL (curl -I <url>).","Verify the install destination directory is writable.","Re-run `agentmemory` after a successful manual install — it re-detects the console via detectIiiConsole() rather than trusting script output."],"exampleFix":"// before: silent automated failure\n$ agentmemory start  # iii console install failed\n// after: run manually to see the error\n$ sh -c '<III_CONSOLE_INSTALL_CMD>'   # observe and fix underlying cause\n$ agentmemory start","handlingStrategy":"retry","validationCode":"// pre-flight: can we reach the console download host?\nconst probe = spawnSync(\"curl\", [\"-fsIL\", consoleDownloadUrl], { encoding: \"utf8\" });\nif (probe.status !== 0) console.error(\"Download host unreachable; fix network/proxy before install.\");","typeGuard":null,"tryCatchPattern":"const ok = runCommand(shBin, [\"-c\", III_CONSOLE_INSTALL_CMD]);\nif (!ok) {\n  console.error(\"Run the install script manually with the printed hint to see the real error, then retry.\");\n}","preventionTips":["Whitelist the console release download domain in corporate proxies.","Confirm OS/arch is supported by the install script.","Ensure the install destination is writable.","Retry after transient network failures; the CLI re-detects installed consoles automatically."],"tags":["installation","network","shell","iii-console"],"backgroundTag":"install-script-failed","analyzedSha":"e04ba88819c365c9acf9d6661ea802143e728bd6","analyzedAt":"2026-08-30T01:07:40.754Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}