Repository navigation
Pi: /ctx-status overflows terminal height and clips content without scrolling #605
Description
Activity
Thanks for the detailed report and for already working out a fix. We agree with the approach: keep the title and close hint fixed, cap the body to the terminal height, and scroll it with the arrow keys, Page Up/Down and Home/End. Please go ahead and open the PR. One small request: include a test that renders the dialog at a short terminal height and checks that the bottom border and close hint are still drawn.
I also noticed a
/ctx-statuslayout issue in OpenCode 1.18.34 with Magic Context v0.44.4 and oh-my-opencode-slim installed: the right-hand column extends beyond the dialog background.The overflow also reproduces in an isolated component render without slim, so it may not be specific to that plugin combination.

Thanks for the second screenshot. That one is in OpenCode's
/ctx-statusdialog, which is separate code from the Pi overlay, so your Pi PR doesn't need to cover it. We'll fix the OpenCode dialog's right-hand column ourselves and note it here.- addeddesign-approvedDesign agreed by a maintainer; a PR referencing this issue can be reviewedDesign agreed by a maintainer; a PR referencing this issue can be reviewed
on Oct 3, 2026 Fixed in 0.45.0, now on npm. In OpenCode,
/ctx-statuskeeps its two columns inside the dialog. In Pi and OMP (thanks to @slighter12's fix in #611), the overlay stays within the terminal height, keeps its title, close hint and border visible, and scrolls its body with the arrow keys, Page Up/Down and Home/End.To update, quit every OpenCode and Pi process first: the database migrates on first start, which can take up to a minute on a large database. OpenCode 1 and Pi pick up the new version on restart. On OpenCode 2 (2.0.22 or newer is now required), open
/plugins, select Magic Context and press ctrl+u, or runopencode plugin update. If you still see this on 0.45.0, please reopen with a log.

What happened?
/ctx-statuscan render an overlay taller than the terminal. The lower status sections, close hint, and bottom border are clipped, with no keyboard scrolling to reach the hidden content.To reproduce:
@cortexkit/pi-magic-contextv0.44.4 in Pi./ctx-statuswith enough status content to exceed the available rows, particularly in the one-column layout.Expected: the overlay fits within the terminal height, keeps its title, close controls, and bottom border visible, and allows scrolling through all status content.
Diagnostics
Environment:
An isolated regression test exercising
showStatusDialog()reproduced a 45-line component output for a 24-row terminal. Arrow keys did not change the rendered content.Implementation findings:
packages/pi-plugin/src/dialogs/status-dialog.ts,StatusDialogComponent.render()renders the entire status content and border without checking terminal height. Its input handler only handles closing the dialog.A local patch against v0.44.4 bounds the component to terminal height, keeps the title and footer outside the scrollable body, adds Up/Down, PageUp/PageDown, and Home/End navigation, and clamps the scroll position after resizing or refreshing. Existing close keys and one-/two-column layout selection are preserved.
Verification:
The patch is local only; no PR has been submitted. This issue requests agreement on the fix direction first.
Plugin version
0.44.4
Platform
macOS arm64
Client
Pi