The removeFile() function of the downloads API removes a downloaded file from disk.

This API removes the file from disk, but does not remove it from the browser's downloads history, therefore a call to will still return the item as a DownloadItem, but its exists attribute will be false.

To remove a file from the downloads history, you need to use downloads.erase().

This is an asynchronous function that returns a Promise.

Note: If you want to remove a downloaded file from disk and erase it from history, you have to call removeFile() before you call downloads.erase(). If you try it the other way around you'll get an error when calling removeFile(), because the browser will no longer have a record of the download.


let removing = browser.downloads.removeFile(
  downloadId      // integer



An integer representing the id of the DownloadItem you want to delete from disk.

Return value

A Promise. If the request was successful, the promise will be fulfilled with no arguments. If the request failed, the promise will be rejected with an error message.

Browser compatibility

BCD tables only load in the browser


Remove the most recently downloaded file:

function onRemoved() {
  console.log(`Removed item`);

function onError(error) {
  console.log(`Error: ${error}`);

function remove(downloadItems) {
  if (downloadItems.length > 0) {
    let removing = browser.downloads.removeFile(downloadItems[0].id);
    removing.then(onRemoved, onError);

let searching ={
  limit: 1,
  orderBy: ["-startTime"],

searching.then(remove, onError);

Example extensions

Note: This API is based on Chromium's chrome.downloads API.