Problem
When editing large files (300-500+ lines), the diff output in the TUI becomes very long and requires extensive scrolling. This makes it hard to follow the conversation flow.
Current Behavior
✅ Edited file src/components/App.tsx
┌─────────────────────────────────────────────────┐
│ - old line 1 │
│ + new line 1 │
│ - old line 2 │
│ + new line 2 │
│ ... (500 more lines of diff) ... │
└─────────────────────────────────────────────────┘
Expected Behavior
Minimal mode - clean, compact:
✅ Edited file src/components/App.tsx (+245, -123 lines)
Minimal + expandable - click to see full diff:
✅ Edited file src/components/App.tsx (+245, -123 lines) [expand]
Use Case
- Large refactors with many line changes
- Generated code (500+ lines)
- Config file updates
- Keeping conversation flow readable
Suggested Implementation
New TUI config option in opencode.json:
{
"tui": {
"diff_display": "minimal"
}
}
| Mode |
Behavior |
full |
Show complete diff (current default) |
minimal |
Show only filename + line counts, with option to expand |
When minimal:
- Default view: collapsed (filename + stats only)
- User can expand to see full diff if needed
Important Note
UI vs Context Separation:
The minimal feature should ideally:
- UI: Show minimal/collapsed for clean scrolling experience
- AI Context: Keep full diff in conversation history so AI maintains understanding
This prevents AI from "forgetting" what was edited while keeping the TUI clean for users.
User sees: ✅ Edited file App.tsx (+50, -30 lines) [expand]
AI sees: Full diff content in context for continuity
Problem
When editing large files (300-500+ lines), the diff output in the TUI becomes very long and requires extensive scrolling. This makes it hard to follow the conversation flow.
Current Behavior
Expected Behavior
Minimal mode - clean, compact:
Minimal + expandable - click to see full diff:
Use Case
Suggested Implementation
New TUI config option in
opencode.json:{ "tui": { "diff_display": "minimal" } }fullminimalWhen
minimal:Important Note
UI vs Context Separation:
The minimal feature should ideally:
This prevents AI from "forgetting" what was edited while keeping the TUI clean for users.