Skip to main content
The compact mode is an ultra-minimalist rendering option for both /coder and /agent modes, inspired by tools like Claude Code and aru. Instead of bordered cards, all operations are displayed as compact inline lines.
Starting with v1.119, CHATCLI_CODER_UI affects BOTH modes (/coder and /agent). Previously it only applied to /coder. The env var name is kept for back-compat. If you already had CHATCLI_CODER_UI=compact in your .env, /agent will also render in compact mode now.

Visual Comparison

╭── 🧠 REASONING
β”‚  I'll analyze the code and make changes...
β”‚  Plan:
β”‚  1. Read main.go
β”‚  2. Modify handleRequest
β”‚  3. Update tests
╰──────────────────────────────────────────────

╭── πŸ”¨ EXECUTE ACTION (1/3)
β”‚  Tool: @coder
β”‚  Command: {"cmd":"read","args":{"file":"main.go"}}
╰──────────────────────────────────────────────

╭── βœ… SUCCESS
β”‚  1  package main
β”‚  ... [200 lines] ...
╰──────────────────────────────────────────────

Activation

Set the CHATCLI_CODER_UI environment variable:
# Compact mode (ultra-minimalist)
export CHATCLI_CODER_UI=compact

# Minimal mode (smaller cards, no streaming)
export CHATCLI_CODER_UI=minimal

# Full mode (default, complete cards with output)
export CHATCLI_CODER_UI=full

Display Modes

ModeVariableDescription
fullCHATCLI_CODER_UI=full (or empty)Full cards with borders, streaming output, visible narration
minimalCHATCLI_CODER_UI=minimalSmaller cards with compact text, no output streaming
compactCHATCLI_CODER_UI=compactZero cards. Inline indicators: βœ“ Read(main.go) 0.8s

What Changes in Compact Mode

Tool Calls

FullCompact
Card ╭── πŸ”¨ EXECUTE ACTION (1/3)↻ Read(main.go) (cyan spinner)
Card ╭── βœ… SUCCESS with outputβœ“ Read(main.go) 0.8s (green checkmark)
Card ╭── ❌ FAILED with errorβœ— Patch(file.go) 0.2s (yellow X)

Smart Labels

Compact mode auto-generates labels from tool call arguments:
SubcommandLabel
readRead(main.go)
writeWrite(pkg/handler.go)
patchPatch(main.go)
execExec(go test ./...)
searchSearch(TODO)
treeTree(.)

Anti-Verbosity Rules

Compact mode includes anti-verbosity rules in the /coder system prompt. These apply to all UI modes:
  • The AI does not narrate actions: zero β€œLet me…”, β€œI will…”, β€œNow I’ll…”
  • Tool calls are emitted directly after the <reasoning> block
  • Text output only appears for the final result (1-3 sentences)

Independence from Function Calling

Compact mode is independent of the function calling method:
ProviderFunction CallingCompact UI
Claude (Anthropic)Native (API)βœ“
OpenAINative (API)βœ“
OllamaXML fallbackβœ“
GitHub ModelsNative (OpenAI-compat)βœ“

Next Steps

Coder Mode

Understand the full engineering cycle

Native Tool Use

How native function calling works

Multi-Agent

Parallel orchestration of specialized agents