Axel L. 27f4933b81 feat(uri): add warposs://pane/{uuid} deep link for pane focus (#9655)
## Description

Adds a `warposs://pane/{uuid_hex}` deep link that focuses a specific
terminal pane by its persistent session UUID. This enables external
tools to programmatically switch to a given pane/tab/window in Warp.

### What
- **`PaneGroup::find_pane_by_session_uuid`** — new method that iterates
terminal panes and matches by persistent UUID bytes, returning the
`PaneId`
- **`UriHost::Pane`** — new URI host variant with full handler: decodes
32-char hex UUID, walks all workspaces/windows via
`WorkspaceRegistry::all_workspaces()`, dispatches
`handle_pane_navigation_event` to focus the tab, and calls
`show_window_and_focus_app` to bring the window forward
- **5 unit tests** — host parsing, full URI validation, empty path
safety, invalid hex safety, case-insensitive hex decoding

### Why
External tools (e.g. orchestration UIs) that know a pane's UUID need a
way to switch focus to that pane without user interaction. The pane UUID
is already persisted in SQLite and is stable across sessions.

### How
- Handler parses hex from URL path, converts to `[u8; 16]` via
`u8::from_str_radix` (no new crate dependency)
- Cross-window lookup via existing `WorkspaceRegistry::all_workspaces()`
+ `tab_views()` pattern (matches `focus_terminal_view_in_other_window`)
- `WindowBehaviorHint::Nothing` since handler explicitly manages window
focus
- O(n) pane iteration — deep links are rare, no cache needed

## Testing

- [x] Unit tests for URI parsing and validation (5 tests in
`uri_test.rs`)
- [x] Manual testing: `open "warposs://pane/{uuid}"` correctly focuses
the target pane across tabs and windows

Co-Authored-By: Warp <agent@warp.dev>

---------

Co-authored-by: Warp <agent@warp.dev>
2026-05-06 04:25:17 +00:00
2026-05-06 01:41:49 +00:00
2026-05-06 01:41:49 +00:00

Warp Agentic Development Environment product preview

Built with Warp Powered by Oz

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

Chat with contributors and the Warp team in the #oss-contributors Slack channel — a good place for ad-hoc questions, design discussion, and pairing with maintainers. New here? Join the Warp Slack community first, then jump into #oss-contributors.

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

  1. See our docs for a comprehensive guide to Warp's features.
  2. Join our Slack Community to connect with other users and get help from the Warp team — contributors hang out in #oss-contributors.
  3. Try our Preview build to test the latest experimental features.
  4. 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:

Description
这个项目叫 Warp,是一个用 Rust 从零开发的 AI 终端。准确说,它已经不只是终端了,官方给它的定位是 Agentic Development Environment,智能体开发环境。
Readme 220 MiB
Languages
Rust 98%
Shell 0.7%
Python 0.5%
Objective-C 0.3%
PowerShell 0.1%
Other 0.1%