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 --webui forces quiet mode off (a browser can’t be quiet). Each --webui launch 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:

  1. An enforced system config, if one is in effect.
  2. The file you pass with --config / -C.
  3. A config in the current directory.
  4. 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.