Session Settings

Also settable in a profile configuration to override the base configuration.

Manages user session-specific configurations, including model selection and auto-loading preferences. Some properties within this section are optional.

  • session: Configurations specific to a user session.
    • provider_type: (optional) Specifies the type of LLM provider to be used, such as openai or ollama. You never need this if you define llms in your configuration, in which case you only need the model property below (see LLM Providers).
    • model: (optional) Defines the model used for the session, e.g., gpt4. When defining llms in the configuration (see LLM Providers), this can be the name of a model and there is no need for the above provider_type property.
    • streaming: Indicates whether streaming responses are supported. When disabled the formatted responses appear all at once. Streaming is enabled by default.
    • input_history_file: (optional) Path to a file for saving input history.
    • quiet: Set to true to enable a quiet mode that reduces the information messages that Enkaidu typically generates. Combined with streaming, this provides less verbose user experience for those times when we just don’t want to see how it all works all the time.
    • Updated in 0.9.15 exclude_past_reasoning: Set to true, or to a positive number of turns, to ask Enkaidu not to send reasoning content in responses from past turns when prompting the next turn. With a positive number N, only reasoning from turns older than the last N turns is excluded — recent reasoning is preserved (a turn starts with a user input and includes all tool calls and responses until the next user input). Some models (e.g. gemma4) recommend enabling this. (Use LLM Providers model settings to control per model.)
    • allow_tool_discovery: Set to true to allow tool discovery / install by AI models. Disallowed by default.
    • allow_sub_agents: Set to true to allow spawning sub-agents by AI models. Disallowed by default.
    • New in 0.9.10 allow_global_state: Set to true to allow access to global state by AI models using tool calling. Disallowed by default.
    • New in 0.9.11 allow_shell_commands: Set to true to enable the AI models to run allowed and approved shell commands. Disallowed by default.
    • readonly: Set to true to restrict all available built-in tools to only those with read-only side-effects, effectively preventing the AI models from making any changes.

Example

session:
  # name of a model defined in `llms:`
  model: glimmer          
  streaming: true
  quiet: true
  input_history_file: ./.enkaidu/input_history.yml
  # allow some system tools
  allow_sub_agents: true
  allow_shell_commands: true