v0.1.7
vLLM Playground v0.1.7 - Hotfix & Tutorials
Release Date: March 2026
This release fixes six bugs and adds an embedded Tutorials page.
Note: v0.1.6 has been yanked from PyPI due to the container mode bug below. Users should upgrade to v0.1.7.
Bug Fixes
Container Mode Switching Broken
The getConfig() function in app.js was missing an explicit branch for the container radio button. Additionally, the fallback default was changed from 'container' (v0.1.5) to 'remote' (v0.1.6), which meant selecting container mode silently sent run_mode: 'remote' to the backend. The server would then attempt to connect to a remote URL (typically empty), breaking the vLLM server entirely.
Fix: Restored the default to 'container' (matching v0.1.5) and added explicit handling for all three modes (subprocess, container, remote).
Logprobs Tooltip Clipped on First Line
The logprobs probability tooltip (shown when hovering over tokens with logprobs enabled) was clipped when appearing on the first line of a chat response. The .message-content container had overflow: hidden, which prevented the absolutely-positioned tooltip from extending above the message bubble.
Fix: Changed .message-content from overflow: hidden to overflow: visible.
Logprobs Crash on Metal/CPU
When logprobs were enabled with Metal or CPU compute mode, vLLM hit an IndexError: list index out of range in _create_chat_logprobs in both streaming and non-streaming modes. This is an upstream vLLM bug.
Fix: Two-layer workaround based on compute mode (not run mode):
- Force non-streaming mode when logprobs are enabled with Metal or CPU compute mode selected
- If vLLM still returns a 500 error, transparently retry the request without logprobs and show a notification: "Logprobs not available — vLLM backend does not support logprobs for this model/platform."
GPU compute mode and remote mode are unaffected and continue to use streaming with logprobs. The workaround correctly handles the edge case where remote mode hides (but retains) the compute mode radio state — remote mode always allows streaming regardless of the hidden compute selection.
Mode Switch Config Leak
When switching from container or subprocess mode to remote mode, form fields like served_model_name, enable_tool_calling, and tool_call_parser retained their stale values from the previous mode. Since these fields are part of the hidden "local server settings" section, they were invisible to the user but still read by getConfig(). If served_model_name was set (e.g., "my-coder"), it overrode the auto-discovered remote model name, causing chat requests to target a nonexistent model and returning "no response from model."
Fix: Two layers of protection:
toggleRunMode()auto-clearsserved_model_name,enable_tool_calling, andtool_call_parserwhen switching to remote modegetConfig()explicitly skips these fields for remote mode as a safety net
Stale Observability Data After Mode Switch
After stopping a server (container, subprocess, or remote) and starting a new one in a different mode, the observability dashboard continued to display metrics from the previous session. The MetricStore and legacy metrics were not cleared on server stop.
Fix: start_server() now clears all metrics data (MetricStore.latest, MetricStore.history, latest_vllm_metrics, metrics_history) when a new server starts, so the observability dashboard begins fresh. Old metrics remain visible after stopping for post-mortem analysis.
Claude Code Not Detected on VPS/Linux
The Claude Code CLI installed via the official curl -fsSL https://claude.ai/install.sh | bash method installs to ~/.local/bin/claude, which is often not in the $PATH of the Python process running vLLM Playground. Similarly, npm global installs may go to ~/.npm-global/bin/.
Fix: find_claude_command() now checks well-known per-user install paths (~/.local/bin/claude, ~/.npm-global/bin/claude) as fallbacks. When running as root/sudo (common with systemd services), it also scans /home/*/ directories to find Claude installed by non-root users.
New Feature
Tutorials
A new Tutorials navigation item in the sidebar that embeds the vLLM Workshop directly inside vLLM Playground.
- Loads the workshop site in an iframe on first click (lazy-loaded)
- Provides a fallback link if the iframe cannot be loaded
- Accessible from the bottom of the navigation sidebar, above the server status indicator
Installation
Upgrade
pip install --upgrade vllm-playgroundFrom Source
git clone https://github.com/micytao/vllm-playground.git
cd vllm-playground
pip install -e .
vllm-playgroundDocumentation
- Changelog - Version history
- Installation Guide - Setup instructions
Links
- GitHub: https://github.com/micytao/vllm-playground
- PyPI: https://pypi.org/project/vllm-playground/
- vLLM Workshop: https://micytao.github.io/vllm-workshop/
Made with ❤️ for the vLLM community