Warp supports subshells with modern IDE, blocks, and autocompletions
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.
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
gcloud compute ssh
Warpified subshells get wrapped with helpful labels and visual cues. And, you can nest endless subshells within subshells if the need arises.
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!