Licence keys

okyra works fully without a key. A licence key is a signed record of your plan for compliance, checked offline. It never blocks a run, never slows it, never changes output and never changes an exit code.

okyra 0.1.0 ยท checked 16 October 2026

Docs pages
  1. Overview
  2. Install
  3. MCP setup
  4. CLI reference
  5. Targets
  6. Plans
  7. Settle and wait
  8. Licence keys
  9. Troubleshooting

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

StateRunsOutputNotice
Activenormalunchangednone
Expired, within 30 daysnormalunchangedthe licence for your company expired on a date; it keeps working until a later date
Expired, grace over, or no keynormalunchangedfree for personal and noncommercial use and 30 day evaluation
Invalid key (tampered, wrong product, newer format)normalunchangedthe 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.