Following feedback about potentially misleading "Official" claims:
**README.md:**
- Removed "Official" from first line
- Added clear disclaimer: community project proposing what an official CLI could look like
- Not affiliated with or endorsed by OpenWebUI team
- Added note on MIT vs BSD-3-Clause license difference
**docs/RFC.md:**
- Added prominent disclaimer at top
- Changed status from "Implementation-Ready" to "Community Proposal"
- Made clear this is a proposal, not a claim of official status
- Added "if OpenWebUI team isn't interested, that's fine" acknowledgment
The intent was always to propose, not to mislead. Language now reflects that accurately.
Co-Authored-By: Claude <noreply@anthropic.com>
**P0 BUGS FIXED:**
- ✅ chat_id now sent to API (critical bug - conversations couldn't continue)
- ✅ OPENWEBUI_TOKEN env var honored (enables CI/headless workflows)
- ✅ CLIError exit codes properly applied (correct status codes 0-5)
**DUPLICATE FUNCTION FIXED:**
- ✅ Renamed duplicate delete() functions in rag.py to delete_file() and delete_collection()
**RUFF STYLE FIXES (25 → 0 issues):**
- ✅ Removed unused imports (Live, Text from chat.py)
- ✅ Fixed import sorting across all modules
- ✅ Fixed all line-too-long errors (broke long strings, extracted variables)
- ✅ All ruff checks now passing
**FUNCTIONAL IMPROVEMENTS:**
- ✅ --format flag now respected in streaming mode (was only non-streaming)
- ✅ Model parameter now optional, falls back to config.defaults.model
- ✅ Better error message when no model specified
**PYDANTIC V2 COMPATIBILITY:**
- ✅ Fixed ConfigDict → SettingsConfigDict for BaseSettings
- ✅ Added types-PyYAML to dev dependencies for mypy
**ENTRY POINT UPDATE:**
- ✅ Changed entry point from main:app to main:cli for proper error handling
**CODE QUALITY:**
- All 14 tests still passing
- All ruff style checks passing
- Mypy type coverage improved (some minor issues remain)
**IMPACT:**
- Fixes 3 critical bugs blocking production use
- Eliminates all style warnings (25 ruff issues → 0)
- Adds missing functionality (format flag, default model)
- Improves CI/automation workflows (env token support)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
**Core Improvements:**
- Fix Pydantic v2 deprecation warning in config.py by migrating to ConfigDict
- Add graceful Ctrl-C handling for streaming chat responses
- Add connection error handling mid-stream with actionable suggestions
- Implement --history-file support for conversation context
- Enhance all error messages with specific troubleshooting steps
**Chat Command Enhancements:**
- Improved SSE streaming with KeyboardInterrupt handling
- Added --history-file option to load conversation history from JSON
- Support both array and object formats for history files
- Better error messages for missing prompts and invalid history files
- Graceful handling of connection timeouts during streaming
**Error Message Improvements:**
- 401: Clear authentication instructions with token expiry hints
- 403: Detailed permission error with possible causes
- 404: Resource not found with helpful suggestions
- 5xx: Server error with admin troubleshooting tips
- Network errors: Connection, timeout, and request failures with solutions
**Testing:**
- Add comprehensive test suite for chat commands (7 tests)
- Test streaming and non-streaming responses
- Test system prompts, stdin input, and JSON output
- Test conversation history loading
- Test RAG file and collection context
- All 14 tests passing
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>