google-gemini/gemini-cli · error · Error

Updated extension not found after installation, got error:\n

Error message

Updated extension not found after installation, got error:\n${e}

What it means

Thrown when extensionManager.installOrUpdateExtension rejects during an update. The updater catches the install error, sets the extension state to ERROR, and re-throws with the original error interpolated into the message.

Source

Thrown at packages/cli/src/config/extensions/update.ts:118

  const originalVersion = extension.version;

  const tempDir = await ExtensionStorage.createTmpDir();
  try {
    const previousExtensionConfig = await extensionManager.loadExtensionConfig(
      extension.path,
    );
    let updatedExtension: GeminiCLIExtension;
    try {
      updatedExtension = await extensionManager.installOrUpdateExtension(
        installMetadata,
        previousExtensionConfig,
      );
    } catch (e) {
      dispatchExtensionStateUpdate({
        type: 'SET_STATE',
        payload: { name: extension.name, state: ExtensionUpdateState.ERROR },
      });
      throw new Error(
        `Updated extension not found after installation, got error:\n${e}`,
      );
    }
    const updatedVersion = updatedExtension.version;
    dispatchExtensionStateUpdate({
      type: 'SET_STATE',
      payload: {
        name: extension.name,
        state: enableExtensionReloading
          ? ExtensionUpdateState.UPDATED
          : ExtensionUpdateState.UPDATED_NEEDS_RESTART,
      },
    });
    return {
      name: extension.name,
      originalVersion,
      updatedVersion,
    };

View on GitHub (pinned to 5024443c72)

Solutions

  1. Read the interpolated error (\n${e}) to find the underlying install failure and fix it.
  2. Free space / fix permissions on the extensions directory and retry.
  3. Serialize updates per-extension to avoid concurrent-install races.

Example fix

// before
try { updatedExtension = await installOrUpdateExtension(meta, prev); }
catch (e) { throw new Error(`Updated extension not found...\n${e}`); }
// after
try { updatedExtension = await installOrUpdateExtension(meta, prev); }
catch (e) {
  logger.error('install/update failed for %s:', extension.name, e);
  throw new Error(`Updated extension not found after installation: ${getErrorMessage(e)}`, { cause: e });
}
Defensive patterns

Strategy: try-catch

Try / catch

try { await checkForExtensionUpdate(ext, mgr); } catch (e) { const msg = String(e); if (/not found after installation/.test(msg)) { logInstallFailure(ext.name, e); } throw e; }

Prevention

When it happens

Trigger: installOrUpdateExtension fails: clone/release download error, disk full, destination not writable, version resolution finds nothing newer, or a write conflict.

Common situations: Network blip during re-download; out of disk space; permissions changed on the extensions directory; concurrent update attempts racing on the same extension.

Related errors


AI-assisted analysis of google-gemini/gemini-cli@5024443c72 (2026-08-12). Data as JSON: /api/errors/f78faffa0ce61797. Report an issue: GitHub.