Add a custom host picker for orchestration#11080
Merged
Merged
Conversation
Replaces the static "warp" host string in the orchestrate confirmation card and the plan-card config block with a real picker that lets users target self-hosted workers in addition to the default Warp cluster. Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Contributor
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
Contributor
There was a problem hiding this comment.
Overview
This PR adds a custom host picker for orchestration and wires it into both the run-agents confirmation card and the plan-card orchestration config block.
Concerns
- Blank or whitespace-only custom-host edits currently normalize to
warp, so committing an empty editor changes the selected host instead of reverting to the previous selection.
Verdict
Found: 0 critical, 1 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
cephalonaut
approved these changes
May 16, 2026
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.
Loom: https://www.loom.com/share/af6b202a644f40acb5e8de7f7fb656f9
Fixes https://linear.app/warpdotdev/issue/QUALITY-701/need-a-way-for-users-to-specify-a-custom-host
Note: I am not matching Peter's designs entirely, but I think we should get this out and can fast-follow on UI side later. The top priority is allowing folks to configure this.
Note 2: I can follow up to confirm e2e in staging (with a non-local host) after we merge/get on dogfood too. I was testing with
oz-localscript locally (which took me a while to set up) but session sharing wasn't fully working e2e for me w/ local setup.Description
Adds a host picker to the orchestration UI so a user can choose where their cloud agents run instead of being locked into the default Warp cluster. The picker appears in both the orchestrate confirmation card and the plan-card orchestration block, replacing the previous static
warpvalue with a real selection control that surfaces the workspace's configured default, the user's most recent custom host, and a free-form custom entry.Technical design
The picker is built as a single view that internally swaps between two modes. In list mode it wraps the standard orchestration dropdown so it visually matches the model / harness / environment pickers next to it — same height, border, padding, font, and chrome. In custom mode it swaps the dropdown for an inline text editor with a small cancel button, letting the user type a self-hosted worker slug. The editor commits on Enter or blur, reverts on Escape or cancel, and remembers the prior selection so a discarded edit goes back to whatever was selected before. Newly committed custom slugs immediately appear as a "Recent" entry in list mode and are persisted to the cloud-agent settings so they survive across cards.
Initial selection mirrors the Oz webapp's host selector: when a workspace default is configured (or the
WARP_CLOUD_MODE_DEFAULT_HOSTenv override is set), it sits at the top with a "Default" badge and is preselected; otherwise the picker falls back to plainwarp. A dev-only env var keeps local testing against a self-hosted worker convenient without touching admin settings.A few subtleties are worth calling out. The two cards have different layering constraints — the confirmation card opens menus upward to avoid covering the input box below it, while the plan card paints menus in an overlay layer so they float above sibling pickers. The host picker exposes both knobs as small passthroughs to its inner dropdown so each call site can configure it to match the other pickers in that view; otherwise the open menu visually collides with the Environment / Base model rows beneath it. Custom mode also matches the dropdown's outer margins and centers its text within the picker box so it sits flush with the surrounding pickers instead of riding a few pixels higher. Finally, when the user clicks "Custom host…" the picker suppresses the standard "menu closed" event that would otherwise refocus the parent and tear focus off the editor we just focused — without that, the inline edit looked like a no-op.