From 94e3aae57d2a7e62e841710fd5360f3eb71bd024 Mon Sep 17 00:00:00 2001 From: lior Date: Wed, 29 Jul 2026 03:39:07 +0300 Subject: [PATCH] feat(codex): make terminal animations configurable --- src/tmux-manager.ts | 4 ++++ src/types/session.ts | 2 ++ src/web/public/index.html | 8 ++++++++ src/web/public/session-ui.js | 1 + src/web/public/settings-ui.js | 3 +++ src/web/schemas.ts | 2 ++ test/run-mode-ui.test.ts | 5 ++++- test/tmux-manager.test.ts | 9 +++++++++ 8 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/tmux-manager.ts b/src/tmux-manager.ts index ca29478e..ad6eb559 100644 --- a/src/tmux-manager.ts +++ b/src/tmux-manager.ts @@ -640,6 +640,10 @@ export function buildCodexCommand(config?: CodexConfig): string { parts.push('--dangerously-bypass-approvals-and-sandbox'); } + if (config?.animations !== undefined) { + parts.push('--config', `tui.animations=${config.animations ? 'true' : 'false'}`); + } + if (config?.model) { const safeModel = /^[a-zA-Z0-9._\-/]+$/.test(config.model) ? config.model : undefined; if (safeModel) parts.push('--model', safeModel); diff --git a/src/types/session.ts b/src/types/session.ts index 8305759c..9fca7001 100644 --- a/src/types/session.ts +++ b/src/types/session.ts @@ -298,6 +298,8 @@ export interface CodexConfig { resumeSessionId?: string; /** Bypass approval prompts (passes --dangerously-bypass-approvals-and-sandbox) */ dangerouslyBypassApprovals?: boolean; + /** Enable Codex's decorative TUI animations. Disable to reduce remote terminal redraws. */ + animations?: boolean; /** Browser rendering strategy for Codex sessions. Hybrid TUI is the only supported mode. */ renderMode?: CodexRenderMode; } diff --git a/src/web/public/index.html b/src/web/public/index.html index 224280db..3021215d 100644 --- a/src/web/public/index.html +++ b/src/web/public/index.html @@ -1654,6 +1654,14 @@

App Settings

Start new Codex sessions with --dangerously-bypass-approvals-and-sandbox +
+ + + Decorative Codex TUI motion for new local sessions. Leave off to reduce remote and mobile redraws. +