Warp supports subshells with modern IDE, blocks, and autocompletions

Melanie Crissey
May 23, 2023

Subshell support is here! Now you can “Warpify” your bash, zsh, or fish subshells to enable all the core features you’d expect from Warp, even when you’re working in a nested session.

Warp displays a banner inviting you to "Warpify subshell."

What counts as a subshell?

The classic definition of a subshell is any child process launched by a shell or shell script.

Within the context of Warp, a “subshell” is defined as any nested interactive shell session that’s spawned and running in the context of an existing, running shell. Common examples would be a shell session running a Docker container or a remote server accessed through SSH.

How to Warpify an initiated subshell

Until now, if you initiated a subshell while using Warp, the terminal would fall back into a sparse mode. You could continue to work, but you’d lose access to the features that make Warp more powerful and easier to use than your basic emulator.

Now, when you initiate a subshell that Warp recognizes as compatible, you will have the option to “Warpify” that subshell. This will enable the complete Warp experience with: modern IDE-style output, blocks, autocompletions, workflows, AI Command Search, and so on. 

Out of the box, Warp has a short list of commands it will recognize as “subshell-compatible” including:

  • bash, zsh, fish
  • docker exec
  • gcloud compute ssh
  • eb ssh
  • poetry shell

Warpified subshells get wrapped with helpful labels and visual cues. And, you can nest endless subshells within subshells if the need arises.

Each subshell is wrapped with an indicator that describes the type of subshell session that's running.

Customize your subshell preferences

You can also add your own custom list of bash/zsh/fish commands under Settings > Subshells

Once added, commands that initiate subshells will generate a prompt that lets you “Warpify” on the fly. If you’d like to remember your preferences and bypass the banner, you can edit your RC files for automatic Warpification. 

On the flip side, if you’d prefer to never Warpify one of the commands Warp recognized as “subshell-compatible,” you can use the blocklist under Settings > Subshells to ensure you’re never interrupted with a banner.

Go forth and Warpify

Support for subshells has been one of the most highly requested features. We’re so glad to make this available and excited about what this unlocks for developers — especially teams that work with CLIs that generate subshells as part of key workflows.

Check out the docs or run a command like docker exec to experience the power of Warpification today!

Experience the power of Warp

  • Write with an IDE-style editor
  • Easily navigate through output
  • Save commands to reuse later
  • Ask Warp AI to explain or debug
  • Customize keybindings and launch configs
  • Pick from preloaded themes or design your own
brew install --cask warp
Copied!
Download now
Get notified when Warp is available on Windows/Linux.