Skip to main content

Dev Mode

Run and test the gaming packages (GEP, Overlay, Recorder) during local development, before your app is signed or packaged.

To make those packages load in a build you distribute to users, see App Signing.

PropertyValue
SurfaceOverwolf Electron (ow-electron)
Minimum versionow-electron-builder@26.9.0 and ow-electron@39.8.10
PlatformWindows
When to useLocal development, before the app is signed or packaged
CredentialsAn Overwolf Console account, plus an API key or a dev token. See Set up dev credentials.

What dev mode is

Dev mode is a path in the package manager (owepm) that skips most production integrity checks. It is built for local development, before your app is signed and packaged.

Dev mode can't activate on a distributed or packaged app. If any condition is false, the app routes to the production validation path, where a missing or invalid signature stops gaming packages from loading. For that path, see App Signing.

Dev mode authentication

Even in dev mode, you authenticate with Overwolf before gaming packages load.

If OW_CLI_EMAIL, OW_CLI_API_KEY, or OW_DEV_KEY are all absent, dev mode credential verification fails and gaming packages don't load. The app itself still runs.

Dev credentials and variables

VariablePurposeSource
OW_CLI_EMAILDev mode credential checkYour Overwolf Console account email
OW_CLI_API_KEYDev mode credential checkOverwolf Console, under Profile > API Keys
OW_DEV_KEYAlternative dev credential. Replaces OW_CLI_EMAIL and OW_CLI_API_KEY for runtime verificationProvided by Overwolf to an approved developer who doesn't yet have Overwolf Console access (a temporary developer)

Set up dev credentials

Use one of the options below. Environment variables take precedence over OW_DEV_KEY.

Option A: Environment variables

Recommended for CI and most dev workflows. Set the variables before launching your app in dev mode.

# Linux / macOS
export OW_CLI_EMAIL=your-email@example.com
export OW_CLI_API_KEY=your-api-key-from-console
# Windows (PowerShell)
$env:OW_CLI_EMAIL = 'your-email@example.com'
$env:OW_CLI_API_KEY = 'your-api-key-from-console'

Use single quotes in PowerShell so it doesn't interpret the $ characters in the key.

Launch your app with yarn start or npm start. Launching with the VS Code debugger (F5) instead doesn't pick up these variables, since the debugger doesn't inherit your terminal's environment. For that path, see Option B below.

Option B: "env" in launch.json (VS Code)

When you launch from the VS Code debugger (F5), the app doesn't inherit your terminal's environment. Put the credentials in the debug configuration's env block:

{
"configurations": [
{
"name": "OW-Electron: Main Process",
"type": "node",
"request": "launch",
// …
"env": {
"OW_CLI_EMAIL": "your-email@example.com",
"OW_CLI_API_KEY": "your-api-key-from-console"
}
}
]
}

Other IDEs: the same principle applies. Set the variables in your IDE's run/debug configuration. The mechanism differs per IDE, but the requirement is identical: the variables must be set on the launched process's environment, because IDE launches don't read your shell.

If your launch.json config passes --owepm-packages-url as a launch argument, point it at the QA package channel for local development:

--owepm-packages-url=https://electronapi-qa.overwolf.com/v2/packages

Option C: OW_DEV_KEY

OW_DEV_KEY is provided by Overwolf to an approved developer who doesn't yet have Overwolf Console access (a temporary developer). If Overwolf gave you a dev token, set it directly.

Linux/macOS terminal

export OW_DEV_KEY='<your-dev-token>'

Windows PowerShell

$env:OW_DEV_KEY = '<your-dev-token>'

VS Code F5 (launch.json)

"env": { "OW_DEV_KEY": "<your-dev-token>" }

OW_DEV_KEY is equivalent to OW_CLI_EMAIL:OW_CLI_API_KEY for dev mode verification. It uses Bearer authentication instead of Key.

Precedence order

OW_CLI_EMAIL env var (highest)
-> OW_CLI_API_KEY env var
-> OW_DEV_KEY env var (alternative path, not combined with the above)

What runs in dev mode

With valid dev credentials, a dev-mode build runs the full gaming package set: GEP (game events), Overlay, Recorder. Without credentials, the app runs but the gaming packages don't load.