My journey of using terminal emulators began together with my introduction to Linux about 7 years ago. GNOME terminal was my first as it came pre-installed on Ubuntu, my first Linux distribution. Since then, I've had the opportunity to explore and utilize a range of terminal emulators, including Alacritty, Kitty, st, Konsole, xterm, and most recently iTerm2. It's been interesting to experiment with these different emulators, each offering its unique features (or similar however with each with personal touch), user interfaces, and performance benchmarks. Just the other day, a new terminal emulator caught my attention: Warp Terminal. My curiosity won, and Warp was downloaded, this short blog are my thoughts about Warp terminal. At the moment there is only support for macOS, however linux and windows builds are on the way.
Login into terminal?
This is what you are presented with once you download and install warp. Sign Up popup? For terminal? what?
That's definitely new, let's check common questions, there is probably a reason it's there.
And as expected, the top question is "Why is sign in required?", it leads to the docs page basically stating following:
The primary reason is that login allows us to build cloud-oriented features that make the terminal have a concept of “your stuff” and “your team’s stuff” – for example Block Sharing. This is the same reason other collaborative apps like Figma and Github require login – identity is the basis of building cloud-native apps.
It begins to coalesce; Warp is essentially a terminal emulator "as a service", providing cloud-based and collaborative features. I would argue that it should allowed to use Warp without sign in requirement until user opts to use one of the cloud related features.
Fair Review
After rather quick sign up process, we see the first screen. Initial impression is good, clean UI, it picked up my shell correctly, it seems that the prompt is overridden, Starship is a prompt of my choice and warp seems to have it's own configuration. Let's check if we are able to configure it. Following hints on the screen, and typing prompt into command palette, there is a setting to use user's own prompt config.
Much better.
Warp has an interesting idea where each command execution is separated into blocks. There is ability to easily navigate around blocks, copy the commands and outputs, and create bookmarks on each block to navigate even more quicker. I personally like the idea, and see myself using it during long session of tackling infrastructure related work. There might be similar features in other terminals, however I like the way it is presented in Warp.
Performance wise, it feels fast, at least as fast as what I have now. Warp is based on Rust btw, which probably explains good performance. I am all in for Rust in desktop applications and I am very glad it is not Electron based.
Pressing tab for autocompletion brings up the screen of available commands and their description, similar to lsp UIs in code editors/IDEs. Although it introduces some visual clutter, the feature carries a "modern" feel and displays innovation, there is certainly demand out there.
Warp introduces another feature worth mentioning: workflows. These are series of commands designed to accomplish specific tasks, and Warp offers an array of preconfigured workflows for users to explore.
AI?
The AI (LLM) is directly integrated into the terminal. While I am still in the exploratory phase of integrating AI tools into my development workflow, my initial impression of AI in Warp is satisfactory. After posing a series of questions, the responses received were quite accurate, though I would advise anyone to exercise caution and verify results prior to executing any commands, accuracy results may vary. A particularly convenient feature of Warp is its ability to insert commands directly into the terminal input. Despite a daily cap of 100 requests, I believe this is a generous offering, especially considering that the service is available at no cost.
Final Thoughts
Warp presents a refreshing and modern take on terminal emulators without any significant drawbacks. Two key factors that could influence my permanent switch to Warp are its modern UI and the fact that it is Rust-based. The UI feels modern without hurting the performance or affecting my existing workflow (It's still possible to navigate with keyboard and use desired multiplexer). There is a community surrounding Warp as well, creating valuable content such as this engaging video amongst other resources.
While there is a little bit of controversy regarding Warp internet connection, I am curious to discover potential use cases that I am not aware of when it comes to collaboration. Given the emergence of similar cloud-oriented development tools such as Zed and Fleet, it appears that the industry is moving towards a greater emphasis on remote collaboration for good or bad.
Top comments (4)
100% agree. Anything you have to log in to, with all the telemetry that implies, and isn't free software is a massive red flag.
It doesn't matter if the people behind it are all honest. The people behind the next thing you install might not be.
Pitching itself as the future of terminals basically implies that the future is closed-source, and encourages people to think that's a good thing, when really it's something we should be leaving behind like fossil fuels.
This is a good topic to discuss, if I am not wrong at the moment all of code editors or IDEs that I have installed are having telemetry in them, besides only vim (neovim) and emacs.
I have VSCode, Sublime, Zed, Jetbrain's IDEs and some other more obscure proprietary editors installed. Most of them have telemetry enabled and as long as it is anon telemetry I do not mind leaving it on if it helps to deliver better product. I also do not mind to share telemetry (anon or not) in case if product offers certain features that I need or like, basically selling my soul due to my preference of their product (Jetbrains).
But in the case of Warp I do not really feel happy to login due to the fact that according to them it is needed for specific functionality, which I will not use, and now I have to feel unsafe in the sense that who knows what they are collecting, even with disabled telemetry. I understand that the product is most probably intended for enterprise that's where the money is, enterprise will not care about those stuffs and it is fine, however if they could just leave out signin procedure till the moment I decide I want cloud/collaboration features, the popularity of Warp would grow I think.
I do not necessarily agree about the second statement, I do not mind closed-source as long as there is a valid reason, however I agree that encouraging people that it is a good thing or standard thing is a very detrimental to dev and open source community while consequently affecting all privacy aware software users. Not really sure if Warp would be widely adopted outside of enterprise though, still skeptical about the adoption and impact it could have.
Finally I found out how to make warp display my custom terminal theme. Thanks for the hint! Good article!
Glad it helped you! Warp is a nice terminal, but some settings are kinda scattered making it a little confusing initially, it gets easier though. Not as customazible as iTerm2 but does the job, especially considering that they listen to the community and add the requested customazations, like transparency which was relatively recent addition.