## Description Fixes #9485. The "+" (new session) dropdown next to the vertical-tabs panel was hardcoded to anchor `BottomLeft → TopLeft` (`view.rs`), so when the user moved the Tabs Panel to the right side of the toolbar via "Edit toolbar" the menu tried to expand to the right of the "+" button — which sits at the right edge of the window. With `WindowBySize` clamping, the menu was squashed into a narrow vertical strip of icons hugging the right edge of the window (see screenshots in #9485). This change makes the dropdown's anchor mirror the side the tabs panel is on, matching the same pattern already used for the per-tab kebab menu later in this file (`Self::tabs_panel_side(...)` + `BottomLeft/TopLeft` vs `BottomRight/TopRight`): - Tabs Panel on **left**: `BottomLeft → TopLeft` (menu opens to the right — original layout, unchanged). - Tabs Panel on **right**: `BottomRight → TopRight` (menu opens to the left — fixes the bug). The mapping is extracted into `Workspace::vertical_tabs_dropdown_anchors` next to the existing `tabs_panel_side` helper to keep the call site readable and unit-testable. ### Out of scope (follow-up) In the same render method, the "tab config" chip near the "+" button is anchored `MiddleRight → TopLeft` regardless of side and almost certainly has the same overflow problem when the panel is on the right. Keeping this PR focused on the menu reported in #9485 — happy to file a follow-up issue once this lands. ## Testing - New unit test `test_vertical_tabs_dropdown_anchors_match_panel_side` in `app/src/workspace/view_test.rs` asserts the anchor pair for both `PanelPosition::Left` and `PanelPosition::Right`. - Manually verified on Linux (CachyOS) on a local build: - Tabs Panel on **left**: "+" menu opens cleanly to the right of the button (regression check — unchanged). - Tabs Panel on **right**: "+" menu opens cleanly to the left of the button and is fully visible (the fixed case from #9485). - Local checks: `cargo fmt --all -- --check` clean, `cargo clippy -p warp --all-targets --tests --features gui -- -D warnings` clean, `cargo test -p warp --features gui --lib workspace::view` 104 passed including the new test. ## Agent Mode - [ ] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable CHANGELOG-BUG-FIX: Fix new-session "+" dropdown alignment when the Tabs Panel is placed on the right side of the header toolbar. --------- Co-authored-by: Oz <oz-agent@warp.dev> Co-authored-by: harryalbert <65182701+harryalbert@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Harry <harryalbert364@gmail.com>
Website · Code · Agents · Terminal · Drive · Docs · How Warp Works
Note
OpenAI is the founding sponsor of the new, open-source Warp repository, and the new agentic management workflows are powered by GPT models.
About
Warp is an agentic development environment, born out of the terminal. Use Warp's built-in coding agent, or bring your own CLI agent (Claude Code, Codex, Gemini CLI, and others).
Installation
You can download Warp and read our docs for platform-specific instructions.
Warp Contributions Overview Dashboard
Explore build.warp.dev to:
- Watch thousands of Oz agents triage issues, write specs, implement changes, and review PRs
- View top contributors and in-flight features
- Track your own issues with GitHub sign-in
- Click into active agent sessions in a web-compiled Warp terminal
Licensing
Warp's UI framework (the warpui_core and warpui crates) are licensed under the MIT license.
The rest of the code in this repository is licensed under the AGPL v3.
Open Source & Contributing
Warp's client codebase is open source and lives in this repository. We welcome community contributions and have designed a lightweight workflow to help new contributors get started. For the full contribution flow, read our CONTRIBUTING.md guide.
Tip
Maintaining a popular open-source project? Apply for Oz credits to bring agentic workflows like issue triage, PR review, and community management to your repo.
Issue to PR
Before filing, search existing issues for your bug or feature request. If nothing exists, file an issue using our templates. Security vulnerabilities should be reported privately as described in CONTRIBUTING.md.
Once filed, a Warp maintainer reviews the issue and may apply a readiness label: ready-to-spec signals the design is open for contributors to spec out, and ready-to-implement signals the design is settled and code PRs are welcome. Anyone can pick up a labeled issue — mention @oss-maintainers on an issue if you'd like it considered for a readiness label.
Building the Repo Locally
To build and run Warp from source:
./script/bootstrap # platform-specific setup
./script/run # build and run Warp
./script/presubmit # fmt, clippy, and tests
See WARP.md for the full engineering guide, including coding style, testing, and platform-specific notes.
Joining the Team
Interested in joining the team? See our open roles.
Support and Questions
- See our docs for a comprehensive guide to Warp's features.
- Join our Slack Community to connect with other users and get help from the Warp team.
- Try our Preview build to test the latest experimental features.
- Mention @oss-maintainers on any issue to escalate to the team — for example, if you encounter problems with the automated agents.
Code of Conduct
We ask everyone to be respectful and empathetic. Warp follows the Code of Conduct. To report violations, email warp-coc at warp.dev.
Open Source Dependencies
We'd like to call out a few of the open source dependencies that have helped Warp to get off the ground: