Launches and Manages scripts and applications. Supports Terminal UI and Graphical UI and allows you to:
- Save and organize multiple scripts and applications
- Enable or disable scripts on demand
- Run scripts and applications using GUI or terminal
- Run everything silently on system startup
- Run multiple scripts simultaneously or sequentially
- Load multiple scripts from external file
- Use AutoHotkey built-in and environment variables
Download and run launcher.ahk. Add path to your script and click Run button. Create .lnk file in %AppData%\Microsoft\Windows\Start Menu\Programs\Startup to run this script on system startup: "path\to\launcher.exe" -autorun.
If you prefer command line, add launcher.exe to PATH. Then open powershell or cmd and type:
launcher --add=myscript.ahk
launcher --run=myscript.ahk
launcher -scripts
launcher.ahksupports GUI mode only.
launcher -scripts and launcher.ahk displays the same scripts. You can manage them from terminal and GUI simultaneously!

launcher --param=script1[;script2;script3...]
launcher --param=@file
launcher -switch
launcher variable=value| Pattern | Description | Example |
|---|---|---|
--param=value |
Execute a parameter with a value | launcher --run=script |
--param=val1;val2 |
Multiple values separated by semicolon | launcher --run=script1;script2 |
--param=@file |
Load values from external file | launcher --add=@list.ini |
-switch |
Execute a switch (no value) | launcher -autorun |
variable=value |
Set a custom variable | launcher myvar=C:\path |
Parameters perform specific actions on your scripts.
| Parameter | Description | Usage Example |
|---|---|---|
--add |
Add script(s) to the saved list | launcher --add=script.ahk |
--enable |
Enable script(s). Can add and enable simultaneously | launcher --enable=script.ahk |
--disable |
Disable script(s). Can add and disable simultaneously | launcher --disable=script.ahk |
--run |
Run enabled script(s) immediately | launcher --run=script.ahk |
--close |
Close running script(s) | launcher --close=script.ahk |
--remove |
Remove script(s) from the saved list | launcher --remove=script.ahk |
--sep |
Set custom separator for multiple scripts | launcher --sep=^ --run=s1^s2 |
Tip
Parameters can be combined in a single command. They execute in left-to-right order:
launcher --add=script1.ahk --add=script2.ahk --enable --run
Switches control global behavior and data management. They don't require values.
| Switch | Description | Use Case |
|---|---|---|
-autorun |
Run all enabled scripts automatically | Launch all your enabled scripts with one command |
-autoclose |
Close all running scripts | Shut down all active scripts |
-vars |
Display all saved variables | View your configured variables |
-scripts |
Display all saved scripts | See what scripts are registered |
-vars-clear |
Clear all saved variables | Reset all custom variables |
-scripts-clear |
Clear all saved scripts | Reset script registry |
-save |
Write all data to disk immediately | Force save without processing remaining parameters |
-restore |
Restore data from disk | Reload configuration from disk |
-verbose |
Show additional messages | Debug and see detailed output |
-help, -h, -? |
Show help message | Display built-in documentation |
launcher --add=quickswitch.ahk
launcher --add=C:\Ahk\radify.ahkIn GUI you can specify path to the script in the input field and click Add at the bottom:

You can insert an absolute path (C:\AutoHotkey\QuickSwitch), a path relative to the current working dir (QuickSwitch) or just filename (script.ahk).
launcher --enable=quickswitch
launcher --disable=radifyIn GUI use buttons at the bottom to manage scripts:

By filename:
launcher --run=quickswitchBy full path:
launcher --run=C:\Ahk\quickswitch.ahkYou can run all scripts at once:
launcher -autorunTip
This switch runs all scripts and applications silently. You can create shortcut in %AppData%\Microsoft\Windows\Start Menu\Programs\Startup with this switch: "path\to\launcher.exe" -autorun.
launcher --close=quickswitch
launcher -autocloselauncher --remove=quickswitch
launcher --remove=script1;script2;script3
launcher -scripts-clearlauncher -scripts
launcher -scripts -verboseTerminal switch -scripts and Graphical List View displays the same information, which means you can use both TUI and GUI to query required information.

By default, multiple scripts are separated by semicolon ;
launcher --run=quickswitch;radify;arrowsYou can change this for batch operations:
launcher --sep=^ --run=quickswitch^radify^arrowsSeparator is saved:
launcher --run=script1^script2
launcher --run=script3^script4Separator can be changed in GUI. You can use it in the input field.

For batch/PowerShell special characters, use quotes to escape them:
launcher --sep='|'
launcher --sep"|"
launcher --sep='&'Tip
If you need quotes inside quotes, escape them with backticks:
launcher --sep="`""
launcher --sep='`''Load multiple scripts from external files using the @file, where file can be any path with @ prefix:
launcher --add=@list.in
launcher --remove=@list.ini
launcher --run=@scripts.inilist.ini simply lists file paths:
AutoHotKey\MarkdownToBBCode\MarkdownToBBCode.exe
AutoHotKey\ChangeLogSorter\ChangeLogSorter-1.0.ahk
AutoHotKey\QuickSwitch\QuickSwitch.ahk
Paths can be on individual lines or on asingle line:
AutoHotKey\MarkdownToBBCode\MarkdownToBBCode.exe;AutoHotKey\ChangeLogSorter\ChangeLogSorter-1.0.ahk
AutoHotKey\QuickSwitch\QuickSwitch.ahk
; separator can be changed.

You can pass simple filename relative to current working directory:
launcher --add=@list.ini...or pass quoted full path:
launcher --run=@'C:\Temp files\My scripts'
launcher --run='@C:\Temp files\My scripts'
launcher --run="@C:\Temp files\My scripts"@file can be passed to any parameter. Use it to organize your scripts into logical groups and version control them easily.
Save and reuse custom variables that persist across sessions. For any parameter or GUI input field you can pass a path that contains environment variables; built-in AutoHotkey variables or manually defined variables (see below). Enclose the variables in percent signs %
launcher --run=%A_Temp%\DarkTheme.ahk
launcher --add=%TEMP%\scripts.iniTo define a new variable with any value, simply write name=value without any prefix like -- or @
launcher mainDir=C:\Scripts\DarkGui
launcher projectPath=C:\MyProjectValues with spaces must be escaped with quotes:
launcher mainDir="C:\My Scripts\Dark Gui"
launcher projectPath='C:\Temp Scripts'
launcher --run=%mainDir%\DarkTheme.ahk
launcher --add=@'%projectPath%\scripts.ini'New variable can hold literals and other variables, including env. vars:
launcher mainDir=%A_ScriptDir%\DarkGui
launcher projectPath=%A_Temp%\myproject
launcher dataPath=%AppData%\Data
launcher --run=%mainDir%\DarkTheme.ahk
launcher --add=%projectPath%\project.ahk --add=@%dataPath%\data.ini
Change variable values within a single command to control different execution paths:
launcher AhkDir=C:\Ahk --run=%AhkDir%\quickswitch AhkDir=C:\Scripts --run=%AhkDir%\radifyFirst part runs script from C:\Ahk, second part runs script from C:\Scripts. In the end AhkDir variable holds last path, i.e. C:\Scripts. So you can reuse it later.
Pass empty value or unset to remove existing variable:
launcher mainDir=
launcher mainDir=unsetNon-existing variable cannot be initialized with empty value!
You can remove all variables:
launcher -vars-clearVariables can be passed to any parameter and file list (@file)
launcher listfile=C:\config\scripts.ini --add=@%listfile%
launcher --run=%A_ScriptFullPath%
launcher projectPath=C:\Long Long Path
launcher --add=@'%projectPath%\My Scripts\scripts.ini'File list (@file) can contain scripts, variables, and AutoHotkey variables separated by your chosen separator:
C:\s1.ahk;C:\s2.ahk
C:\%A_Temp%\s3.ahk
C:\%myvar%\s4.ahk
%A_ScriptDir%\local.ahk
Newline "`n" serves as separator too, so you can group scripts on individual lines:
C:\s1.ahk;C:\s2.ahk
C:\%A_Temp%\s1.ahk;C:\%A_Temp%\s2.ahk
Basic workflow:
launcher --add=quickswitch.ahk
launcher --enable=quickswitch
launcher --run=quickswitchMultiple scripts:
launcher --add=script1.ahk --add=script2.ahk --add=script3.ahk
launcher --run=script1.ahk;script2.ahk;script3.ahkProject setup with variables:
launcher projectDir=C:\MyProject
launcher scriptsFile=%projectDir%\scripts.ini
launcher --add=@%scriptsFile%
launcher --enable
launcher -autorunDevelopment and Production:
launcher env=dev --run=%env%\test.ahk env=release --run=%env%\public.ahkCustom separator for readable scripts list:
launcher --sep=| --run=cleanup|optimize|backup|reportLoad from external file:
launcher --add=@'C:\Scripts\utilities.ini'
launcher --enable
launcher -autorun -verbose
launcher -autoclose -save -vars-clearEach parameter can modify some internal data: variables, scripts paths, etc. Data is normally written to disk after all parameters are processed to reduce disk I/O operations. Use -save if you need to save data immediately:
launcher --add=script1 --add=script2 -save
launcher -restore -verboseBackup your .ini configuration: -save and -restore aren't magical switches, they can fail to restore previous version.
If something doesn't working as expexted, please report about it. You can pass -verbose swith to each command to get additional information.
If you're using terminal, attach this information to report please. In GUI mode use ShareX or IceCream screen recorder to record a video/gif with unexpected behavior.


