Generate shell scripts from natural language using any OpenAI-compatible API.
plz "list all files in current directory"
plz "find all rust files and count lines of code"
plz -y "compress this folder into a tar.gz archive"Config priority: CLI args > env vars > config file > defaults
| Flag | Short | Description |
|---|---|---|
--base-url | -u | API base URL |
--api-key | -k | API key |
--model | -m | Model name (required) |
--provider | -p | Provider name (display only) |
--temperature | -t | Sampling temperature (0.0-2.0) |
--max-tokens | Max tokens in response | |
--think | Reasoning effort (low/medium/high) for reasoning models | |
--no-think | -x | Disable reasoning even if configured |
--config | Custom config file path | |
--force | -y | Skip confirmation prompt |
PLZ_BASE_URL, PLZ_API_KEY, PLZ_MODEL, PLZ_PROVIDER, PLZ_TEMPERATURE, PLZ_MAX_TOKENS, PLZ_THINK
Location: ~/.config/plz/config.toml
base_url = "https://api.openai.com"api_key = "sk-..."model = "gpt-4o"temperature = 0.7max_tokens = 4096think = "high"# OpenAI
plz -m gpt-4o -k sk-... "show disk usage"# Ollama (local)
plz -u http://localhost:11434 -m qwen2.5-coder:7b "list all files"# Groq
plz -u https://api.groq.com/openai/v1 -k gsk_... -m llama-3.1-70b "find largest files"# With reasoning/thinking (o1, o3, and other reasoning models)
plz --think high "debug this complex issue"# Disable thinking even if configured
plz -x "simple task"For OpenAI reasoning models (o1, o3, etc.), you can enable extended thinking to improve output quality on complex tasks.
# CLI flag
plz --think high "complex task"# Environment variableexport PLZ_THINK=high
# Config file (~/.config/plz/config.toml)
think = "medium"Accepted values: low, medium, high
If thinking is enabled in your config or env, you can override it for a single run:
plz -x "simple task"
plz --no-think "quick task"Requires Rust. Build with cargo build, run with cargo run.
MIT