Agent skill
using-streamlit-cli
Documents Streamlit CLI commands for running apps, managing configuration, and diagnostics. Use when starting Streamlit apps, configuring runtime options, or troubleshooting CLI issues.
Install this agent skill to your Project
npx add-skill https://github.com/streamlit/agent-skills/tree/main/developing-with-streamlit/skills/using-streamlit-cli
SKILL.md
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
# Run default app in current directory
streamlit run
# Run a specific file
streamlit run app.py
# Run from a URL
streamlit run https://raw.githubusercontent.com/streamlit/demo-uber-nyc-pickups/master/streamlit_app.py
# Alternative: run as Python module (useful for IDE configuration)
python -m streamlit run app.py
Running with uv (recommended)
Use uv run to run Streamlit in a virtual environment with automatic dependency management:
# Run with uv (automatically uses/creates virtual environment)
uv run streamlit run app.py
# With configuration options
uv run streamlit run app.py --server.headless=true
# With script arguments
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.tomlin 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
# sys.argv[0] = script path
# sys.argv[1:] = your arguments
args = sys.argv[1:]
Other CLI commands
View configuration
# Show all current configuration settings
streamlit config show
Cache management
# Clear all cached data from disk
streamlit cache clear
Diagnostics and help
# Show installed version
streamlit version
# List all available commands
streamlit help
# Open documentation in browser
streamlit docs
Project scaffolding
# Create starter files for a new project
streamlit init
Demo app
# Launch the Streamlit demo application
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.tomlin project directory) - Global config (
~/.streamlit/config.toml)
References
- Run your app - Concepts and methods for running Streamlit apps
- config.toml - Complete configuration options reference
- CLI reference - Full CLI command documentation
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
template-skill
Replace with description of the skill and when to use it.
developing-with-streamlit
**[REQUIRED]** Use for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit applications. Also required for building custom components (inline or packaged), using st.components.v2, or any HTML/JS/CSS component work. Triggers: streamlit, st., dashboard, app.py, beautify, style, CSS, color, background, theme, button, widget styling, custom component, st.components, packaged component, pyproject.toml, asset_dir, CCv2, HTML/JS component.
organizing-streamlit-code
Organizing Streamlit code for maintainability. Use when structuring apps with separate modules and utilities. Covers separation of concerns, keeping UI code clean, and import patterns.
building-streamlit-chat-ui
Building chat interfaces in Streamlit. Use when creating conversational UIs, chatbots, or AI assistants. Covers st.chat_message, st.chat_input, message history, and streaming responses.
building-streamlit-multipage-apps
Building multi-page Streamlit apps. Use when creating apps with multiple pages, setting up navigation, or managing state across pages.
displaying-streamlit-data
Displaying charts, dataframes, and metrics in Streamlit. Use when visualizing data, configuring dataframe columns, or adding sparklines to metrics. Covers native charts, Altair, and column configuration.
Didn't find tool you were looking for?