Skip to main content
The compact mode is an ultra-minimalist rendering option for /coder mode, inspired by tools like Claude Code and aru. Instead of bordered cards, all operations are displayed as compact inline lines.

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