Open WebUI admin CLI tool
Project description
Open WebUI Admin
CLI tool for managing Open WebUI instances.
Very much a work in progress, and everyone is welcome to contribute.
Idea around this module is to use the existing API to simplify common tasks, checks etc. So you need to able to use the API and have an API key.
Commands Overview
| Command | Description |
|---|---|
models list |
List all available models (standard + custom) |
models list -v |
List models with provider/connection info |
models custom list |
List custom/preset models with base_model_id |
models custom list --name <model> |
Show full JSON for a specific custom model |
models check --name <model> |
Check if model is valid |
models check --name <model> -v |
Check with provider/URL info |
models verify --name <model> |
Verify single model works |
models verify --all |
Verify all models |
models verify --all -v |
Verify all with provider/URL info |
models verify --debug |
Verify with debug output |
models custom verify --all |
Verify all custom models |
models custom verify --name <model> |
Verify a specific custom model |
models custom verify -v |
Verify custom with provider info |
models custom verify --debug |
Verify custom with debug output |
models config |
Get models configuration |
connections verify |
Verify external connections |
config get --name openai|ollama |
Get OpenAI or Ollama configuration |
config get --json |
Output config as JSON |
config export |
Export all configuration |
users get --all |
List all users |
users get --all --json |
List all users in JSON format |
users get --include-email <regex> |
Include users matching email pattern |
users get --exclude-email <regex> |
Exclude users matching email pattern |
images list |
List image models |
audio models |
List audio models |
audio voices |
List available voices |
banners get |
Get banners |
banners set --type <type> --content <text> |
Set a banner |
banners set --dismissible |
Set a dismissible banner |
banners clear |
Clear all banners |
Installation
pip install open-webui-admin
Or install from source:
poetry install
poetry build
pip install dist/open_webui_admin-*.whl
Configuration
Set environment variables:
OPENWEBUI_URL- Base URL of Open WebUI instance (e.g.,https://open-webui.example.com)OPENWEBUI_TOKEN- Authentication token (from Account settings)
Commands
models
List all available models (standard + custom):
open-webui-admin models list
List with verbose output (shows provider and connection info):
open-webui-admin models list -v
# Output: model_id | provider | connection_type | urlIdx | url
# Example: gpt-5 | openai | external | 1 | https://api.openai.com/v1
List custom/preset models only:
open-webui-admin models custom list
# Output: model_id (base: base_model_id)
# Example: dada (base: gpt-4o)
Show full details for a specific custom model:
open-webui-admin models custom list --name dada
# Output: Full JSON for the model
Check if a model is valid:
open-webui-admin models check --name gpt-4o
Check with provider/URL info:
open-webui-admin models check --name gpt-4o -v
Get models configuration:
open-webui-admin models config
# Output: Full JSON models configuration
Verify a single model works:
open-webui-admin models verify --name gpt-4o
# Output: Model 'gpt-4o' is working
# Model 'anthropic.claude-opus-4-6' is NOT working: authentication_error
Verify with debug output (shows full API response):
open-webui-admin models verify --name gpt-4o --debug
Verify all available models:
open-webui-admin models verify --all
# Output:
# Verifying 134 models...
# [OK] gpt-5
# [FAIL] anthropic.claude-opus-4-6 | authentication_error
# ...
# 58 models verified
Verify all with provider/URL info:
open-webui-admin models verify --all -v
# Output:
# [OK] gpt-5 | https://api.openai.com/v1
# [FAIL] anthropic.claude-opus-4-6 | https://api.anthropic.com/v1 | authentication_error
Verify all custom models:
open-webui-admin models custom verify --all
# Output:
# Verifying 10 custom models...
# [OK] dada
# [FAIL] test-model | error_message
# ...
# 10 custom models verified
Verify custom with provider info:
open-webui-admin models custom verify --all -v
Verify custom with debug output:
open-webui-admin models custom verify --name dada --debug
Verify a specific custom model:
open-webui-admin models custom verify --name dada
# Output: Model 'dada' is working
connections
Verify external connections (OpenAI, Ollama):
open-webui-admin connections verify
config
Get OpenAI configuration:
open-webui-admin config get --name openai
Get OpenAI configuration as JSON:
open-webui-admin config get --name openai --json
Get Ollama configuration:
open-webui-admin config get --name ollama
Get Ollama configuration as JSON:
open-webui-admin config get --name ollama --json
Export all configuration:
open-webui-admin config export
# Output: Full JSON configuration
users
Get all users:
open-webui-admin users get --all
# Output: user_id | name | email | role
Get all users in JSON format:
open-webui-admin users get --all --json
Include users matching email pattern (can be used multiple times):
open-webui-admin users get --all --include-email "@example.com"
open-webui-admin users get --all --include-email "@admin.com" --include-email "@test.com"
Exclude users matching email pattern (can be used multiple times):
open-webui-admin users get --all --exclude-email "@spam.com"
images
List available image models:
open-webui-admin images list
audio
List available audio models:
open-webui-admin audio models
List available voices:
open-webui-admin audio voices
banners
Get current banners:
open-webui-admin banners get
Set a banner (required: --type, --content):
open-webui-admin banners set --type Warning --title "System Update" --content "Maintenance scheduled"
Set a non-dismissible banner:
open-webui-admin banners set --type Warning --title "Alert" --content "Critical update" --dismissible
Clear all banners:
open-webui-admin banners clear
Options for --type: Info, Warning, Error, Success
Options for --dismissible: Flag (default: True)
Output Formats
models list -v
model_id | provider | connection_type | urlIdx | url
provider: Inferred from model name or URL (e.g.,openai,anthropic,pipeline,ollama)connection_type:externalor localurlIdx: Index into configured API endpoints (see/openai/config)url: The actual API endpoint URL
models verify --all -v
[OK] model_name
[FAIL] model_name | error_message
[ERROR] model_name | status_code
models custom list
model_id (base: base_model_id)
model_id (no base model)
users get --all
user_id | name | email | role
Error Messages
authentication_error- Invalid API keynot_found- Model not found (404)not_chat_model- Model doesn't support chat completions endpointserver_error- Upstream provider error (500)timeout- Request timed out
Development
Install for development:
poetry install
Run tests:
poetry run pytest
Run tests with coverage:
poetry run pytest --cov=open_webui_admin --cov-report=term-missing
Run CLI directly:
poetry run open-webui-admin --help
Build package:
poetry build
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file open_webui_admin-0.1.0.tar.gz.
File metadata
- Download URL: open_webui_admin-0.1.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.4 CPython/3.13.4 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ec92598f6945404aca3ca5476f73949c5f0da9332f58c3d237d3e50b924e50c
|
|
| MD5 |
026d32163a57f3a89569678a5927957f
|
|
| BLAKE2b-256 |
9f9b812597b9a6359cf90b90e5ea136fb152b75ad11f618584fe3a021cd794cd
|
File details
Details for the file open_webui_admin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: open_webui_admin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.4 CPython/3.13.4 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26b67c3f368f0a29bbc840f39b20bebffcba2511f8459c222050acb58c8372d8
|
|
| MD5 |
05bcb04ffac380580c5e8921a167260b
|
|
| BLAKE2b-256 |
2ab59e5824ca6033319e864d5faad766d39cb3137be888444ebbbd5b31abde15
|