# Liquid Prompt: an adaptive Bash and Zsh prompt that shows what you need when you need it

> Liquid Prompt is a shell prompt for Bash and Zsh that changes what it displays based on your context. It installs by copying files and configuring a key/value file, and it is licensed AGPL-3.0.

**liquidprompt/liquidprompt** — A full-featured & carefully designed adaptive prompt for Bash & Zsh

- Repository: https://github.com/liquidprompt/liquidprompt
- Website: https://liquidprompt.readthedocs.io/
- Stars: 4,678 · Forks: 418
- Language: Shell
- License: AGPL-3.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/liquidprompt-liquidprompt

## What Liquid Prompt solves for Bash and Zsh users

A shell prompt is a fixed string in most setups. You set PS1 once and it renders the same thing whether you are in a Git repository with uncommitted changes, running as root, or sitting in a directory you have not touched in months. Liquid Prompt's premise is that the prompt should change when the context changes, so that information appears when it is relevant and disappears when it is not. The README puts it as showing "what you need when you need it", and says the design goal is meaningful information with minimal visual clutter and maximum readability. The target user is someone who lives in an interactive shell all day and wants awareness of shell state without running extra commands. The README is explicit that the project is not trying to cover "boring software version tags" the way other prompts do, which is a real editorial choice rather than a feature gap. If your mental model of a good prompt is a row of aligned coloured segments showing language runtimes, this project is aiming somewhere else.

## How the adaptive prompt decides what to render

The mechanism visible in the repository is a shell script, liquidprompt, that hooks into the prompt rendering path of whichever shell is running. A separate file, liquidprompt.plugin.zsh, exists for Zsh, which tells you the integration path differs between the two supported shells even though the shared logic lives in the main script. The repository also ships example.bashrc, a themes directory, and a templates directory, which suggests themes are built from templates rather than being hand-written prompt strings. Configuration is described in the README as editing a text file with key/value pairs, so the runtime reads settings and then composes the prompt from the enabled pieces. The README calls the implementation "heavily optimized portable Shell", which is the project's own claim about performance rather than something measured here. The important architectural point is that everything happens inside the shell process. There is no daemon, no socket, and no separate binary to supervise, which is why installation can be as simple as copying files.

## Installing Liquid Prompt and setting a first theme

The README points to the documentation for install details and states that installation is "as easy as copying files". The repository ships example.bashrc as a starting point for Bash users. The exact copy commands are not given in the README, so read the install page before running anything. Once the files are in place, the README says predefined themes are enabled by a simple command in your shell configuration, and that configuration is a text file of key/value pairs. The install page of the documentation is where the activation step for your shell is documented, and the themes directory in the repository is where the available themes live, including the Powerline theme that the README shows in a screenshot. After activating it, open a new shell and the prompt should render according to the active theme instead of your previous PS1. The README does not document a rollback procedure, so keep a copy of your previous shell configuration before you edit it.

## Where Liquid Prompt is the wrong tool

The README's own positioning creates the clearest limitation. Liquid Prompt deliberately does not show software version tags, so if you rely on your prompt to tell you which Python, Node, or Ruby version is active, you will not get that from the default behaviour. The second constraint is the licence. Liquid Prompt is distributed under the GNU Affero General Public License version 3, which is a strong copyleft licence. For an interactive shell prompt that most people configure privately this rarely matters, but if you bundle the prompt into a distributed shell environment or a hosted terminal product, the AGPL-3.0 terms are the thing to read before you build on it. Third, because the implementation is portable shell that runs on every prompt render, the cost of a misconfiguration is paid on every command you type. The README calls the shell code heavily optimized, but that is the project's description; nothing in the repository summary quantifies the overhead. If you add expensive custom segments, you own that latency.

## Liquid Prompt compared with Starship

The most common alternative in this space is Starship, a cross-shell prompt written in Rust with a TOML configuration file. The difference in approach is structural. Starship is a compiled binary that the shell calls, and its configuration lives in a TOML file with a documented module system; it is known for showing many language and tool version segments. Liquid Prompt is a shell script sourced into Bash or Zsh, configured with key/value pairs, and aimed at shell features rather than tool version tags. That means Liquid Prompt adds no binary to your system and no compiled artifact to update, while Starship gives you a single binary and a configuration format shared across many shells. Liquid Prompt supports Bash and Zsh; Starship supports a broader set of shells. Pick Liquid Prompt when you want the prompt to be part of your shell configuration and you care about shell state. Pick Starship when you want a compiled tool with a structured config format and broad shell coverage.

## Maintenance, releases and the AGPL-3.0 licence

The repository is not archived and the last push was on 2026-09-13, which is recent. The release history shows v2.3.0 on 2026-07-05, a release candidate v2.3.0-rc.1 on 2026-06-11, and the previous stable release v2.2.1 on 2024-07-01. That gap of roughly two years between v2.2.1 and the v2.3.0 line is worth knowing if you track upgrades: this is not a project that ships a release every month. The repository carries a CHANGELOG.md, which is where upgrade notes belong, and the presence of a release candidate before v2.3.0 suggests the project does stage releases. Because installation is copying files and configuration is a key/value text file, the upgrade cost is mostly re-reading your config against the changelog rather than resolving dependency conflicts. The licence is AGPL-3.0, which is a copyleft licence with network-use conditions. Whether those conditions reach your use is a legal question, not one this article answers.

## Conclusion

Adopt Liquid Prompt if you want one prompt that adapts to context and you are comfortable with shell-based configuration and the AGPL-3.0 licence. Do not adopt it if you need a prompt that reports software version tags, since the README says Liquid Prompt deliberately focuses on shell features instead. Before installing, read the install and overview pages in the documentation and check the themes directory to confirm the theme you want exists.

## FAQ

### How do I install Liquid Prompt?

The README says installation is as easy as copying files and points to the install page of the documentation for the details. It also ships example.bashrc as a starting point for Bash users and a liquidprompt.plugin.zsh file for Zsh.

### Which shells does Liquid Prompt support?

Liquid Prompt supports Bash and Zsh. The repository contains a main liquidprompt script plus a separate liquidprompt.plugin.zsh file for the Zsh integration.

### How do I change the Liquid Prompt theme?

The README states that predefined themes are enabled by a simple command in your shell configuration, and that configuration is editing a text file with key/value pairs. The available themes, including the Powerline theme, live in the themes directory of the repository.

### What licence is Liquid Prompt released under?

Liquid Prompt is distributed under the GNU Affero General Public License version 3, as stated in the README and the LICENSE file. That is a copyleft licence, so check how its terms apply to your distribution before bundling it.

## Sources

- [License: AGPL-3.0](https://github.com/liquidprompt/liquidprompt/blob/master/LICENSE)
- [liquidprompt/liquidprompt on GitHub](https://github.com/liquidprompt/liquidprompt)
- [Project website](https://liquidprompt.readthedocs.io/)
- [README](https://github.com/liquidprompt/liquidprompt/blob/master/README.md)
- [Releases](https://github.com/liquidprompt/liquidprompt/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/liquidprompt-liquidprompt
