Remove TMUX based SSH warpification flow#12478
Merged
Merged
Conversation
Contributor
|
I ran into an unexpected error while working on this. Powered by Oz |
MaggieShan
approved these changes
Jun 12, 2026
MaggieShan
left a comment
Contributor
There was a problem hiding this comment.
WOOO!! 🎉🎉🎉
general nit: now that this is deprecated there are still parts in the codebase from comments/skills that still refer to it - would be great to remove those too
5424e1c to
a3f5214
Compare
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
Fully removes the legacy tmux-based SSH warpification flow in favor of the remote-server SSH extension, and adds a one-time deprecation banner for users who had opted into the tmux wrapper (~6.3k lines removed).
What's removed
The tmux SSH flow and all of its plumbing :
SSHTmuxWrapperfeature flag, thessh_tmux_wrappercargo feature, and theTmuxSshWarpification*server experiments.app/assets/bundled/ssh/**:warpify_ssh_session*.sh,install_tmux_and_warpify_*.sh).TmuxControlMode,TmuxPerformer,TmuxPaneWriter, the tmux branch of the PTY parse loop, and the tmuxHandler/HandlerEventsurface area.TmuxCommandExecutorand the tmux branch of the session command executor.SshInstallTmuxBlock,SshWarpifyBlock,SshErrorBlock, theWarpifySSHSessionaction/keybinding, and the SSH variants of the warpify banner/footer (WarpificationModeis gone; the banner/footer are subshell-only now).use_ssh_tmux_wrappersetting's UI (Warpify page toggle + Command Palette entries) and allSshTmux*/SshInstallTmux*telemetry events.InitSshevent plumbing (the DCS hook is still parsed and ignored for shells in the wild), and the tmux-install UI helpers inrequested_action.rs/requested_script.rs.The setting definition for
use_ssh_tmux_wrapperis retained (marked deprecated) only so the migration below can read it; it can be deleted in a future release.What's added
One-time deprecation banner. On startup, a migration checks whether the user had explicitly opted into the tmux wrapper. If so, it force-disables the setting (synced via cloud preferences) and sets a pending-notice flag. On the user's next SSH session, an inline banner explains that tmux SSH warpification has been turned off in favor of the SSH extension, with a Learn more link. It's shown at most once, triggered either when the SSH session successfully warpifies (
WarpifiedRemotebootstrap) or, for sessions that stay unwarpified, when end-of-SSH-login detection fires.Linked Issue
N/A — planned deprecation; see the implementation plan linked below.
ready-to-specorready-to-implement.Testing
./script/runManual testing:
use_ssh_tmux_wrapper = trueinsettings.toml, relaunched: migration reset it and set the pending flag; SSHing showed the deprecation banner once (under the warpify success block); subsequent SSH sessions and restarts did not show it again.ctrl-i), and plaintmuxstill works as a regular TUI locally and over SSH.htop,nvim) render correctly after the PTY parse-loop change.Automated:
cargo check,./script/format, and the presubmit clippy command pass clean.cargo nextest run -p warp -E 'test(ansi) or test(warpify) or test(ssh) or test(settings)').Screenshots / Videos
https://www.loom.com/share/8d215312c5f34ab0b3d4313bb3a2fd69
Agent Mode
Implementation plan | Conversation
CHANGELOG-IMPROVEMENT: The experimental tmux-based SSH warpification flow has been removed in favor of Warp's SSH extension. Users who had opted into the tmux wrapper see a one-time notice on their next SSH session.
Co-Authored-By: Oz oz-agent@warp.dev