Skip to content

Make TUI zero-state section visibility configurable - #14558

Open
warp-agent-staging[bot] wants to merge 5 commits into
masterfrom
factory/configure-tui-zero-state
Open

Make TUI zero-state section visibility configurable#14558
warp-agent-staging[bot] wants to merge 5 commits into
masterfrom
factory/configure-tui-zero-state

Conversation

@warp-agent-staging

@warp-agent-staging warp-agent-staging Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Description

The Warp Agent CLI zero state always rendered a fixed set of sections — including the signed-in account line — with no way to hide any of them. This adds per-section visibility settings so users can pick what the zero state shows.

New TUI settings under appearance.zero_state (the same surface as the existing animation settings), each defaulting to true so today's zero state is unchanged:

  • show_signed_in_user — the Signed in as … account line
  • show_changelog — the "What's new" header and bullets
  • show_project_info — the project path header plus its rules/skills body
  • show_mcp — the MCP header and status line
  • show_animation — the rotating object together with its starfield

The title and version lines stay always-on (not requested, and they identify the surface).

Behavior details:

  • A hidden section contributes no rows at all — no orphaned header and no spacer row. With every toggle off, only the title and version remain.
  • Hiding the animation switches to a copy-only layout, so no empty animation panel is reserved beside the copy and no starfield is drawn behind it.
  • The zero-state view subscribes to the settings group, so toggles apply to the live zero state without restarting the CLI.
  • Unset (or unreadable) keys fall back to visible.

Originating thread: https://warpdev.slack.com/archives/C0BDQDW8V5E/p1785443872265259

Linked Issue

APP-5070

Testing

Commands run:

  • ./script/format --check — passed
  • cargo check -p warp_tui --tests — passed; existing test targets compile, but the full test suite was intentionally not run
  • cargo clippy --workspace --exclude warp_completer --all-targets --tests -- -D warnings — passed
  • cargo clippy -p warp --all-targets --tests -- -D warnings — passed
  • cargo clippy -p warp_completer --all-targets --tests -- -D warnings — passed

Manual: built and ran the authenticated local TUI in tmux at 120×40, then hot-reloaded one setting at a time. Each capture set exactly one key to false; the original settings file was restored afterward.

Disabled setting Captured result
show_signed_in_user The account line disappeared; project info, MCP, and animation remained.
show_changelog A tagged local build with a local channel-versions fixture first showed “What's new” plus two validation bullets. After disabling the setting, the header and both bullets disappeared while version, account, project, MCP, and animation remained.
show_project_info The project path, loaded rules, and discovered skills disappeared; account, MCP, and animation remained.
show_mcp The MCP header and status disappeared; account, project info, and animation remained.
show_animation The rotating object and starfield disappeared, and the copy switched to the full-width copy-only layout; every text section remained.
show_signed_in_user = false
Warp Agent CLI
dev build

~/Documents/GitHub/warp-2
✓ AGENTS.md loaded
✓ 22 skills discovered

MCP
2 connected · 1 failed · 2 offline · 27 available
show_changelog = false (fixture-backed)

Enabled:

Warp Agent CLI
v0.2026.07.31.00.00.local_00
Signed in as …
What's new
• Validation item one
• Validation item two
MCP

Disabled:

Warp Agent CLI
v0.2026.07.31.00.00.local_00
Signed in as …
MCP
show_project_info = false
Warp Agent CLI
dev build
Signed in as …

MCP
2 connected · 1 failed · 2 offline · 27 available
show_mcp = false
Warp Agent CLI
dev build
Signed in as …

~/Documents/GitHub/warp-2
✓ AGENTS.md loaded
✓ 22 skills discovered
show_animation = false
Warp Agent CLI
dev build
Signed in as …

~/Documents/GitHub/warp-2
✓ AGENTS.md loaded
✓ 22 skills discovered

MCP
2 connected · 1 failed · 2 offline · 27 available

The remainder of the 120-column capture was blank: no object, starfield, or reserved animation panel.

Screenshots / Videos

Earlier visual capture with every section visible:

Zero state with all sections visible

Earlier combined hidden-state capture:

Zero state with sections hidden

Computer-use video recordings

View video recording: Recording of a live toggle: the TUI starts with every zero-state section visible, then the settings file is edited mid-run and the signed-in line, MCP, and animation/starfield disappear without a restart.

Follow-up merge and per-setting validation: https://staging.warp.dev/conversation/5891d408-eb5b-475c-bd04-3d515e2ea02c

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

Conversation: https://staging.warp.dev/conversation/7bf4fc45-a70c-47a9-b9c4-e34516d3ed06
Run: https://oz.staging.warp.dev/runs/019fb4c9-855e-7b7e-acac-f80717cec4fe

This PR was generated with Oz.

CHANGELOG-IMPROVEMENT: The Warp Agent CLI zero state is now configurable — hide the signed-in account line, changelog, project info, MCP, or the animation with appearance.zero_state.show_* settings.

Add per-section `appearance.zero_state.show_*` settings so the Warp Agent
CLI zero state can hide the signed-in account line, the "What's new"
changelog, the project info block, MCP, and the rotating object plus its
starfield. Every toggle defaults to true, so the default zero state is
unchanged; the title and version lines stay always-on.

Hidden sections contribute no rows at all (no orphaned headers or spacer
rows), and hiding the animation switches to a copy-only layout so no empty
animation panel or starfield is reserved. The zero-state view subscribes to
the settings group, so toggling a section re-renders live without a restart.

Co-Authored-By: Warp <agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label Jul 30, 2026
…ui-zero-state

# Conflicts:
#	crates/warp_tui/src/zero_state_tests.rs
@warp-agent-staging
warp-agent-staging Bot marked this pull request as ready for review July 30, 2026 22:14
Resolve the TUI zero-state refactor while preserving configurable section visibility and dropping feature-specific unit tests.\n\nCo-Authored-By: Warp <agent@warp.dev>
Keep existing upstream tests compiling with the new visibility settings without adding feature-specific coverage.\n\nCo-Authored-By: Warp <agent@warp.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants