Natural-language to shell-command CLI. Ask for what you want, pick a command, run it. The chosen command is printed to stdout for you to run.
Use the install script:
curl -fsSL https://raw.githubusercontent.com/sagwaco/pretty-plz/main/install.sh | shOr, use a package manager instead:
brew install sagwaco/tap/plznpm install -g @sagwaco/plzplz configure # pick a provider, model, and enable shell auto-prefillBuild from source (requires Rust 1.85+)
git clone git@github.com:sagwaco/pretty-plz.git && cd pretty-plzcargo install --path .Make sure ~/.cargo/bin is on your PATH if you built from source.
Set credentials manually (optional):
export ANTHROPIC_API_KEY=sk-ant-...
plz list files in cwdWhen a newer release is available, plz prints a one-line hint to stderr. Upgrade with:
plz update
# or
plz configure updateplz <natural-language query>...
Quotes are optional — everything after the flags is the query. Run plz --help for all flags.
# Usage with flags
plz --provider openai show disk usage of subdirs sorted descending
plz --model claude-haiku-4-5 convert input.svg to a transparent 512x512 png
Available commands:
plz login # login to an LLM service
plz status # show sign-in status
plz update # upgrade to the latest release
plz uninstall # remove plz, credentials, and shell integration
plz configure # full guided setup
plz configure login # sign in (alias for `plz login`)
plz configure model # change the default model
plz configure update # update plz (alias for `plz update`)
See docs/ for shell integration, authentication, and configuration.
plz sends your query, OS, shell, current directory, and a truncated listing of
the current directory to the selected model. It does not send shell history, and
it has no telemetry or usage tracking.
cargo build
cargo build --release
cargo run -- "list files in cwd"Install your development build:
cargo install --path .Uninstall your development build:
cargo uninstall plzApache 2.0. See LICENSE.