Currently the only TUI-facing plugin hook for displaying information is tui.toast.show, which creates ephemeral notifications. Several plugins (token-tracker, tps-meter) use toasts to show persistent status, which creates a stream of popups that's disruptive during focused work.
I'd like to propose a tui.footer.items hook that lets plugins inject persistent status items into the session footer:
"tui.footer.items"?: (input: {
sessionID: string;
}, output: {
items: Array<{
key: string; // unique identifier for dedup
text: string; // display text
fg?: string; // foreground color (theme token or hex)
priority?: number; // ordering hint (lower = further left)
}>;
}) => Promise<void>;
The footer component would call this hook on each render cycle (or on a timer) and merge plugin items with the built-in items (LSP, MCP, permissions). Plugin items would appear between the directory path and the built-in status items.
This would let the token-tracker plugin show $0.42 · 4.5M tok persistently in the footer instead of firing toasts. It would also enable other plugins to surface persistent status (build status, test results, deployment state) without notification spam.
I understand this is an API surface change and would want maintainer input on the design before implementing. Happy to iterate on the hook shape.
Currently the only TUI-facing plugin hook for displaying information is
tui.toast.show, which creates ephemeral notifications. Several plugins (token-tracker, tps-meter) use toasts to show persistent status, which creates a stream of popups that's disruptive during focused work.I'd like to propose a
tui.footer.itemshook that lets plugins inject persistent status items into the session footer:The footer component would call this hook on each render cycle (or on a timer) and merge plugin items with the built-in items (LSP, MCP, permissions). Plugin items would appear between the directory path and the built-in status items.
This would let the token-tracker plugin show
$0.42 · 4.5M tokpersistently in the footer instead of firing toasts. It would also enable other plugins to surface persistent status (build status, test results, deployment state) without notification spam.I understand this is an API surface change and would want maintainer input on the design before implementing. Happy to iterate on the hook shape.