Determines whether a script is allowed to run again when it is already running.

#SingleInstance ForceIgnorePromptOff



If this parameter is omitted, it defaults to Prompt. To change this behavior, specify one of the following words:

Force: Skips the dialog box and replaces the old instance automatically, which is similar in effect to the Reload command.

Ignore: Skips the dialog box and leaves the old instance running. In other words, attempts to launch an already-running script are ignored.

Prompt: Displays a dialog box asking whether to keep the old instance or replace it with the new one. This is the default behaviour if this directive is not used.

Off: Allows multiple instances of the script to run concurrently.


A script containing hotkeys, hotstrings, #Persistent, OnMessage(), or Gui is single-instance (dialog & prompt) by default. Other scripts default to allowing multiple instances. This behavior can be disabled or modified as described above.

This directive is ignored when any of the following command line switches are used: /force /f /restart /r

AutoHotkey relies on the title of the script's main window to identify other running instances of the script.

Like other directives, #SingleInstance cannot be executed conditionally.

Reload, #Persistent


Skips the dialog box and replaces the old instance automatically.

#SingleInstance Force