Everything OpenKey does, from a user's point of view.
Download OpenKey.exe and double-click it. Nothing to install, no runtime to add. It runs happily
from a USB stick.
Windows may show a SmartScreen warning the first time, because the file isn't code-signed yet. Choose More info → Run anyway if you trust where you got it from.
OpenKey needs a free OpenRouter key. Two ways:
Sign in with your browser (recommended). OpenKey opens OpenRouter, you approve, and it collects the key automatically. Press P at any point to switch to pasting instead, or Esc to cancel.
Paste a key you already have. Create one at https://openrouter.ai/keys. It won't appear on screen as you type.
Either way OpenKey checks the key works before saving it, and encrypts it for your Windows account.
Type and press Enter. Anything that doesn't start with / goes to the AI.
While a reply arrives you'll see the model's name and how long it's taken. Text appears as it's generated; formatting settles a paragraph at a time, so finished parts look tidy while the rest is still coming.
Press Ctrl+C to stop a reply you don't want. That cancels only that reply — you can carry straight on. At the prompt with nothing running, Ctrl+C closes OpenKey.
Arrow keys, Home, End and F7 (recent lines) all work while typing. Pasting several lines at once sends them as a single message.
Your conversation is remembered. Next time you open OpenKey it shows the last couple of turns and picks up where you left off.
| Command | What it does |
|---|---|
/new |
Start a fresh conversation, keeping your key |
/retry |
Send your last message again |
/history |
Show the conversation so far |
/copy |
Copy the last reply to the clipboard |
/export [path] |
Save the conversation as a markdown file |
/models |
Choose which AI model answers you |
/model |
Show which model is answering right now |
/theme |
Switch colours: default, dark, light, mono |
/name |
Change what OpenKey calls you |
/about |
Version, where your data lives, who made it |
/cls |
Clear the screen |
/help |
List these commands |
/reset |
Erase everything and start over |
/quit |
Close OpenKey (also /exit) |
/new clears the conversation and keeps you signed in. That's what you want most of the time.
/reset erases everything, including your key, and makes you sign in again. Use it only when
your key stopped working or you want to switch accounts.
/export on its own saves to your Desktop with a timestamped name. Give it a path to choose where:
/export C:\Users\Me\Documents\notes.md
default and dark suit a dark terminal, light suits a white background, and mono drops
colour entirely — useful for screenshots, high-contrast setups, or if colour is hard to
distinguish. Your choice is remembered. /theme on its own shows the current one.
By default OpenKey labels your messages with your Windows account name, so it never asks. If that
is not what you want to be called, /name Sam changes it, and /name reset puts it back. /name
on its own shows the current one.
It only changes the label on screen. Your name is never sent to a model, and exports say You —
so a transcript you share does not carry a name you did not choose to put in it.
Lists every free model, with its context size — roughly how much conversation it can hold at once. Arrow keys to move, Enter to choose.
Picking one sticks — including next time you open OpenKey. Choose Auto to hand the choice back to OpenKey, which is the default and usually what you want.
Free models are shared and frequently busy. When one refuses, OpenKey quietly moves to another and carries on — you just get your answer. If that happened you'll see a small note like "Moved past 2 busy models."
This is normal and is the main thing OpenKey does for you. If every free model is busy at once, it says so and suggests waiting a moment.
%APPDATA%\OpenKey\ — usually C:\Users\<you>\AppData\Roaming\OpenKey. /about shows the exact
path.
| File | What it is |
|---|---|
key.bin |
Your key, encrypted for your Windows account |
session.json |
Your conversation |
models.cache.json |
The model list, refreshed daily |
config.json |
Your theme and model preferences |
rotation.state.json |
Which models are busy |
Your key is encrypted so that only your Windows account on this PC can read it — copying the file to another machine gets someone nothing. Your conversation is not encrypted, so anyone who can use your Windows account can read it.
OpenKey talks to OpenRouter, and once at launch asks GitHub whether a newer version exists. That
check sends nothing about you and never downloads anything — it just shows a link. Turn it off by
putting "checkForUpdates": false in config.json.
No analytics, no tracking, ever.
Every error says what happened and what to do next. The common ones:
"Your key was refused." The key was revoked or replaced. /reset and sign in again.
"This key is out of credit." Your free allowance is used up. Wait for it to renew, or add credit at OpenRouter.
"Can't reach OpenRouter." Usually your connection. If you're on hotel, airport or café Wi-Fi, you probably still need to sign in to the network itself in a browser — OpenKey will tell you when it detects that.
"Every free model is busy right now." Wait a minute and resend, or use /models to pick one
directly.
"Browser sign-in isn't available right now." OpenKey needs one of a few local ports for a moment to receive the sign-in, and all of them are in use. Paste a key instead, or close whatever is holding them.
Boxes or question marks instead of symbols. You're in the older console. OpenKey normally detects this and uses plain characters; if it slips through, run it from Windows Terminal.
The window closes instantly. It shouldn't — OpenKey waits for a keypress before closing when you've double-clicked it. If it still happens, run it from a terminal to see the message.
Does it cost anything? No. OpenKey only ever uses free models.
Do I need an internet connection? Yes, to reach OpenRouter.
Can I use it on another PC? Yes, but you'll sign in again — the saved key is deliberately tied to one Windows account on one machine.
Can I run it from a USB stick? Yes. That's the intended way. Your data still goes to
%APPDATA% on whichever PC you use.
Is my conversation sent anywhere? Only to OpenRouter, to generate replies. Nowhere else.
How do I start a fresh conversation without losing my key? /new. /reset is the
all-or-nothing one.