feat(code): simplify welcome banner to compact box#4482
Merged
Conversation
Replace the ASCII-art splash (tracing/MCP/thread/tip/footer) with a minimal bordered box showing title, model, and directory. Drop the startup chat anchor so the banner top-aligns instead of bottom-sticking an empty chat.
…er cwd _sync_status_model now catches ScreenStackError alongside NoMatches so model sync doesn't crash when the app has no screen stack (e.g. in tests that exercise commands without mounting the full UI). Adds WelcomeBanner.update_cwd and wires _apply_cwd_to_ui to call it, so the directory row stays current after thread cwd switches instead of showing the launch directory until restart.
Mason Daugherty (mdrxy)
added a commit
that referenced
this pull request
Jul 6, 2026
> [!CAUTION] > Merging this PR will automatically publish to **PyPI** and create a **GitHub release**. For the full release process, see [`.github/RELEASING.md`](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md). --- _Everything below this line will be the GitHub release body._ --- ## [0.1.32](deepagents-code==0.1.31...deepagents-code==0.1.32) (2026-07-06) ### Features * Simplify welcome banner to compact box ([#4482](#4482)) ([b7f46e9](b7f46e9)) * Add LangSmith base URL to `/auth` ([#4228](#4228)) ([88d167f](88d167f)) * `tool.use` and `tool.result` hook events ([#3954](#3954)) ([ba1979d](ba1979d)) * Fall back to folder name for subagents ([#4504](#4504)) ([9db3db5](9db3db5)) * Report tracing gateway in `dcode doctor` ([#4466](#4466)) ([a912427](a912427)) * Gate paste auto-collapse behind `display.collapse_pastes` ([#4473](#4473)) ([ff5dd56](ff5dd56)) ### Bug Fixes * Keep footer branch visible and ellipsized instead of hiding when narrow ([#4506](#4506)) ([ccf30c3](ccf30c3)) * Remove MCP OAuth success page message shift ([#4463](#4463)) ([69bb06c](69bb06c)) * Prevent `UnicodeEncodeError` crash in non-interactive mode on legacy Windows consoles ([#4478](#4478)) ([b1b16cd](b1b16cd)) ### Performance Improvements * Make `threads list` faster on large session databases ([#4005](#4005)) ([85ca01a](85ca01a)) --- _Everything above this line will be the GitHub release body._ --- > [!NOTE] > A **New Contributors** section is appended to the GitHub release notes automatically at publish time (see [Release Pipeline](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md#release-pipeline), step 2). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Mason Daugherty <github@mdrxy.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The startup welcome banner was a large multi-section panel — ASCII art title, a "Ready to code!" subheader, a randomly selected tip, LangSmith tracing links (including replica projects), editable-install path, and MCP status. On a fresh launch with an empty chat, Textual's bottom-anchor behavior floated this panel to the bottom of the viewport, leaving dead space above it — unlike Claude Code, which greets the user top-aligned.
This PR replaces the banner with a compact bordered box and fixes the viewport anchoring so the banner sits at the top on launch.
The new box shows
dcode(bold) and the version tag. Rows below the title appear only when their data is present:The model and working-directory rows are opt-in (
SPLASH_SHOW_MODEL/SPLASH_SHOW_CWD, both off by default) — the model already lives in the status bar and the cwd in the prompt. The thread ID row appears only in debug mode. MCP server warnings (unauthenticated, errored, awaiting reconnect) still surface as yellow alert lines inside the box, and the editable-install path shows for local installs.Removed: rotating tips and the
build_welcome_footer()helper, the "Ready to code!" subheader, replica tracing project display, andHIDE_SPLASH_TIPS.set_idle()/set_connecting()are now no-ops — the status bar owns connection progress and failure messaging._ChatScroll.anchor()no longer bottom-anchors at startup. The real anchor is deferred until chat content overflows the viewport, so the banner stays pinned to the top on an empty chat and the chat follows the bottom once it fills up. Streaming, shell output, slash-command output, and thread-resume paths opt into bottom-follow as content arrives._sync_status_modelnow updates the banner's model display (when enabled) in addition to the status bar, so/modelswitches are reflected everywhere. Cwd changes also flow throughupdate_cwd(). Both lookups guard againstScreenStackErrorwhen the banner isn't mounted.Release note
The startup welcome banner is now a compact bordered box instead of a multi-section panel. Tips, the "Ready to code!" subheader, and replica tracing project lines have been removed. The banner stays top-aligned in an empty chat instead of floating to the bottom. Two new opt-in settings —
SPLASH_SHOW_MODELandSPLASH_SHOW_CWD(env:DEEPAGENTS_CODE_SPLASH_SHOW_MODEL/DEEPAGENTS_CODE_SPLASH_SHOW_CWD) — control whether the active model and working directory appear as rows in the banner.