From 4f6ac68e0caed19e92c9530fad605874a0dc5766 Mon Sep 17 00:00:00 2001 From: Julian lechner Date: Thu, 17 Sep 2026 11:46:06 +0200 Subject: [PATCH] feat(statusline): show Codex permission mode --- adapters/codex/config/config.toml | 2 +- scripts/test-shell-packages.ps1 | 2 +- scripts/test-shell-packages.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/adapters/codex/config/config.toml b/adapters/codex/config/config.toml index ac97da8..04b95b1 100644 --- a/adapters/codex/config/config.toml +++ b/adapters/codex/config/config.toml @@ -3,7 +3,7 @@ approvals_reviewer = "auto_review" sandbox_mode = "workspace-write" [tui] -status_line = ["model", "reasoning", "project-name", "git-branch", "context-window-size", "context-used", "used-tokens"] +status_line = ["model", "reasoning", "permissions", "approval-mode", "project-name", "git-branch", "context-window-size", "context-used", "used-tokens"] [agents] enabled = true diff --git a/scripts/test-shell-packages.ps1 b/scripts/test-shell-packages.ps1 index 30b0e4c..bcc5c0b 100644 --- a/scripts/test-shell-packages.ps1 +++ b/scripts/test-shell-packages.ps1 @@ -41,7 +41,7 @@ foreach ($shell in @('powershell','bash')) { $events = @([regex]::Matches($content, '(?m)^\[\[hooks\.([^.\]]+)\]\]\s*$') | ForEach-Object { $_.Groups[1].Value }) if ($events.Count -ne 1 -or $events[0] -ne 'Stop' -or $content -match 'flashbang-if-input' -or $content -match '(?m)^async\s*=\s*true\s*$') { throw "Codex finish hook is incorrect in $package" } if ($content -notmatch 'approvals_reviewer\s*=\s*"auto_review"') { throw "Codex auto review is missing in $package" } - if ($content -notmatch 'status_line\s*=\s*\["model", "reasoning", "project-name", "git-branch", "context-window-size", "context-used", "used-tokens"\]') { throw "Codex status line is incorrect in $package" } + if ($content -notmatch 'status_line\s*=\s*\["model", "reasoning", "permissions", "approval-mode", "project-name", "git-branch", "context-window-size", "context-used", "used-tokens"\]') { throw "Codex status line is incorrect in $package" } } elseif ((($settings.hooks.PSObject.Properties.Name | Sort-Object) -join ',') -ne 'PreCompact,SessionStart,Stop' -or $content -match 'flashbang-if-input' -or $settings.hooks.Stop[0].hooks[0].async) { throw "Claude finish hook is incorrect in $package" } elseif ($content -notmatch '"defaultMode"\s*:\s*"auto"') { diff --git a/scripts/test-shell-packages.sh b/scripts/test-shell-packages.sh index cd9e56a..38e92c2 100644 --- a/scripts/test-shell-packages.sh +++ b/scripts/test-shell-packages.sh @@ -56,7 +56,7 @@ for shell in powershell bash; do ! grep -q 'flashbang-if-input' "$package/$file" ! grep -Eq '^async[[:space:]]*=[[:space:]]*true[[:space:]]*$' "$package/$file" grep -q 'approvals_reviewer[[:space:]]*=[[:space:]]*"auto_review"' "$package/$file" - grep -Fq 'status_line = ["model", "reasoning", "project-name", "git-branch", "context-window-size", "context-used", "used-tokens"]' "$package/$file" + grep -Fq 'status_line = ["model", "reasoning", "permissions", "approval-mode", "project-name", "git-branch", "context-window-size", "context-used", "used-tokens"]' "$package/$file" else python3 -c 'import json,sys; settings=json.load(open(sys.argv[1], encoding="utf-8-sig")); assert set(settings["hooks"]) == {"PreCompact", "SessionStart", "Stop"}' "$package/$file" ! grep -q 'flashbang-if-input' "$package/$file"