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.