Command Line Options
Enkaidu runs from the terminal. You can launch it with a set of options — to choose the model and provider, start the web UI, point at a config file, and so on. This page lists every option, most-common-first; the power-user and diagnostic options are grouped at the end.
Print the same list any time with enkaidu --help.
enkaidu [options]Precedence. A provider is always required, either explicitly when selecting a model not specified via your configuration file, or implicitly by selecting a unique model name from your configuration file. The
session:section of your config file supplies defaults for the provider, model, and the display/mode options below, but any flag you pass on the command line overrides the config — so a flag always wins, and the config fills in whatever you left unspecified.
Pick a model and provider
# Use a model defined in your config; Enkaidu finds its provider:
$ enkaidu -m my-model
# Or name the provider explicitly:
$ enkaidu --provider ollama --model my-model| Option | Shortcut | What it does |
|---|---|---|
--model |
-m NAME |
The AI model to use. May reference a model defined in your config. |
--provider |
-p TYPE |
The provider that backs the model — one of ollama, openai, azure_openai, azure_foundry, google_ai_studio. |
A --model alone is enough when that name is unique in your config — Enkaidu
resolves the provider for you. Give --provider only when the model name could
belong to more than one provider, or when you’re pointing at a model the config
doesn’t name.
Each provider reads its own environment variables. The per-provider setup guides include the sample config and the variables you need:
| Provider | Setup guide |
|---|---|
| Ollama (local) | With Ollama |
| Open AI-compatible hosts, incl. OpenAI | With LM Studio |
| Azure OpenAI | With Azure OpenAI |
| Azure AI Foundry New in 0.9.13 | With Azure AI Foundry |
| Google AI Studio | With Google AI Studio |
Any host that speaks the Open AI chat/completions protocol can be wired up the same way as the LM Studio example, just with its own endpoint and API key.
Choose how Enkaidu runs
| Option | Shortcut | What it does |
|---|---|---|
--webui |
Start the built-in browser-based web UI instead of the terminal prompt. | |
--quiet |
-Q |
Quieter output: skip the welcome banner and other informational chatter. |
--readonly |
Read-only mode: disable every tool that can modify the file system. | |
--streaming |
-S |
No-op. Responses stream token-by-token by default, so this flag is ignored. To turn streaming off, do it in your session: config instead. |
- Starting Enkaidu with
--webuiforces quiet mode off (a browser can’t be quiet). Each--webuilaunch picks its own free port, so you can run several at once, each in its own tab.
Configure your run
| Option | Shortcut | What it does |
|---|---|---|
--config |
-C FILE |
Load a specific config file. By default Enkaidu looks for enkaidu.yaml (or enkaidu.yml). |
--save-config-schema |
Write a JSON schema describing the config file (to FILE) and exit — handy for editor/IDE auto-completion and validation. |
Config look-up order
Enkaidu looks for a config file in this order and uses the first one it finds:
- An enforced system config, if one is in effect.
- The file you pass with
--config/-C. - A config in the current directory.
- A config in your home directory (
$HOME).
If a system config is enforced, it always wins: a config you specify, or one that lives in the current or home directory, is ignored, and Enkaidu prints a warning that an enforced system config is in effect. See Configuration and System properties for the full picture.
Troubleshoot and inspect
These exist to diagnose trouble — none of them are needed day-to-day.
| Option | Shortcut | What it does |
|---|---|---|
--recorder-file |
-R FILE |
Record chat-processing events to a JSON file. |
--debug |
Forward raw protocol messages to the recorder set with --recorder-file (so pair it with -R). |
|
--trace-mcp |
Trace transport for MCP networking. | |
--trace-http |
Trace every HTTP request Enkaidu makes. |
Help
| Option | What it does |
|---|---|
--help |
Show this list of options and exit. |
Sandbox Experimental
This is unrelated to the cordon feature which provides shell-command execution guardrails, also referred to as sandboxing execution.
Run Enkaidu inside a freshly created, randomly named sandbox folder: that
folder becomes the working directory for the whole session, so anything the model
writes or changes stays contained away from your real files. A tag on the prompt
prefix (Sb) shows when you’re sandboxed.
Without this option Enkaidu uses the current folder as the working folder.
| Option | What it does |
|---|---|
--sandbox |
Start the session in a throwaway sandbox folder under $HOME/.local/state/enkaidu/sandbox/. |
Sandbox folders are not removed when you exit, and nothing prunes them — so delete a folder under that path when you no longer need the session. As an experimental feature, the details may change.