DEV Community

Cover image for Enhancing your terminal experience: Warp or Fig?
Leonardo Montini for This is Learning

Posted on • Originally published at leonardomontini.dev

Enhancing your terminal experience: Warp or Fig?

After using Warp for over a couple of months (and collecting feedback from colleagues already using it), the time has come. Is it better than Fig?

What you will find here is a quite long article where I try to compare the two tools. If you don't know what Warp or Fig are, this will be a nice introduction. If you already know the tools and can't decide which one to use, I hope this will help you make a decision.

Some of the features are better shown than told, that's why you can find here a video where I go through all the topics I cover in this article. I'd recommend you give it a watch, but if you prefer reading, keep scrolling.


What you're going to find in this article:

Seems promising, right? Let's get started!

Key differences

First of all, let's make it clear, they're not the same thing. Let me highlight the main differences:

Warp is a terminal: to make it simple, an app that lives on its own. You can install it as you would do with a regular app (because that's what it is), click on the icon and it will show up on your screen.
Fig is a plugin that lives on top of supported terminals, IDEs, and shells. It does not live on its own but rather as an extension of another tool.

What are the pros and cons of each approach? To name a few:

  • Onboarding on Fig might be easier as the tool enhances a terminal you're already familiar with, while Warp is an entire new terminal. However, it shouldn't take long to get used to it. Actually, it has quite some handy customizations.
  • Being a proper app, Warp has more control on the UI and how the user interacts with it, for example, you can natively write multiline scripts and use the mouse to move the cursor around, something that wouldn't be possible on Fig as it relies on the terminal where is it running.
  • Fig's flexibility from working on top of a terminal might make it easier to distribute on multiple platforms, however, both Fig and Warp are still only available on MacOS. Fig has a waitlist for Windows and Linux and the same for Warp, but the latter also mentions the plan to support WASM with the goal of running on the browser to enable collaborative features.
  • Fig's settings clearly aren't managed through the terminal, even if we said it's a plugin. You need an app installed on your computer, while Warp's settings are already handled in the Warp window itself.

Pricing

Both Warp and Fig are free to use, and already ship a lot of interesting features for individuals. However, when it comes to more team-oriented features, some of them require a paid plan.

They both have three levels of pricing (Free/Individual, Team and Enterprise), with the main differences being:

Warp (pricing page)

  • Free version includes AI
  • Pricing for Team and Enterprise is not available yet, you can get in touch with them to get a quote
  • No free trial for Team and Enterprise, but as an individual you probably won't even need it

Fig (pricing page)

  • AI is only for paid plans
  • Team is $12 per user per month, Enterprise requires contacting them
  • Team has a 14 day free trial

Artificial Intelligence

Let's address the elephant in the room, right after pricing the hottest topic in 2023 can only be AI. Let's see how Warp and Fig compare in this area now, so that we can forget about AI for the rest of the post, I promise!

As mentioned above, Warp includes AI in the free version, while Fig requires a paid plan.

Activating the AI works exactly the same on both tools, just start a sentence in natural language with # and it will be sent to the AI engine to be converted into a command.


Here is how it would look like on Warp:

Warp AI

Leveraging the fact that Warp is a standalone app, there's more flexibility in how the UI is handled. Here you can input the command with Cmd+Enter but you can also click on buttons to get an explanation, see examples or related commands, directly in the UI.

Asking for an explanation will the Warp AI side panel. Here you can get a more powerful interaction with the AI, for example you can ask for an explanation of the command or even get more insights when a command you launched resulted in an error.

Warp AI Panel

It's worth noting that despite the command generation being free and having no limits, the more powerful AI side panel is limited to 100 requests per day on the free plan.


And here is how it would look like in Fig:

Fig AI

The generated command is exactly the same, but the UI is more terminal-like (really similar to Copilot CLI) and you can select the next action with the arrows.

The options give you good control over the answer as you can either edit or regenerate if you're not satisfied, but there's no quick way to get more information about the command and as I usually write in my articles about AI these days, running an AI-generated script without understanding what it does is usually not a good idea. If all you needed was just the syntax, then you're good to go.

Features

The two tools come with a wide range of smart features, some of them are pretty much overlapping to both, and some are unique to each one. Let's go through them.

Available on both

Autocomplete

Personally, this is the key feature I consider a must-have for any terminal app/tool/whatever. I can't imagine going back to a terminal without autocomplete at this point.

Both tools we're looking at today have this feature (otherwise I wouldn't be writing about them), and they both work pretty well. Something I really like is that they aren't limited to "simple" suggestions such as the next folder while navigating the file system with cd, but they also provide suggestions for git aliases, to name one.

Both tools are able to read my aliases, suggest them and also show in a tooltip what command the alias is for. Warp suggests alias expansions as well, they posted a demo in a tweet recently.

A little difference I noticed is that Warp does not only show the suggestions in a dropdown menu, but also tries to guess what your next command might be and shows it already in the input field, so you can decide if navigate through the suggested continuations in the dropdown or already accept the guess.

Let me add an example here, you can either select a git command (with a letter c in it, as that's what I already written) and continue by yourself, or directly click the right arrow to accept git cb develop in one go.

Warp Autocomplete

Speaking of the interaction, both tools allow you to customize it, whether you want to use the arrows, tab, enter or whatever you like the most to navigate and select the suggestions.

AI

I promised I wouldn't talk about AI anymore, but since this is a list of features available on both tools, let me mention it again.

Ok, end of this chapter :)

Themes

If you don't like the default theme, both tools support custom ones!

On Warp you can create your own or choose one from the community. There's a public repo on GitHub about that!

You can quickly select a different theme with ^ + Cmd + T or if you don't remember the shortcut, you can always use the command palette and type "theme". A sidebar will open on the left and you can select the theme you want to use.

Warp Themes

Pretty much the same happens on Fig, you can find the themes on the settings and there's also a public repo on GitHub.

Fig Themes

Fig Only

Custom scripts

Through the Fig settings app you can define some custom scripts. You can see them as aliases with some extra features around them, such as adding a description and being able to share them.

There's also a Scripts Store where public scripts can be distributed and installed.

Fig Script Store

To run one of those scripts you can start with fig run and the autocomplete dropdown will show you the available ones.

Full IDEs integration

One of the advantages of being a plugin instead of a standalone app is that you can more easily integrate with other tools. Fig currently works with VS Code, Android Studio and the JetBrains IDEs.

Dotfiles

Aliases, variables, paths... all the annoying settings you have to manually set up in some hidden files can be managed through the Fig settings app in a visual way.

With the free plan, you can manage your personal dotfiles, while with the paid plans you can also manage and share the configs with your team.

Warp Only

The advantages of being a standalone app are clear when it comes to the UI and UX, Warp has more control over how the user interacts with it and it can leverage that to provide a much better experience.

Command Palette

Command Palettes are a common tool available in many scopes, from MacOS, to GitHub, Visual Studio code... and also Warp.

With Cmd + P you can open the command palette and search for any command you want to run. As you might expect, you can start typing to narrow down the results and you can use the arrows to navigate through them.

Blocks

This is the feature I didn't know I needed until I tried it. Blocks are a way to group commands and outputs into a single entity, making it easy to scroll on long logs with clearly defined input and output.

On this session I ran three commands: pnpm install first, which has a long log, then a git status and one of my aliases to print commits. There are three blocks on the screen and even if the first has a reeally long log, I can still see on top which command I executed in case I want to debug it. Right below, a new block with the git status output which fits entirely into the terminal and last, one more long log with my git alias. I scrolled up a little bit so that I can see all of them at once, with the commands on top of each block.

Warp Blocks

Blocks and also be shared with permalinks (even in the free plan) so that instead of having to scroll through a long output to show someone a specific part, you can just send them the link to the entire block and they can see it in their browser.

Here's an example of a shared block, where you can see the command on top and the output properly highlighted: https://app.warp.dev/block/o2Z0EGHZoDT834ohnO5KZm

You can also run some actions specifically on blocks, such as finding a specific text, copying the input or output and asking AI for assistance based on the block's content.

Multi tabs

To be fair, having multiple tabs is the responsibility of the terminal, clearly, fig cannot do that. If you want more tabs, you need to use fig on top of a terminal that already supports tabs... to name one: Warp.

User-friendly Input

One thing that really "grinds my gears" is moving my cursor in the input text and having to select/cut/paste parts of it.

Grind my gears

I think I'm not the only one though, as Warp thought about that. The input box where you type your command is a proper input field, you can use the mouse to click anywhere you want in your input, and all your expected text-editor keyboard shortcuts should work as well (for example, Option + left to move to the previous word).

Bonus points, you can use multi-cursors!

Technologies

Warp has a lot of stuff to handle so the team decided to build it in Rust, which rhymes to "blazingly fast". Jokes aside, it's cool to see how Rust is becoming more popular and it's being used to deliver cool and fast tools.

Fig is built in Typescript making it easy to have the dashboard also available as a web app in your browser.

Open Source

Both projects have an eye on the open source community, even if the core code isn't available, with almost a dozen of public repos on GitHub each.

Warp

Organization page - warpdotdev

Right after the main repo with about 13k stars, you can find the themes repository. This is where Warp official themes are and indeed you can jump in and contribute. The programming language used here is Python.

Feeling inspired? You can 100% customize your own theme with this tool created by a community member: Warp Themes. You can generate it with all the color pickers, see the live preview and then download a file you can then import in Warp.

The workflows repo is also interesting, using Rust this time, holding a collection of all public workflows you can access from Warp (Command palette, or ^ + Shift + R) and also from commands.dev.

Fig

Fig organization page - withfig

Fig's coolest repo is for sure the autocomplete with almost 22k stars. This is where all the autocomplete content comes from and if a command is missing or outdated, you're more than welcome in opening a Pull Request.

Similarly to Warp's workflows repo, on the plugins repository, you can find the content of Fig's plugin store. Do you have a cool plugin to share with the community? Open a PR!

Documentation

Warp docs - Fig docs

Both tools come with good documentation, with a lot of screenshots, examples, and gifs. I noticed on Warp there are also some videos, which is a nice touch.

Installation instructions are clear and all core features are properly documented.

Changelogs are also available, which is always a good sign of a healthy project:

Community

One of the keys to success for a project is the community around it. Let's take a look at some numbers:

Metric Warp Fig
GitHub followers 918 477
Twitter followers 14k 16k
Discord members 10k 1k
dev.to user posts ~60 ~50
YouTube subscribers 2k 24
TikTok followers 6.5k 4.3k

By looking at the stats, Fig has slightly more followers on twitter while all other socials see Warp in the lead. The biggest difference is in the Discord community with warp being 10x more and on YouTube where warp shares some cool educational content (like 5 Command Line Tools That Boost Developer Productivity (2023) and Terminal Basics That Nobody Teaches You In School, cool titles :D) while fig doesn't seem to be using YouTube at all. They're both quite active on TikTok though!

No metrics here, but both tools have their own blog (Warp - Fig) where they talk about their product, challenges faced in building it, and other interesting topics.

Warp also has some swags like t-shirts, hoodies and even a jacket (tweet with the details).

Conclusion

Now that we're in the closing chapter, let's get back to the initial statement: we're looking at two different tools.

Warp is bringing a whole new experience in interacting with a terminal thanks to features like blocks, command palette and the proper input field. However, this comes with the requirement of moving to a new terminal. Is this a problem? Probably not, it depends on your habits.

On the other side, Fig aims to provide a set of new features, even if less than Warp, but already in your favourite terminal.

From my point of view this is probably one the biggest criteria to consider when choosing between the two: do you need to keep using your terminal with some improvements or are you willing to switch to a new one in order to access all the extra features?

It's hard to say what is right or wrong as both tools are great... the answer is 100% up to you.

And with that said, thank you for reading until this point! I hope this article gave you a good overview of the two tools and helped you in making a decision.

Warp: https://www.warp.dev/
Fig: https://fig.io/


Thanks for reading this article, I hope you found it interesting!

I recently launched my Discord server to talk about Open Source and Web Development, feel free to join: https://discord.gg/bqwyEa6We6

Do you like my content? You might consider subscribing to my YouTube channel! It means a lot to me ❤️
You can find it here:
YouTube

Feel free to follow me to get notified when new articles are out ;)

Top comments (12)

Collapse
 
remejuan profile image
Reme Le Hane

Nice, I mostly skimmed to the parts I cared about, but I’ve just started using Warp, friend suggested it months ago and tried it and forgot, also was using Fig at the time, and honestly I’ll just use both.

The features I use and care about, both have, as a stand-alone I do like the Warp UI more, but I tend to use the terminal baked into IntelliJ more, the standalone is used for commands and workflows unrelated to the project I’m actively busy with, with the exception of the NX project we have, I find it spinning up multiple services drags down IntelliJ, whereas everything performs great when I split those 2 apart.

Collapse
 
fyodorio profile image
Fyodor • Edited

Thanks for the comparison, I had already tried Fig, now I need to give Warp a try as well, looks very interesting 👍

Collapse
 
balastrong profile image
Leonardo Montini

Let me know how it goes! :D

Collapse
 
fyodorio profile image
Fyodor

Feeling attacked 😄

Image description

Thread Thread
 
balastrong profile image
Leonardo Montini

Rust 🤷‍♂️

Collapse
 
drenther profile image
Soumyajit Pathak

I have used both extensively and have now settled with Warp now. Fig always seemed far more buggy to me. Breaking quite often and also had unpredictable memory footprint. Warp is much more stable (in my experience), the memory footprint is still big for it and I have faced issues with it when using on my older devices. But in general I prefer Warp over fig on my primary machine.

Collapse
 
therubberduckiee profile image
Jessica Wang

Developer advocate from Warp here! If you have any questions about Warp, feel free to ask them and I'll make sure to answer what I can.

Collapse
 
yet_anotherdev profile image
Lucas Barret • Edited

I use wrap and this is really cool :)

Collapse
 
zawalid profile image
Zawalid

When the windows or linux version will be released

Collapse
 
therubberduckiee profile image
Jessica Wang

We plan on adding support for Web (WASM), Linux, and Windows, in this order. You can subscribe here if you want to be notified when we build for these platforms: zachlloyd.typeform.com/to/lWeDTQnr

‍Rust has pretty extensive platform support—allowing us to write in a single language and then build for Mac, Linux, Windows, and the web, but we have to implement the shaders and bindings for each platform ourselves.

Collapse
 
burneyhoel profile image
Burney Hoel

I too am very interested in when i might get the opportunity to try warp, wasm or linux here. I have signed up to be notified but would love a road map to be able to know the order of priorities or even a rough time line. Does the team anticipate this calendar year or something else?

Collapse
 
whitersun profile image
whitersun

Unfortunately not support for windows currently 🤧