A single-file Python script to run .prompt files.
Quick Start | Example configuration | providers
curl -O https://raw.githubusercontent.com/chr15m/runprompt/main/runprompt
chmod +x runpromptcreate hello.prompt,
run it:
export ANTHROPIC_API_KEY="your-key"
echo '{"name": "World"}' | ./runprompt hello.promptIn addition to the following, see the test folder for more examples .prompt files.
cat article.txt | ./runprompt summarize.promptSpecific {{STDIN}} The variable always contains raw stdin as a string.
Extract structured data using output schema:
echo "John is a 30 year old teacher" | ./runprompt extract.prompt
# {"name": "John", "age": 30, "occupation": "teacher"}fields ending with ? are optional. the format is field: type, description,
Pipe structured output between signals:
echo "John is 30" | ./runprompt extract.prompt | ./runprompt generate-bio.promptThe JSON output from the first prompt becomes a template variable in the second.
Override any Frontmatter value from the command line:
./runprompt --model anthropic/claude-haiku-4-20250514 hello.prompt
./runprompt --name "Alice" hello.promptSet up API keys for your providers:
export ANTHROPIC_API_KEY="..."
export OPENAI_API_KEY="..."
export GOOGLE_API_KEY="..."
export OPENROUTER_API_KEY="..."Override any Frontmatter value via prefixed environment variable RUNPROMPT_,
export RUNPROMPT_MODEL="anthropic/claude-haiku-4-20250514"
./runprompt hello.promptThis is useful for setting defaults across multiple prompt runs.
Use -v To view request/response details:
./runprompt -v hello.promptModels are specified as provider/model-name,
| provider | model format | api key env var |
|---|---|---|
| anthropic | anthropic/claude-sonnet-4-20250514 | ANTHROPIC_API_KEY |
| OpenAI | openai/gpt-4o | OPENAI_API_KEY |
| google ai | googleai/gemini-1.5-pro | GOOGLE_API_KEY |
| openrouter | openrouter/anthropic/claude-sonnet-4-20250514 | OPENROUTER_API_KEY |
OpenRouter provides access to models from multiple providers (Anthropic, Google, Meta, etc.) through a single API key.
<a href
