KAEONIX
SIGN INGET STARTED

Authentication

Signing in to a Feyncode account, using an API key on a headless box, and pointing Kaeonix at a model provider of your own instead.

UPDATED29 JUL 2026v1.0.0

Signing in

kaeonix login with no argument opens a browser flow against your Feyncode account and writes the resulting token to ~/.kaeonix/auth.json. That token is what both the CLI and the chat surface use, so signing in once covers the account rather than the machine.

AUTHENTICATE
kaeonix login
kaeonix login --status # who am I, and on what plan

API keys and the environment

A browser flow is no use on a build agent. Every setting Kaeonix reads from disk can also come from the environment under the KAEONIX_ prefix, and a key set that way takes precedence over whatever is stored on the box:

HEADLESS
export KAEONIX_API_KEY=kx_live_...
export KAEONIX_MODEL=avatar-1
kaeonix --print "summarise the changes on this branch"

Issue and revoke keys from API keys. Keys are scoped to an account, not a machine, so revoking one stops every runner using it at once.

Bringing your own provider

Kaeonix also runs bring-your-own-key against any provider in the models.dev catalogue — 130+ entries, kept current without a Kaeonix release. Save a key per provider you intend to use; several can coexist:

PROVIDER KEY
kaeonix login anthropic

You are prompted for the key, which is written to ~/.kaeonix/ — your user config directory, not the repository — so it is never at risk of being committed. Model ids follow provider:model; see Avatar for choosing one.

OpenAI-compatible endpoints

Anything speaking the OpenAI API — a corporate gateway, a router like OpenRouter, a self-hosted inference server — works by supplying a base URL at login time:

GATEWAY
kaeonix login mygateway --base-url https://llm.internal.example.com/v1

This is also the route for providers that are not in the models.dev catalogue, and for pinning traffic to a region-specific endpoint.