fix: add support for max_completion_tokens parameter in newer OpenAI models#35
Open
caffeinum wants to merge 6 commits intofuergaosi233:mainfrom
Open
fix: add support for max_completion_tokens parameter in newer OpenAI models#35caffeinum wants to merge 6 commits intofuergaosi233:mainfrom
caffeinum wants to merge 6 commits intofuergaosi233:mainfrom
Conversation
…models - Add detection for o1, o3, o4, and gpt-5 model prefixes - Use max_completion_tokens instead of max_tokens for these models - Fixes compatibility with OpenAI's newer reasoning models - Resolves 400 errors about unsupported max_tokens parameter 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Force temperature=1 for o1/o3/o4/gpt-5 models (they don't support other values) - Add warning when temperature is adjusted - Add logging for streaming attempts with reasoning models - Improve model detection with is_reasoning_model flag These models have specific API restrictions that differ from traditional GPT models. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
… errors - Automatically disable streaming for o1/o3/o4/gpt-5 models - Prevents "organization must be verified" errors - Logs warning when streaming is disabled - Can be reverted once org is verified on OpenAI platform 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…fication errors" This reverts commit b452382.
…g models" This reverts commit b0daf33.
ensure o1/o3/o4/gpt-5/gpt5 models use temp=1 and log coercion to comply with provider restrictions
Joonel
approved these changes
Aug 10, 2025
Joonel
left a comment
There was a problem hiding this comment.
The fix actually does work, thank you @caffeinum
|
I tried this and it seems to work |
Closed
10 tasks
aaaronmiller
pushed a commit
to aaaronmiller/claude-code-proxy
that referenced
this pull request
Nov 19, 2025
…ion, passthrough mode, Docker improvements This commit implements changes from PRs fuergaosi233#35, fuergaosi233#24, fuergaosi233#39, fuergaosi233#37, and fuergaosi233#32: ## PR fuergaosi233#35 + fuergaosi233#24: OpenAI Newer Models Support (o1, o3, o4, gpt-5) - Add `is_newer_openai_model()` method to ModelManager to detect o1, o3, o4, gpt-5 - Add `is_o3_model()` method for specific o3 model detection - Use `max_completion_tokens` instead of `max_tokens` for newer models - Enforce `temperature=1` for newer OpenAI reasoning models - Update test-connection endpoint to handle newer models correctly - Fix compatibility with OpenAI's newer model API requirements ## PR fuergaosi233#39: Enhanced Conversion & Error Handling - Add comprehensive input validation to request converter - Validate Claude request structure before processing - Add enhanced error handling in response converter - Validate OpenAI response structure with detailed error messages - Add prompt cache support for non-streaming responses - Extract and include `cache_read_input_tokens` from prompt_tokens_details - Improve error messages for debugging ## PR fuergaosi233#37: Multi-Tenant Passthrough Mode - Add passthrough mode support for multi-tenant deployments - Make OPENAI_API_KEY optional - enable passthrough mode when not set - Add per-request API key support via `openai-api-key` header - Update OpenAIClient to accept per-request API keys - Add API key format validation (sk- prefix, minimum length) - Update endpoints to extract and validate OpenAI API keys from headers - Support both proxy mode (server key) and passthrough mode (user keys) - Enable separate billing per tenant in passthrough mode ## PR fuergaosi233#32: Docker Improvements - Add comprehensive .dockerignore file - Exclude development files, tests, and sensitive data from Docker builds - Reduce Docker image size by excluding unnecessary files - Improve build performance with proper ignore patterns ## Additional Improvements - Better error messages and logging throughout - Enhanced API key validation - Improved request/response handling All changes maintain backward compatibility with existing deployments.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✨ sorry this all is AI-generated but the fix works for me ✨
Summary
max_tokensparametermax_completion_tokensfor compatible modelsChanges
src/conversion/request_converter.pyto detect newer model prefixesmax_completion_tokensinstead ofmax_tokensfor:max_tokensProblem Solved
The proxy was failing with 400 errors when used with newer OpenAI models:
Test Plan
max_completion_tokensis usedmax_tokensstill works🤖 Generated with yolocode