Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. inquire

inquire

MITRustv0.9.4

A Rust library for building interactive, customizable prompts in terminal applications.

Visit WebsiteGitHubGitHub
2.6k stars109 forks0 contributors

What is inquire?

Inquire is a Rust library for building rich, interactive command-line prompts. It provides a collection of prompt types—such as Text, Select, MultiSelect, DateSelect, Confirm, Password, Editor, and CustomType—to gather user input, making CLI applications more user-friendly and feature-rich. It solves the problem of creating intuitive terminal interfaces with minimal complexity while offering extensive customization.

Target Audience

Rust developers building command-line applications that require interactive user input, such as configuration wizards, data entry tools, or interactive scripts. It is particularly suited for those needing cross-platform support and fine-grained control over prompt behavior and styling.

Value Proposition

Developers choose Inquire for its type-safe API, sensible defaults, and deep customization options, including configurable backends (crossterm, termion, console), validation, theming, and autocompletion. Its cross-platform support and focus on user experience without unnecessary complexity set it apart from simpler prompt libraries.

Overview

A Rust library for building interactive prompts

Use Cases

Best For

  • Building interactive CLI wizards with multiple prompt types like text, selection, and confirmation.
  • Creating cross-platform terminal applications that require consistent behavior on UNIX and Windows systems.
  • Implementing secure password input with toggleable display modes and confirmation flows.
  • Developing tools that need date selection via an interactive calendar (using the date feature).
  • Gathering structured user input with custom parsing and validation, such as numbers or UUIDs.
  • Designing accessible terminal interfaces with customizable color themes and rendering configurations.

Not Ideal For

  • Non-interactive batch jobs or headless environments without a TTY, where user input is impossible.
  • GUI or web-based applications requiring graphical input dialogs instead of terminal prompts.
  • Projects with strict dependency constraints that avoid additional crates like chrono for date features.
  • Simple CLI scripts where basic stdin reading suffices, and library overhead is unnecessary.

Pros & Cons

Pros

Wide Prompt Variety

Offers multiple prompt types including Text, Select, MultiSelect, DateSelect, Confirm, Password, Editor, and CustomType, as listed in the README's key features.

Cross-Platform Support

Works on UNIX and Windows terminals via configurable backends like crossterm, termion, and console, ensuring consistent behavior across systems.

Extensive Customization

Provides fine-grained control over rendering themes, validation, formatting, autocompletion, and scoring, with examples like custom validators and formatters in the documentation.

Type-Safe API

Built with Rust's type system, offering sensible defaults and standardized error handling using thiserror, as mentioned in the philosophy section.

Cons

Feature-Gated Prompts

Some prompts like DateSelect and Editor are behind feature flags, requiring additional dependencies and complicating setup for those features.

TTY Dependency

Fails in non-TTY environments with a 'NotTTY' error, limiting use in automated or headless scenarios where terminal interaction isn't available.

Limited Validator Support

Certain prompts like Select do not support custom validators, restricting input validation for selection-based inputs, as noted in the README.

Frequently Asked Questions

Quick Stats

Stars2,612
Forks109
Contributors0
Open Issues58
Last commit4 months ago
CreatedSince 2021

Tags

#user-input#library#interactive#terminal#tui#cli#prompt-library#command-line#crossterm#rust#prompt

Built With

t
thiserror
c
chrono
c
crossterm
R
Rust

Links & Resources

Website

Included in

Rust56.6k
Auto-fetched 17 hours ago

Related Projects

ratatui-org/ratatuiratatui-org/ratatui

A Rust crate for cooking up terminal user interfaces (TUIs) 👨‍🍳🐀 https://ratatui.rs

Stars21,864
Forks719
Last commit3 days ago
clap-rsclap-rs

A full featured, fast Command Line Argument Parser for Rust

Stars16,580
Forks1,212
Last commit3 days ago
indicatifindicatif

A command line progress reporting library for Rust

Stars5,189
Forks282
Last commit4 days ago
CursiveCursive

A Text User Interface library for the Rust programming language

Stars4,833
Forks267
Last commit10 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub