Chrome Management API Complete Reference

3 min read

chrome.management API Reference

Overview

The chrome.management API manages installed extensions and apps.

API Methods

Query Extensions

chrome.management.getAll(callback) - List all extensions/apps. Returns ExtensionInfo[].

chrome.management.getAll(e => e.forEach(x => console.log(x.name)));

chrome.management.get(id, callback) - Get specific extension info.

chrome.management.getSelf(callback) - Get calling extension (no permission needed).

chrome.management.getPermissionWarningsById(id, callback) - Get permission warnings.

chrome.management.getPermissionWarningsByManifest(manifestStr, callback) - Get warnings from manifest.


Control Extensions

chrome.management.setEnabled(id, enabled, callback) - Enable/disable extension.

chrome.management.setEnabled('ext-id', false, () => {});

chrome.management.uninstall(id, options, callback) - Uninstall extension.

chrome.management.uninstall('ext-id', { showConfirmDialog: true }, () => {});

chrome.management.uninstallSelf(options, callback) - Uninstall calling extension.


ExtensionInfo Type

Property Type Description
id string Unique identifier
name string Display name
shortName string Short name
description string Description
version string Version number
versionName string Version name
type string “extension”, “hosted_app”, “packaged_app”, “theme”
enabled boolean Currently enabled
disabledReason string “unknown”, “permissions_increase”, “corporate_policy”
isApp boolean Whether it’s an app
homepageUrl string Homepage URL
updateUrl string Update URL
permissions array Permission strings
hostPermissions array Host permission strings
installType string “admin”, “development”, “normal”, “sideload”
icons array Array of { size, url }

Events

chrome.management.onInstalled - Extension installed.

chrome.management.onInstalled.addListener(info => console.log(info.name));

chrome.management.onUninstalled - Extension uninstalled.

chrome.management.onUninstalled.addListener(id => console.log(id));

chrome.management.onEnabled - Extension enabled.

chrome.management.onDisabled - Extension disabled.


Code Examples

List Extensions

chrome.management.getAll(e => e.filter(x => x.type === 'extension')
  .forEach(x => console.log(x.name, x.enabled)));

Disable Extension

chrome.management.setEnabled('ext-id', false, () => 
  console.log(chrome.runtime.lastError ? 'Error' : 'Disabled'));

Self-Uninstall

chrome.management.uninstallSelf({ showConfirmDialog: true }, () => {});

Monitor Events

chrome.management.onInstalled.addListener(console.log);
chrome.management.onUninstalled.addListener(console.log);
chrome.management.onEnabled.addListener(console.log);
chrome.management.onDisabled.addListener(console.log);

Cross-references

How do I get info about installed extensions?

Use chrome.management.getAll() to get information about all installed apps and extensions.

Can I disable other extensions programmatically?

Yes, with sufficient permissions, you can use chrome.management.setEnabled() to enable or disable extensions.


Part of the Chrome Extension Guide by theluckystrike. Built at zovo.one.