Getting Started

1. Install Keybind

Download the installer from the download page and run it. Keybind is a native app with a lightweight footprint — no runtime to install.

2. Write your first bind

Open the in-app editor and paste:

bind Ctrl+Alt+H => notify("Hello from Keybind!")

This binds Ctrl+Alt+H to a notification. Save it, and the bind is live immediately — globally, even when Keybind isn't focused.

3. A real script: keep an app running

Here's something genuinely useful in a few lines — watch an app and relaunch it automatically whenever it closes or crashes:

#! requires: process, notify

# A resident script: it loads once and keeps watching in the background.
on_load {
    on_interval(5000, fn() {
        if !process_exists("notepad.exe") {
            run("notepad.exe")
            notify("Notepad wasn't running — relaunched it")
        }
    })
}

What each piece does:

  • #! requires: process, notify — the script declares the capabilities it uses. Keybind asks your approval once, then remembers it.
  • on_load { ... } runs once when the script loads. Because it declares on_load, the script stays resident — it keeps running in the background instead of firing once and exiting.
  • on_interval(5000, fn() { ... }) runs its function every 5000 ms (5 seconds).
  • process_exists("notepad.exe") is true while the app is running; run("notepad.exe") starts it again when it isn't.

Swap "notepad.exe" for any app — run() also takes a full path, like run("C:/Program Files/MyApp/app.exe").

Next steps

  • Learn the language in [Writing KSL](/keybind-scripting-language).
  • Browse every builtin in the [Function Library](/reference).
  • Package your script as a [module](/guides/building-a-module) to share or sell.
  • Find ready-made automations on the [marketplace](http://localhost:3001).

We use cookies for analytics to understand how the site is used. Functional cookies (your session) are always on. Privacy Policy.