Luxe

Command line

Every luxe command and flag.

View as Markdown

luxe with no command opens the interface. luxe --help, and --help after any command, prints the same reference. luxe --version prints the version.

Starting a session

FlagDoes
-c, --continueResume the most recent session in this project
--resume <id>Resume a session by ID; see luxe sessions list
--from-pr <number>Resume the session that worked on a pull request
--issue <number>Start on a GitHub issue, in a worktree of its own
--pr <number>Check out a pull request in a worktree and start a session there
--worktree [<branch>]Work in a worktree of its own, on a new or named branch
--planStart in plan mode: read, ask, and write only the plan

See Git and GitHub and Sessions and context.

Model

FlagDoes
--model <id>The model, as an ID or provider/id, which also picks the provider
--provider <id>The provider
--thinking <level>off, minimal, low, medium, high, xhigh or ultra. An unknown level is ignored with a warning.
--api-key <key>The key, or $VAR, or !command. A key typed here is visible to other users of the machine, so prefer the other two.
--base-url <url>The endpoint, including its version, such as /v1

These win over the environment and your config for this run only. See Models and providers.

Permissions and tools

FlagDoes
--permission-mode <mode>default, strict, read-only or yolo
--read-onlyThe same as --permission-mode read-only
--yoloAllow everything, with the guardrails off
--auto-approveStart with every prompt approved. Interface and --rpc only.
--on-ask <allow|deny>What a prompt becomes with nobody to answer: allow by default. Headless and loop only.
--trust-projectLet a project’s hooks, permission rules and servers apply
--no-tool <name>Turn a tool off for this run
--with-tool <name>Turn on a tool your config turned off

An unknown --permission-mode stops the run with an error. It never falls back to a more permissive mode.

See Security and permissions and Tools.

Without the interface

FlagDoes
--headlessRun one prompt and exit
-p, --prompt <text>The prompt, for --headless
--format <text|json>text streams the reply to stdout and tool activity to stderr. json writes one event per line, with token usage.
--rpcSpeak the RPC protocol on stdin and stdout
--github-writesLet an --rpc client publish to GitHub: comments, reviews, thread answers, and opening, merging or restacking pull requests. Refused under --read-only.
luxe --headless -p "list the TODO comments in src/" --format text

A headless run needs -p and a model: --model, LUXE_MODEL, your last choice or default_model in models.json. It refuses to start without either. It exits with status 1 when the turn fails or Luxe stops before the turn ends, so a script can tell a failure from an answer without reading the output.

Commands

CommandDoes
luxe auth login [provider]Sign in. --method api-key or subscription when a provider has both, --stdin to read a key from a pipe, --api-key <key> to store one given here, --no-verify to skip checking it.
luxe auth listEvery provider and how it is configured
luxe auth status [provider]A credential’s type, where it came from, and when it expires
luxe auth logout <provider>Remove a stored credential
luxe models listModels you can use. --provider <id> filters, --configured lists only the models models.json or auth.json names.
luxe models show <provider/id>What Luxe knows about a model, and where each value came from. A bare ID uses the active provider.
luxe models refreshRefresh the model catalog. --force even if it is fresh.
luxe sessions listSessions in this project, newest first
luxe mcp listConfigured MCP servers
luxe mcp add --id <id> --name <name>Add a server to the project’s .luxe/mcp.json, with --command "<program> <args>" or --url <url>. It counts as a project’s server.
luxe mcp remove --id <id>Remove a server from the project’s .luxe/mcp.json
luxe mcp toolsEvery server’s tools
luxe mcp login --id <id>Sign in to a server, in a browser
luxe loop startStart or continue an autonomous run. --max-turns, --compact-percent, --pause-percent, --quiet.
luxe loop statusThe run’s iteration, phase and cost
luxe loop pause, luxe loop resume, luxe loop stopPause, clear a pause, or stop the run
luxe loop phaseThe current phase. --set <n> changes it.
luxe loop freshReset the run’s turn count; see Autonomous runs
luxe docs [page]Read this guide, offline and for the installed version. --search <words> finds lines across every page.
luxe doctorCheck which tools, language servers and debug adapters work
luxe initSet up a theme, a provider, the tools and the start screen, and write them to ~/.config/luxe/config.json. --defaults skips the questions, --force starts from an empty file; see Editing.
luxe wire <log>Summarize a LUXE_WIRE_LOG capture; see Troubleshooting. --tools breaks the tool schemas’ size down per tool.

Every command also takes the model and permission flags above.