Skip onboarding UIs in SDK/headless mode#9590
Merged
Merged
Conversation
Adds AppExecutionMode::can_show_onboarding which returns true only when running as the desktop app. The OnboardingCalloutModel-driven tutorial, the get-started tab onboarding, and check_and_trigger_onboarding all gate on this so SDK/CLI runs no longer trigger onboarding flows that require a real user. 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 posted feedback on this pull request. Comment Powered by Oz |
ianhodge
approved these changes
Apr 30, 2026
Contributor
There was a problem hiding this comment.
Overview
This PR adds an AppExecutionMode::can_show_onboarding capability and uses it to suppress workspace-level onboarding flows in SDK/headless mode while preserving app-mode behavior.
Concerns
- No blocking correctness or security concerns found in the changed hunks.
Verdict
Found: 0 critical, 0 important, 0 suggestions
Approve
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
wolverine2k
pushed a commit
to wolverine2k/warp
that referenced
this pull request
May 5, 2026
The onboarding flow managed by `OnboardingCalloutModel` was getting triggered when Warp runs in headless SDK/CLI mode. There is no real user to interact with the callout in those runs, so the tutorial would silently take over the input and discard the prompt the SDK had submitted. This PR adds an `AppExecutionMode::can_show_onboarding` gate (which mirrors the other `is_app()`-based capability checks) and uses it to skip every onboarding entry point in SDK mode: - `Workspace::start_agent_onboarding_tutorial` - `Workspace::dispatch_tutorial_when_bootstrapped` - `Workspace::should_show_agent_onboarding` - `Workspace::should_trigger_get_started_onboarding` - `Workspace::check_and_trigger_onboarding` In `App` mode behavior is unchanged. `cargo check -p warp_core` and `cargo check -p warp` both pass. No server changes. - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode CHANGELOG-BUG-FIX: Don't trigger the agent onboarding tutorial when Warp is running in headless SDK/CLI mode. _Conversation: https://staging.warp.dev/conversation/e7e67056-a174-4995-9fb0-54c104d09d12_ _Run: https://oz.staging.warp.dev/runs/019dde8f-ff05-716f-8c3a-e7644e40f40d_ _This PR was generated with [Oz](https://warp.dev/oz)._ Co-authored-by: Oz <oz-agent@warp.dev>
1 task
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.
Description
The onboarding flow managed by
OnboardingCalloutModelwas getting triggered when Warp runs in headless SDK/CLI mode. There is no real user to interact with the callout in those runs, so the tutorial would silently take over the input and discard the prompt the SDK had submitted.This PR adds an
AppExecutionMode::can_show_onboardinggate (which mirrors the otheris_app()-based capability checks) and uses it to skip every onboarding entry point in SDK mode:Workspace::start_agent_onboarding_tutorialWorkspace::dispatch_tutorial_when_bootstrappedWorkspace::should_show_agent_onboardingWorkspace::should_trigger_get_started_onboardingWorkspace::check_and_trigger_onboardingIn
Appmode behavior is unchanged.Testing
cargo check -p warp_coreandcargo check -p warpboth pass.Server API dependencies
No server changes.
Agent Mode
Changelog Entries for Stable
CHANGELOG-BUG-FIX: Don't trigger the agent onboarding tutorial when Warp is running in headless SDK/CLI mode.
Conversation: https://staging.warp.dev/conversation/e7e67056-a174-4995-9fb0-54c104d09d12
Run: https://oz.staging.warp.dev/runs/019dde8f-ff05-716f-8c3a-e7644e40f40d
This PR was generated with Oz.