Who needs a key
Personal and noncommercial use is free with no key. Any company may evaluate okyra free for 30 days. After that, business use needs a paid plan, and the key we send you records it. Plans and prices are on the pricing section.
Install a key
okyra license install key.txt # checks the key, saves it to ~/.config/okyra/license okyra license install - < key.txt # or from stdin
Install checks the signature first and refuses a key that fails, with not a valid okyra licence key: <reason>. Whitespace in the key is ignored, so a key wrapped by an email client still works. XDG_CONFIG_HOME, when set, replaces ~/.config.
In CI and containers
Put the key text in a CI secret and expose it as OKYRA_LICENSE. It wins over the saved file, and nothing is written to disk.
export OKYRA_LICENSE="$OKYRA_LICENSE_KEY" # the key text, from your CI secrets
Check the key
okyra license status prints the plan, company, runners, expiry, issue date, licence id and where the key came from. It works offline and always exits 0. With no key:
okyra license status licence: none okyra: free for personal and noncommercial use and 30 day evaluation. Business use needs a licence: okyra.sthlabs.net/pricing
With a valid key the lines are licence, plan, company, runners, expires, issued, licence id and key from.
Expiry and grace
| State | Runs | Output | Notice |
|---|---|---|---|
| Active | normal | unchanged | none |
| Expired, within 30 days | normal | unchanged | the licence for your company expired on a date; it keeps working until a later date |
| Expired, grace over, or no key | normal | unchanged | free for personal and noncommercial use and 30 day evaluation |
| Invalid key (tampered, wrong product, newer format) | normal | unchanged | the key is invalid, so it counts as no key |
The notice is one line on stderr, at most once a day, and only when both stdout and stderr are a terminal. okyra mcp, piped output and the okyra license commands never show it.
What the check does not do
- No network call. The check is an ed25519 signature against a public key inside the binary, so it works air gapped.
- No activation server and no machine limit. Runner counts are a contract term.
- No telemetry. okyra has no HTTP client; its only connection is the local DevTools WebSocket to the browser.