Luxe

Quickstart

First launch to first turn.

First-time setup (optional but recommended) — pick a theme and which tools to enable:

luxe init                        # interactive checklist → ~/.config/luxe/config.json
luxe init --defaults             # non-interactive: default theme, every tool on

Sign in to a provider. The first launch with nothing configured opens the login wizard by itself; /login reopens it any time, and the CLI does the same job for a headless box:

luxe                             # TUI — first run walks you through sign-in
luxe auth login                  # pick a provider from a list
luxe auth login anthropic        # …or name one
luxe auth login openai --stdin < key.txt
luxe auth list                   # every provider, and how each is configured

Luxe stores credentials in ~/.config/luxe/auth.json at 0600. Environment variables still work if you prefer them:

export ANTHROPIC_API_KEY=sk-ant-...   # or OPENAI_API_KEY, GEMINI_API_KEY, …
luxe                                 # TUI (default)

Optional environment:

export LUXE_PROVIDER=openai_compat   # or 'anthropic'  (default: openai_compat)
export LUXE_MODEL=gpt-4o             # default: gpt-4o (anthropic: claude-3-5-sonnet-latest)
export LUXE_BASE_URL=http://localhost:11434/v1   # e.g. Ollama / vLLM / LM Studio

These can also come from ~/.config/luxe/auth.json (see below) or CLI flags (--provider, --model, --api-key, --base-url), which win over the environment.

Run a single prompt in headless mode:

luxe --headless -p "What files are in the current directory?"

Resume a previous session:

luxe sessions list               # list resumable sessions (newest first)
luxe -c                          # resume the most recent
luxe --resume <session-id>       # resume a specific one

Clipboard text and images use the terminal’s normal paste shortcut. Large text payloads stay compact as [Pasted N lines]; images appear as [Pasted Image]. Both work in the standard luxe build and expand into their exact text or image attachment on submission.

On terminals that consume the paste key themselves, configure a performable/fallback paste binding so image-only clipboards can pass the key through to Luxe.