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.
| Property | Value |
|---|---|
| Surface | Overwolf Electron (ow-electron) |
| Minimum version | ow-electron-builder@26.9.0 and ow-electron@39.8.10 |
| Platform | Windows |
| When to use | Local development, before the app is signed or packaged |
| Credentials | An Overwolf Console account with an API key, or an Overwolf developer account with Approved developer status. 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
| Variable | Purpose | Source |
|---|---|---|
OW_CLI_EMAIL | Dev mode credential check | Your Overwolf Console account email |
OW_CLI_API_KEY | Dev mode credential check | Overwolf Console, under Profile > API Keys |
OW_DEV_KEY | Alternative dev credential. Replaces OW_CLI_EMAIL and OW_CLI_API_KEY for runtime verification | Your dev.overwolf.com profile, once your Developer status is Approved. See Option C: OW_DEV_KEY |
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, replace it with --owepm-package-channel. You request a dev or QA channel per package, and the package manager fetches that channel's build from the same production endpoint, so you no longer point your app at a different server:
--owepm-package-channel=gep:dev,overlay:dev
For the full API, see Package Channels.
Option C: OW_DEV_KEY
Generate OW_DEV_KEY yourself from your dev.overwolf.com profile, once your Developer status is Approved.
- If you haven't already, submit your app idea. The DevRel team reviews it manually. Once approved, you get an email and your Developer status on your profile changes from Pending to Approved.
- Log in with your Overwolf account.
- Open your profile and confirm Developer status shows Approved.
- Under Developer Key:
- No key yet: press Generate key.
- Renewing an existing key: press Extend. Extend stays disabled until you're close to the key's expiry. The text under the button tells you exactly when it unlocks.
- The key field is masked by default. Press the eye icon to reveal it, or press the copy icon to copy the value directly.
Set the value you copied as OW_DEV_KEY.
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.
Related pages
- App Signing, to sign your app so gaming packages load when distributed.
- Develop your app (Phase 2), the onboarding step that points here.
- Building your first app, for the dev-mode quick start.
- Overwolf Electron Technical Overview.