These docs track the main branch and may describe unreleased features. The stable documentation lives at docs.docker.com.

User Settings

Full reference for the global settings block in your user config file.

Where Settings Live

Docker Agent reads a single user-level config file, independent of any agent YAML:

~/.config/cagent/config.yaml

The settings: block inside it holds preferences that apply to every agent you run — appearance, behavior, notifications, and a few global safety defaults. Everything under settings: is optional; an unset field falls back to the documented default.

# ~/.config/cagent/config.yaml
settings:
  theme: dracula
  lean: false
  sound: true

You rarely need to hand-edit this file. Most fields are managed from the TUI's /settings dialog (Appearance, Behavior, Notifications tabs) — press Enter there to apply and persist a change. A few fields (permissions, hooks, keybindings) have no dialog UI and are only set by editing the file directly.

Note

This page documents settings:. The user config file also has top-level sections outside settings:aliases:, providers:, board:, credential_helper:, sandbox_allowlist: — which are not covered here.

Settings Reference

Setting Type Default Description
hide_tool_results boolean false Hide tool call results in the TUI by default. Mirrors the --hide-tool-results flag and the Ctrl+O toggle.
expand_thinking boolean false Start new sessions with thinking/tool blocks expanded instead of collapsed.
split_diff_view boolean true Render file-edit diffs side-by-side instead of unified.
render_images boolean true Render images in the TUI using the Kitty graphics protocol. Applies to both tool-result images and Markdown images in agent responses. Automatically disabled when the terminal does not support Kitty.
theme string default Theme name, loaded from a built-in theme or ~/.cagent/themes/<name>.yaml. The special value auto follows the terminal's light/dark background. See Theming.
theme_dark string default Theme applied when theme: auto and the terminal background is dark.
theme_light string default-light Theme applied when theme: auto and the terminal background is light.
YOLO boolean false Auto-approve all tool calls globally, across every agent you run. Mirrors the --yolo flag and the /yolo command.
lean boolean false Make the lean TUI (simplified, minimal-chrome interface) the default for interactive runs instead of the full TUI.
tab_title_max_length int 20 Maximum display length for tab titles; longer titles are truncated with an ellipsis.
restore_tabs boolean false Restore previously open tabs when launching the TUI.
sound boolean false Play a notification sound on task success or failure.
sound_threshold int 10 Minimum duration in seconds a task must run before a success sound plays (failures always play).
snapshot boolean false Enable automatic shadow-git snapshots at turn boundaries globally. See Snapshots.
cache_stable_prompts boolean false Keep changing trusted context (date, environment info, dynamic prompt files) out of the frozen system prefix and append chronological updates instead, improving prompt-cache hit rates on long sessions.
warn_on_cache_miss boolean false Warn when a model call after the first one in a session reports no cached input tokens (a prompt-cache miss). Managed from the Notifications tab of /settings.
busy_send_mode string steer What happens to a message sent while the agent is working: steer injects it into the ongoing stream; queue holds it until the current turn ends.
permissions object unset Global tool-permission rules (allow / ask / deny), merged with agent-level and session-level permissions. See Permissions.
hooks object unset Global lifecycle hooks applied to every agent, additive with agent-config and CLI hooks. See Global (user-level) hooks.
keybindings array unset Remap TUI keyboard shortcuts. See Custom Keybindings for the full list of actions and syntax.
layout object unset Sidebar position and section visibility. See Layout Settings below.

Layout Settings

layout customizes the TUI's sidebar. The zero value (an omitted layout: block, or any field left out) is the default: sidebar on the right, every section visible, normal spacing.

Field Type Default Description
sidebar_position string right right, left, top, or bottom. Left/right keep a full vertical sidebar; top/bottom render a compact horizontal band.
section_spacing string normal compact, normal, or relaxed — the number of blank lines between sidebar sections.
hide_session_path boolean false Hide the working-directory (session path) line, including its git branch.
hide_usage boolean false Hide the token-usage section.
hide_agents boolean false Hide the Agents section.
hide_tools boolean false Hide the Tools section.
hide_todos boolean false Hide the Todos section.
settings:
  layout:
    sidebar_position: left
    section_spacing: compact
    hide_usage: true

Complete Example

# ~/.config/cagent/config.yaml
settings:
  theme: auto
  theme_dark: dracula
  theme_light: default-light
  lean: false
  expand_thinking: false
  split_diff_view: true
  render_images: true
  hide_tool_results: false
  sound: true
  sound_threshold: 10
  snapshot: true
  cache_stable_prompts: true
  warn_on_cache_miss: true
  busy_send_mode: queue
  restore_tabs: true
  tab_title_max_length: 24
  layout:
    sidebar_position: right
    section_spacing: normal
  permissions:
    deny:
      - "shell:cmd=sudo*"
    allow:
      - "read_*"
  hooks:
    session_start:
      - type: command
        command: "~/.config/cagent/hooks/session-start.sh"
  keybindings:
    - action: "commands"
      keys: ["f2", "ctrl+k"]

Precedence Rules

User settings are the lowest-priority source: they establish defaults, and anything more specific wins.