Black Lives Matter. Support the Equal Justice Initiative and read our statement here.

Electron Documentation

Want to check our beta docs site? We'd love your feedback.


Manage files and URLs using their default applications.

Process: Main, Renderer (non-sandboxed only)

The shell module provides functions related to desktop integration.

An example of opening a URL in the user's default browser:

const { shell } = require('electron')


Note: While the shell module can be used in the renderer process, it will not function in a sandboxed renderer.


The shell module has the following methods:


  • fullPath String

Show the given file in a file manager. If possible, select the file.


  • path String

Returns Promise<String> - Resolves with a string containing the error message corresponding to the failure if a failure occurred, otherwise "".

Open the given file in the desktop's default manner.

shell.openExternal(url[, options])

  • url String - Max 2081 characters on windows.
  • options Object (optional)
    • activate Boolean (optional) macOS - true to bring the opened application to the foreground. The default is true.
    • workingDirectory String (optional) Windows - The working directory.

Returns Promise<void>

Open the given external protocol URL in the desktop's default manner. (For example, mailto: URLs in the user's default mail agent).


  • path String - path to the item to be moved to the trash.

Returns Promise<void> - Resolves when the operation has been completed. Rejects if there was an error while deleting the requested item.

This moves a path to the OS-specific trash location (Trash on macOS, Recycle Bin on Windows, and a desktop-environment-specific location on Linux).


Play the beep sound.

shell.writeShortcutLink(shortcutPath[, operation], options) Windows

  • shortcutPath String
  • operation String (optional) - Default is create, can be one of following:
    • create - Creates a new shortcut, overwriting if necessary.
    • update - Updates specified properties only on an existing shortcut.
    • replace - Overwrites an existing shortcut, fails if the shortcut doesn't exist.
  • options ShortcutDetails

Returns Boolean - Whether the shortcut was created successfully.

Creates or updates a shortcut link at shortcutPath.

shell.readShortcutLink(shortcutPath) Windows

  • shortcutPath String

Returns ShortcutDetails

Resolves the shortcut link at shortcutPath.

An exception will be thrown when any error happens.

Keyboard Shortcuts

Key Action
/ Focus the search bar
Esc Focus the search bar and cleans it
Select the next search result
Select the previous search result
Enter Open the selected search result
cmdEnter Ctrl+Enter Open the selected search result in a new tab