HTTP/2 301
content-length: 162
content-type: text/html
date: Tue, 14 Oct 2025 18:32:19 GMT
location: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/commands/update
server: nginx
strict-transport-security: max-age=60; includeSubDomains
via: 1.1 google
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3JD51AK7aQQVQ9_EOlNQPH9rGZGTf8l3XRQhNpW9zG5XRbuzgNczmF-saOCbEZ-iQgs
cache-control: public, max-age=3600
expires: Tue, 14 Oct 2025 19:32:20 GMT
last-modified: Tue, 14 Oct 2025 01:04:27 GMT
etag: W/"f307f1f16cb67403bdb5d89e8882097f"
x-goog-generation: 1760403867463168
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 148110
x-goog-meta-goog-reserved-file-mtime: 1760402647
x-goog-hash: crc32c=cmdTDA==, md5=8wfx8Wy2dAO9tdieiIIJfw==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: c021e7f83d6fdec07db51cb9eae821be
date: Tue, 14 Oct 2025 18:32:20 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
commands.update() - Mozilla | MDN
browser.commands.update(
details // object
);
details
object
. An object with the following properties:
name
string
. The name of the command to update. This must match the name of an existing command, as given for example in the name
property of the commands.Command
object.
description
Optional
string
. A new description to set for the command.
shortcut
Optional
string
. A new shortcut to set for the command. This can be:
an empty string to clear the shortcut.
a string matching the format of the commands
manifest.json key to set a new shortcut key. If the string does not match this format, the function throws an error.
Note:
From Firefox 135, extensions can use this method to assign the F13
to F19
keys in addition to the keys supported by commands
.
A Promise
that will be fulfilled with no arguments when the shortcut has been updated. The promise will be rejected with an error if the command could not be found.
Updates the command named "my-command" with the given shortcut value, when the user clicks "update":
const commandName = "my-command";
function updateShortcut() {
browser.commands.update({
name: commandName,
shortcut: document.querySelector("#shortcut").value,
});
}
document.querySelector("#update").addEventListener("click", updateShortcut);