Skip to main content

Open WebUI admin CLI tool

Project description

Open WebUI Admin

Python Tests & Coverage

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: external or local
  • urlIdx: 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 key
  • not_found - Model not found (404)
  • not_chat_model - Model doesn't support chat completions endpoint
  • server_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_webui_admin-0.1.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_webui_admin-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

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

Hashes for open_webui_admin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1ec92598f6945404aca3ca5476f73949c5f0da9332f58c3d237d3e50b924e50c
MD5 026d32163a57f3a89569678a5927957f
BLAKE2b-256 9f9b812597b9a6359cf90b90e5ea136fb152b75ad11f618584fe3a021cd794cd

See more details on using hashes here.

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

Hashes for open_webui_admin-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26b67c3f368f0a29bbc840f39b20bebffcba2511f8459c222050acb58c8372d8
MD5 05bcb04ffac380580c5e8921a167260b
BLAKE2b-256 2ab59e5824ca6033319e864d5faad766d39cb3137be888444ebbbd5b31abde15

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page