diff --git a/src/content/docs/terminal/settings/all-settings.mdx b/src/content/docs/terminal/settings/all-settings.mdx index e5a37b01..5bedd613 100644 --- a/src/content/docs/terminal/settings/all-settings.mdx +++ b/src/content/docs/terminal/settings/all-settings.mdx @@ -494,8 +494,8 @@ Settings for Warp features in SSH sessions and subshells. **Section**: `[warpify.ssh]` * `enable_ssh_warpification` — Whether to enable Warp features in SSH sessions. Type: boolean. Default: `true`. -* `enable_legacy_ssh_wrapper` — Deprecated in favor of `enable_ssh_warpification`. Type: boolean. Default: `true`. -* `use_ssh_tmux_wrapper` — Deprecated in favor of the [SSH extension](/terminal/warpify/ssh/). Type: boolean. Default: `false`. +* `enable_legacy_ssh_wrapper` — Has no effect on Warp's current behavior; retained only for a one-time migration to `enable_ssh_warpification`. Type: boolean. Default: `true`. +* `use_ssh_tmux_wrapper` — Has no effect on Warp's current behavior now that tmux-based Warpification has been removed in favor of the [SSH extension](/terminal/warpify/ssh/); retained only for a one-time migration. Type: boolean. Default: `false`. * `reuse_existing_control_master` — Whether the legacy SSH wrapper attaches to an existing SSH `ControlMaster` for the destination host instead of always creating its own. Type: boolean. Default: `false`. * `ssh_extension_install_mode` — Controls SSH extension installation behavior. Type: string. Default: `"always_ask"`. Options: `"always_ask"` (always prompt before installing), `"always_install"` (auto-install and connect without prompting), `"never_install"` (fall back to the legacy, wrapper-only SSH warpification). * `ssh_hosts_denylist` — SSH hosts that should not trigger the warpification prompt. Type: array of strings. Default: `[]`. diff --git a/src/content/docs/terminal/warpify/index.mdx b/src/content/docs/terminal/warpify/index.mdx index de7bc208..d4a6bd6f 100644 --- a/src/content/docs/terminal/warpify/index.mdx +++ b/src/content/docs/terminal/warpify/index.mdx @@ -7,8 +7,7 @@ description: >- import DemoVideo from '@components/DemoVideo.astro'; 1. [Subshells](/terminal/warpify/subshells/), Warp supports enabling Warp features in subshells for bash, zsh, and fish. -2. [SSH](/terminal/warpify/ssh/), Warp's SSH extension brings the file tree, code editing, code review, and reliable completions to remote macOS and Linux hosts. -3. [SSH Legacy](/terminal/warpify/ssh-legacy/), Warp supports a legacy wrapper that enables Warp features in remote (SSH) sessions. +2. [SSH](/terminal/warpify/ssh/), Warp's SSH extension brings the file tree, code editing, code review, and reliable completions to remote macOS and Linux hosts, including a [legacy fallback wrapper](/terminal/warpify/ssh-legacy/) for hosts or settings that skip the extension. ## Subshells diff --git a/src/content/docs/terminal/warpify/ssh-legacy.mdx b/src/content/docs/terminal/warpify/ssh-legacy.mdx index 64f005bf..352b4393 100644 --- a/src/content/docs/terminal/warpify/ssh-legacy.mdx +++ b/src/content/docs/terminal/warpify/ssh-legacy.mdx @@ -3,6 +3,7 @@ title: Legacy SSH wrapper description: >- Use the legacy SSH wrapper as a fallback when skipping the SSH extension or when it can't run on a remote host. +topic: terminal --- import DemoVideo from '@components/DemoVideo.astro'; diff --git a/src/content/docs/terminal/warpify/ssh.mdx b/src/content/docs/terminal/warpify/ssh.mdx index 84590805..63bc306b 100644 --- a/src/content/docs/terminal/warpify/ssh.mdx +++ b/src/content/docs/terminal/warpify/ssh.mdx @@ -25,19 +25,7 @@ A few properties worth knowing: ## What you get over SSH -Once the SSH extension is installed on a remote host, the following features work the same way they do locally: - -* **File tree (Project Explorer)** - The left panel reflects the remote project's structure and updates as you `cd` between directories or change files. See [File Tree](/code/code-editor/file-tree/). -* **Code editor on remote files** - Open remote files in Warp's [code editor](/code/code-editor/) from the file tree or the Command Palette, edit them, and save back to the remote host. Warp keeps the buffer in sync with the remote file and surfaces a conflict resolution prompt if the file changes on disk while you have unsaved edits. -* **Code review and git operations** - The [code review panel](/code/code-review/) works on remote repositories, including reviewing diffs, discarding files, committing, pushing, and creating PRs. AI-generated commit messages and PR descriptions are produced on the remote host, so large diffs never leave the machine. -* **Codebase indexing** - Warp indexes the remote repository so Agents can semantically search the remote codebase, just like [Codebase Context](/agents/capabilities/codebase-context/) locally. -* **File search** - Search for remote files by name from the [Command Palette](/terminal/command-palette/). -* **Project rules and skills** - Agents discover and use the remote project's rules (`WARP.md`) and skills, the same as in a local repo. -* **Native file reads and code diffs** - The Agent reads files and applies edits through Warp's built-in diff tool. Code changes show up as inline diffs you can review and approve, instead of being applied via `sed` or other shell commands. See [Code diffs](/agents/local-agents/code-diffs/). -* **Reliable completions and autosuggestions** - Generators run in parallel over a single multiplexed connection instead of opening a new SSH session per command, so completions stop hitting the remote host's `MaxSessions` ceiling and stop occasionally injecting errors into your blocks. -* **All core terminal features** - The input editor, blocks, command history, autosuggestions, and history search behave the same as in a local session. - -For a full breakdown of what works over SSH and what doesn't, see [Feature support over SSH](/code/ssh-feature-support/). +Once the SSH extension is installed on a remote host, most of Warp's coding features work the same way they do locally. See [Feature support over SSH](/code/ssh-feature-support/) for the full breakdown of what's included and what isn't. Headline features include a real file tree backed by the remote filesystem, Warp's code editor and code review on remote files, codebase indexing for the remote repo, and native code diffs applied through Warp's built-in diff tool instead of `sed`. Core terminal features like the input editor, blocks, and completions also work the same as they do locally. ![Warp prompting to Warpify a freshly-connected SSH session.](../../../../assets/terminal/warpify_ssh_prompt.png) @@ -47,12 +35,14 @@ The SSH extension has the following requirements on the remote host: * **Operating system** - Linux or macOS. Windows remote hosts are not supported. The extension is also not available from Warp's Windows client. * **Architecture** - `x86_64` (amd64) or `aarch64` (arm64). -* **glibc 2.31 or newer (Linux)** - The prebuilt server binary requires glibc 2.31+ (Ubuntu 20.04 or equivalent). Hosts with an older glibc (for example RHEL/CentOS 7 and 8, Amazon Linux 2, Ubuntu 18.04, Debian 10) or a non-glibc libc (for example Alpine's musl) are not supported. Warp detects this before installing anything and quietly falls back to a regular SSH session. +* **glibc 2.31 or newer (Linux)** - The prebuilt server binary requires glibc 2.31+ (Ubuntu 20.04 or equivalent). Hosts with an older glibc (for example RHEL/CentOS 7 and 8, Amazon Linux 2, Ubuntu 18.04, Debian 10) or a non-glibc libc (for example Alpine's musl) are not supported. Warp detects this before installing anything and quietly falls back to the [legacy SSH wrapper](/terminal/warpify/ssh-legacy/). * **Shell** - `bash` or `zsh` as the remote shell. * **Home directory and Unix sockets** - The install writes only under `~/.warp*/`, so your home directory must be writable. The server also needs to create Unix domain sockets under your home directory and run as a background process under your user. * **Outbound HTTPS for install** - The install script downloads the server binary from `app.warp.dev` using `curl` or `wget`, so the host needs outbound HTTPS access to `app.warp.dev`. If neither `curl` nor `wget` is available, Warp uploads the binary over the SSH connection instead. * **Outbound HTTPS for account-backed features** - Features that use your Warp account, such as codebase indexing and AI-generated commit messages, require the server on the remote host to reach Warp's servers over HTTPS. The server authenticates with credentials forwarded from your local Warp session over the SSH connection; you never log in on the remote host. Core features like the file tree, file reads and edits, and completions work without any outbound access from the host. +When a host doesn't meet these requirements, or when [SSH extension install mode](/terminal/settings/all-settings/#ssh) is set to **Never install**, Warp falls back to the [legacy SSH wrapper](/terminal/warpify/ssh-legacy/). + :::note We are actively working on extending support to older glibc versions and more operating systems. ::: @@ -82,11 +72,7 @@ The same setting can also be changed inline from the install prompt by selecting ## Legacy: tmux-based Warpification -Tmux-based Warpification is an older approach to enabling Warp features in SSH sessions that uses [`tmux`](https://github.com/tmux/tmux/wiki) to multiplex commands over your SSH connection. The SSH extension supersedes it entirely. - -:::caution -Tmux-based Warpification is **deprecated**. It will not receive new features, updates, or fixes, and it will eventually be removed. Use the SSH extension instead. -::: +Tmux-based Warpification was an older approach to enabling Warp features in SSH sessions that used [`tmux`](https://github.com/tmux/tmux/wiki) to multiplex commands over your SSH connection. It has been removed in favor of the SSH extension described on this page. ## FAQs diff --git a/src/sidebar.ts b/src/sidebar.ts index 3a1ebed4..1235ec53 100644 --- a/src/sidebar.ts +++ b/src/sidebar.ts @@ -19,6 +19,7 @@ import { VARS } from './data/vars'; */ export const sidebarTopics: StarlightSidebarTopicsUserConfig = [ { + id: 'terminal', label: 'Terminal', link: '/', icon: 'laptop', @@ -161,7 +162,8 @@ export const sidebarTopics: StarlightSidebarTopicsUserConfig = [ { slug: 'terminal/warpify', label: 'Overview' }, { slug: 'terminal/warpify/subshells', label: 'Warpify subshells' }, { slug: 'terminal/warpify/ssh', label: 'SSH with Warp features' }, - { slug: 'terminal/warpify/ssh-legacy', label: 'Legacy SSH wrapper' }, + // ssh-legacy is intentionally omitted: it's a fallback page linked + // from the SSH page rather than surfaced as a co-equal nav item. ], }, {