Survey report

The State of the CLI 2023 Edition

The State of the CLI survey unveils the common tools, technologies, and usage patterns of how terminal users and the Warp community use their shell, terminal, and command line. From June to July 2023, Warp surveyed over 1,500 developers to learn about their workflows.

1,520
developers surveyed
69%
always keep a terminal open
81%
use MacOS for development

A note from Warp

An inaugural look at how developers use the command line

We’re super excited to present the results of our inaugural State of the CLI survey. A heartfelt thank you to everyone who participated and spread the word. The overwhelming response from Warp and the broader developer community underscores the significance of the command line in today’s development world.

With this survey, we delved into the evolving tools and practices of the command line, striving to present our findings in a clear and accessible manner. Recognizing that each developer brings a distinct touch to their terminal usage, our intent was to highlight diverse approaches while uncovering dominant trends, best practices, and shared collective pain points in the process.

We recognize a strong representation from the Warp community in our sample. While this offers insights into how Warp users use the terminal, it also introduces a bias. Thus, these results may not reflect the preferences of the wider terminal and developer communities.

For a comprehensive explanation of our survey design, processes, and demographics, please see our methodology blog post.

Key takeaways

What terminal users told us

Terminal usage

Most respondents (69%) always keep the terminal open and make significant use of it. Despite this frequent terminal usage, only 19% of respondents perceive themselves as experts.

Aesthetic preferences

Respondents value the aesthetics and readability of their terminal, prioritizing features like themes, layouts, colors, and fonts.

Pain points

70% of respondents struggle with remembering or using complex terminal commands, while only 12% and 14% find difficulties in package management and scripting respectively.

Shell customizations

The top shell customizations are autocomplete (79%), aliases (74%), and themes (74%), indicating a high priority for efficiency, ease of use, and aesthetics.

AI’s growing role

While 34% of respondents do not currently use any AI tools in the terminal, only 10% have no plans to adopt them in the future. The primary applications are command suggestions and command generation.

Learning and resources

Many respondents self-report still using Google (62%) and Stack Overflow (62%) as their leading educational resources. Technical documentation (57%) also continues to be a vital resource.

Usage & proficiency

The gap between CLI usage and proficiency

We polled our respondents about their terminal usage frequency and juxtaposed it with a self-assessment of their proficiency.

How often do you use the terminal?

1,367 votes

Constantly68.98%
A few times an hour14.85%
A few times a day13.61%
Infrequently (not every day)2.41%
Never0.15%

How would you rate your proficiency with the CLI?

1,367 votes

Expert18.51%
Advanced39.51%
Intermediate38.84%
Beginner2.85%
Never used it before0.22%

The terminal is an indispensable tool for a vast majority (69%) of our respondents, with it consistently open as a primary tool in their workflow. Conversely, only a mere 2% reported infrequent or no use, emphasizing the terminal’s pivotal role in modern workflows and the significant demand for command line tools.

However, when it comes to self-assessing their proficiency with the CLI, a more modest sentiment arises. Despite the frequent usage, only a fraction (19%) consider themselves as experts. The larger share of respondents feel they possess an intermediate (39%) or advanced (40%) understanding of the CLI.

This disparity highlights the intricate nature of the terminal and CLI. Regular users continually stumble upon new aspects to master and skills to sharpen.

Terminal preferences

Which terminals developers primarily use

We asked respondents their primary, secondary, and tertiary preferences for terminals. Given the population surveyed, it’s no surprise that Warp dominates as the most popular primary terminal.

However, it may be surprising to some that the embedded terminal in VSCode has surpassed iTerm2 or even the default MacOS terminal for many developers. The prominence of the MacOS terminal as a third-choice can be attributed to its presence on MacBooks. The Warp community skews heavily toward daily Mac users.

Which terminals do you primarily use?

Rated 1st

Warp713
VSCode183
iTerm2168
Default Mac terminal68
Alacritty37
Kitty38
GNOME36
Hyper13
CMD12
PowerShell9

Ranked 2nd

VSCode445
iTerm2251
Warp164
Default Mac terminal158
Windows Terminal61
Alacritty33
PowerShell24
CMD18
GNOME18
Kitty17
Hyper16

Ranked 3rd

Default Mac terminal241
VSCode238
iTerm2157
Warp94
Windows Terminal50
PowerShell48
GNOME33
CMD30
Alacritty24
Hyper21
Kitty20

Terminal usage patterns

Code management, system navigation, and everything in between

The terminal proves essential for common tasks such as compiling and running code, version control, navigating file systems, managing packages, and accessing remote servers. Less frequently, the respondents turn to the CLI for system monitoring and production debugging.

Remembering or using complex terminal commands emerges as a major challenge for 70% of respondents. Meanwhile, fewer face issues with package management (12%) and task automation (14%). Could it be that developers are turning to AI tools within their terminal to mitigate these workflow challenges?

Which of the following statements describe your pain points or challenges with using the CLI?

Hard to remember or use complex commands and syntax70.41%
Managing environment variables and configuration37.56%
Cannot edit commands like modern text editor37.10%
Command accuracy and dealing with typos34.37%
Inadequate command prediction and completion33.76%
Concerns about breaking something by running a command incorrectly31.18%
Poor overall usability including visual cues and discoverability30.65%
Problems integrating with other developer tools21.85%
Issues with scripting and task automation14.34%
Other16.39%

Aesthetic preferences

Aesthetics, readability, and layouts matter

The terminal isn’t merely a functional tool; it’s a canvas for every developer. 86% customize their terminals with themes and colors, while 70% show an affinity for fine tuning fonts. Respondents also place high value in multitasking and organization, with 62% emphasizing the importance of layouts, like split panes and tabs.

How do you like to customize your terminal?

Themes & Colors85.84%
Fonts69.99%
Layouts (panes, tabs)61.79%
Command Outputs46.42%
Transparency43.28%
Keybindings42.08%
Cursor36.93%
Input Positions19.95%
Mouse Actions16.81%
Other2.41%

Note: Features like mouse actions and split panes are only available in certain terminals by default, whereas in other terminals you need to install them as plugins.

Shell preferences & personalizations

Zsh is the shell of choice, followed by bash and fish

Zsh tops the list as the most widely used shell among respondents, with 69% preference. Its popularity could be linked to its advanced features and customization capabilities using plugins like Oh My Zsh, in addition to its recent adoption as the default shell in macOS Catalina. Trailing behind but still robustly rooted is bash, claiming 17% of users.

Aside from these, a select few respondents use fish, PowerShell, and Nushell. The 3% who chose “whatever is default” might represent a segment not deeply invested in shell customization.

What shell do you primarily use?

1,347 votes

ZSH69.04%
Bash16.70%
Fish5.86%
PowerShell3.49%
Whatever is default3.27%
Other1.63%

How do you like to customize your terminal?

1,234 votes

Autocomplete79.34%
Aliases74.47%
Themes74.07%
Syntax highlighting62.64%
Environment variables55.27%
Custom Prompt53.65%
Other30.96%

Three shell customization features dominate: autocomplete, aliases, and themes. This trio illuminates what developers prioritize in their shells: efficiency, user-friendliness, and an appealing visual interface. Keybindings are favored by a notably lower percentage of respondents, suggesting there’s still unexplored potential in shell customizations.

CLI toolkits

Different toolkits for diverse tasks

From the list of 50 prominent CLI applications, Git, npm, and Homebrew emerged as the top three, highlighting the prevalence of version control, package management, and software installation tasks in the respondents’ terminal workflows.

It’s essential to consider that all CLI applications are not used equally. Some are niche-specific, like Kubernetes, Terraform, and Ansible, catering to particular roles such as DevOps or system administration.

At the forefront of CLI customization, Oh My Zsh stands out, capturing 64% preference due to its potent combination of adaptability and compatibility with SSH.

Within this vast landscape, tools like Neovim, Bat, and Starship emphasize the coexistence of text editing, enhanced visual outputs, and adaptable command prompts. This spectrum of tool choices underscores a central sentiment: the terminal is not just a workspace but also a canvas.

AI in the terminal

The emergence of AI in the terminal

Respondents weighed in on their use of AI tools in the terminal, specifically discussing Warp AI, GitHub Copilot for CLI, Fig AI, and CLAI from IBM.

Given that most respondents in the sample group are Warp users, it’s unsurprising that 53% use Warp AI as their primary tool in the terminal. Among those who utilize AI tools in the terminal, command suggestions (52%) and generation (46%) stand out as the primary use cases.

What do you use AI tools in the terminal for?

Command suggestions51.56%
Command generation45.95%
I do not use AI tools in the terminal34.37%
Explaining complex commands26.71%
Debugging22.35%
Code recommendations19.59%
Automating repetitive tasks17.28%
Other0.80%

Future of AI in the CLI

Intelligent commands, task automation, debugging, and more?

Looking forward, respondents believe AI and automation will predominantly influence intelligent command generation and suggestions (41%), followed by the automation of repetitive tasks (22%). Debugging and improved error detection (15%) are also viewed as promising avenues for AI’s impact.

Yet, there’s a palpable caution. A significant 9.7% of users express no intention to integrate AI tools into their terminal operations in the near future.

Where do you see AI or automation making the biggest impact to your terminal workflow over the next 3 years?

Intelligent command generation and suggestions40.92%
Automating repetitive tasks and processes21.51%
Debugging and improved error detection15.23%
No plans to use AI tools in terminal9.71%
Integrations with other developer tools6.03%
Parsing logs4.52%
Other ways AI can make an impact?1.17%

Learning resources

Even with AI on the rise, Google and Stack Overflow maintain top spots

Google and Stack Overflow continue to be self-reported as the top CLI learning resources, each favored by 62% of users. Even amid reports of Stack Overflow’s waning usage, its significant relevance persists.

Interestingly, over half the respondents rely on technical documentation for accurate and current information. Emerging AI tools like ChatGPT are on the rise, but still have ground to cover to match Google’s wide-ranging search capabilities.

What percentage of people consider the following resources useful when learning about the CLI?

62%

Google

62%

Stack Overflow

57%

Technical Docs

43%

Personal Projects

39%

AI Tools like ChatGPT

39%

Blogs and Forums

33%

Open-source Projects

23%

YouTube

15%

Online Courses

14%

Books

Survey respondent overview

Who responded to the survey

This report collates responses from 1,520 developers, primarily from the Warp community, surveyed between June 14 and July 14, 2023. Below is an overview of their specialization areas, company affiliations, professional experience, and other demographic details.

Which areas of development do you primarily focus on?

Backend54.52%
Fullstack53.63%
Frontend42.87%
Infrastructure / Server35.53%
Databases32.76%
Cloud Platforms25.92%
Mobile Applications19.40%
AI / ML12.22%
Cybersecurity9.05%
Other15.24%

How many people work for your company / organization?

1 (Just me)5.60%
2-1011.49%
11-5011.49%
51-20018.27%
201-5009.33%
501-1,0006.19%
1,001-5,00011.10%
More than 5,00016.21%

How many years of professional coding experience do you have?

Less than 1 year7.34%
1-2 years16.32%
3-5 years27.37%
6-10 years21.35%
11-15 years10.80%
15+ years16.82%

Other notable data points

Operating System: 81% use MacOS for development
Primary Device: 77% rely on laptops, while 22% use desktops
Tech Employment: 84% identify their company as a tech company
Job Titles: 56% identify as Software Engineers, 10% as Technical Leads, with others holding roles ranging from SREs to CEO/CTO/CIOs, data specialists, and system administrators.
Employment Status: 71% are in full-time roles, 11% are students, and the remainder are either contractors, self-employed, or part-time employees.
Geographical Distribution: Europe and North America lead with 38% and 35% respectively. Other respondents reside in Southern Asia, South America, and Eastern Asia.

Conclusion

The CLI remains a cornerstone of developer workflows

While this survey offers a snapshot of 2023, the dynamic nature of technology ensures that trends will continue to shift. We may see increased adoption of AI tools, further personalization in terminal usage, and possibly even new, disruptive tools that reshape the CLI landscape.

We’re excited for what lies ahead. As developers continue to push boundaries, refine workflows, and introduce innovative tools, the terminal will likely remain a consistent, yet ever-evolving, cornerstone of this journey.

Methodology

Learn about the survey methodology

Learn about the process behind the State of the CLI survey, the methodology, and areas of consideration for future editions.

Read the methodology