| name | using-streamlit-cli |
| description | Documents Streamlit CLI commands for running apps, managing configuration, and diagnostics. Use when starting Streamlit apps, configuring runtime options, or troubleshooting CLI issues. |
Using the Streamlit CLI
The Streamlit CLI is the primary tool for running Streamlit applications and managing configuration. This skill covers all essential commands and configuration options.
Running Streamlit apps
Basic syntax
streamlit run [<entrypoint>] [-- config options] [script args]
Entrypoint options
| Argument | Behavior |
|---|
| (none) | Looks for streamlit_app.py in current directory |
| Directory path | Runs streamlit_app.py within that directory |
| File path | Runs the specified file directly |
| URL | Runs a remote script (e.g., from GitHub) |
Examples
streamlit run
streamlit run app.py
streamlit run https://raw.githubusercontent.com/streamlit/demo-uber-nyc-pickups/master/streamlit_app.py
python -m streamlit run app.py
Running with uv (recommended)
Use uv run to run Streamlit in a virtual environment with automatic dependency management:
uv run streamlit run app.py
uv run streamlit run app.py --server.headless=true
uv run streamlit run app.py -- arg1 arg2
Using uv run is the recommended approach because it:
- Automatically manages virtual environments
- Resolves and installs dependencies from
pyproject.toml
- Ensures reproducible environments across machines
- Avoids manual activation/deactivation of virtual environments
Setting configuration with streamlit run
Configuration options follow the pattern --<section>.<option>=<value> and must come after the script name.
Recommendation: For persistent configuration, use .streamlit/config.toml in your project directory instead of command-line flags. This keeps your run command simple and makes configuration easier to manage and share with your team.
Examples
streamlit run app.py --server.port=8080
streamlit run app.py --server.headless=true
streamlit run app.py --server.runOnSave=true
streamlit run app.py --server.address=0.0.0.0
streamlit run app.py --client.showErrorDetails=false
streamlit run app.py --theme.primaryColor=blue
Combining multiple options
streamlit run app.py \
--server.port=8080 \
--server.headless=true \
--theme.primaryColor=blue \
--client.showErrorDetails=false
Passing arguments to your script
Script arguments come after configuration options. Use sys.argv to access them:
streamlit run app.py -- arg1 arg2 "arg with spaces"
In your script:
import sys
args = sys.argv[1:]
Other CLI commands
View configuration
streamlit config show
Cache management
streamlit cache clear
Diagnostics and help
streamlit version
streamlit help
streamlit docs
Project scaffolding
streamlit init
Demo app
streamlit hello
Configuration precedence
Configuration can be set in multiple places. Order of precedence (highest to lowest):
- Command-line flags (
--server.port=8080)
- Environment variables (
STREAMLIT_SERVER_PORT=8080)
- Local config (
.streamlit/config.toml in project directory)
- Global config (
~/.streamlit/config.toml)
References