You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
FEATURE: TUI permission prompt - configurable default height and expanded state #28191
Add configuration options in tui.json to control the permission/approval prompt panel at the bottom of the TUI session view.
Why
The permission prompt panel is hard-coded to maxHeight: 15 lines and always starts collapsed (expanded: false). When a large diff is shown for approval, 15 lines is often too small to see the content clearly. Users must manually press Ctrl+F to expand it every time.
Proposed Configuration
{
"permission_prompt": {
"default_expanded": true, # Always open the approval panel in fullscreen mode"max_height": 30# Custom height when not expanded (default: 15)
}
}
Can you explore if it's possible to add this with a plugin? Maybe not exactly as you proposed, but just in general. So I don't think we are going to change to defaults or add more complexity to this if we can avoid it.
@simonklee I looked into making this a simple config option instead. The change is surprisingly small — just ~6 lines across 3 files, following the exact same pattern as existing options like diff_style or scroll_speed:
Changes
packages/opencode/src/cli/cmd/tui/config/tui-schema.ts — add schema field (~2 lines):
permission_max_height: Schema.optional(
Schema.Int.pipe(Schema.between(10, 99)).annotate({
description: "Max height of the permission prompt in rows (10-99)"
})
),
packages/opencode/src/cli/cmd/tui/config/tui.ts — add to Resolved type + default (~3 lines):
// In Resolved type:
permission_max_height: number
// In loadState result:
permission_max_height: acc.result.permission_max_height ?? 15,
packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx — use config instead of hardcoded value (1 line):
If you're still interested in this y ou can make a pr and i'll have a look. I'm on the fence since i think its a bit too niche, but open to it if its a minimal change.
I'd like to work on this. Plan: add a permission_height option to tui.json following the same pattern as existing options like diff_style, wired into the permission prompt panel, with the current behavior as the default. Happy to keep it minimal.
Implemented in PR #41978. Adds permission_prompt.max_height (default 15) and permission_prompt.default_expanded (default false) to tui.json, following the existing config schema patterns. Backward-compatible — behavior unchanged unless opted in.
Thanks for the request, @coyc! You're asking for tui.json options for the permission prompt: one to set its height when collapsed (fixed at 15 lines right now) and one to open it in fullscreen by default, so you don't have to press the fullscreen toggle (ctrl+f) every time a large diff comes up for approval.
I checked the current v2 code (packages/tui/src/routes/session/permission.tsx). Both values are still hard-coded there, and the TUI config has no setting for them. A plugin can't change this either, because plugins have no way to adjust the built-in permission prompt.
Maintainers will consider this as a feature request.
Activity
github-actions commentedon May 18, 2026
This issue might be a duplicate of existing issues. Please check:
For keybind-related issues (you mentioned
ctrl+f/permission.prompt.fullscreen), please also check our pinned keybinds documentation: #4997simonklee commentedon May 19, 2026
Can you explore if it's possible to add this with a plugin? Maybe not exactly as you proposed, but just in general. So I don't think we are going to change to defaults or add more complexity to this if we can avoid it.
coyc commentedon May 19, 2026
@simonklee I dug deeper into the TUI plugin API as you suggested — here's what I found.
Short version: TUI plugins can't modify the permission prompt either.
Why — the full picture
I traced every potential path in TuiPluginApi (api.tsx (https://github.com/anomalyco/opencode/blob/dev/packages/opencode/src/cli/cmd/tui/plugin/api.tsx)):
The root cause is in permission.tsx
opencode/packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx
Line 542 in ee16f08
opencode/packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx
Line 645 in ee16f08
This is local Solid.js state inside a component. No plugin API — server or TUI — can reach into it.
coyc commentedon May 19, 2026
Here's how the prompt panel looks right now (default height). Only ~8 lines of diff are visible — you can't see what the agent is actually changing.

So every single time you have to press Ctrl+F to expand and review the diff. It breaks the flow.
coyc commentedon May 21, 2026
@simonklee I looked into making this a simple config option instead. The change is surprisingly small — just ~6 lines across 3 files, following the exact same pattern as existing options like diff_style or scroll_speed:
Changes
Why it's low-risk
Usage
Users simply add to ~/.config/opencode/tui.json or .opencode/tui.json:
Would a PR be welcome? I'm happy to open one if this approach looks good.
simonklee commentedon Jun 24, 2026
If you're still interested in this y ou can make a pr and i'll have a look. I'm on the fence since i think its a bit too niche, but open to it if its a minimal change.
coyc commentedon Jun 27, 2026
Hi @simonklee ,
here is my PR: #34208
Tested locally, type checking passes.
Thanks!
coyc commentedon Jul 28, 2026
My PR was automatically closed due to the expiration.
If someone needs to increase the height of the prompt in Opencode, then here is a patch:
https://github.com/coyc/opencode-patches
AliAltivate commentedon Aug 11, 2026
I'd like to work on this. Plan: add a
permission_heightoption totui.jsonfollowing the same pattern as existing options likediff_style, wired into the permission prompt panel, with the current behavior as the default. Happy to keep it minimal.AliAltivate commentedon Aug 12, 2026
Implemented in PR #41978. Adds
permission_prompt.max_height(default 15) andpermission_prompt.default_expanded(default false) totui.json, following the existing config schema patterns. Backward-compatible — behavior unchanged unless opted in.alko89 commentedon Sep 21, 2026
@AliAltivate why was this closed? I would also like this feature.
alko89 commentedon Oct 7, 2026
Created a PR #53719 that addresses this, based on @AliAltivate work
opencodejr commentedon Oct 29, 2026
Thanks for the request, @coyc! You're asking for
tui.jsonoptions for the permission prompt: one to set its height when collapsed (fixed at 15 lines right now) and one to open it in fullscreen by default, so you don't have to press the fullscreen toggle (ctrl+f) every time a large diff comes up for approval.I checked the current v2 code (
packages/tui/src/routes/session/permission.tsx). Both values are still hard-coded there, and the TUI config has no setting for them. A plugin can't change this either, because plugins have no way to adjust the built-in permission prompt.Maintainers will consider this as a feature request.