Skip to content

Correct config in README.md#1

Merged
luispater merged 1 commit intorouter-for-me:mainfrom
chaudhryfaisal:main
Jul 9, 2025
Merged

Correct config in README.md#1
luispater merged 1 commit intorouter-for-me:mainfrom
chaudhryfaisal:main

Conversation

@chaudhryfaisal
Copy link
Copy Markdown
Contributor

No description provided.

@luispater luispater merged commit 65f47c1 into router-for-me:main Jul 9, 2025
luispater added a commit that referenced this pull request Dec 2, 2025
luispater pushed a commit that referenced this pull request Dec 6, 2025
- Added setKiroIncognitoMode() helper function to handle Kiro auth incognito mode setting
- Replaced 3 duplicate code blocks (21 lines) with single function calls (3 lines)
- Kiro auth defaults to incognito mode for multi-account support
- Users can override with --incognito or --no-incognito flags

This addresses the code duplication noted in PR #1 review.
gdtiti pushed a commit to gdtiti/CLIProxyAPI that referenced this pull request Dec 30, 2025
linhlban150612 pushed a commit to linhlban150612/CLIProxyAPI that referenced this pull request Jan 23, 2026
linhlban150612 pushed a commit to linhlban150612/CLIProxyAPI that referenced this pull request Jan 23, 2026
TimouL pushed a commit to TimouL/CLIProxyAPI that referenced this pull request Jan 26, 2026
luispater pushed a commit that referenced this pull request Feb 18, 2026
applyClaudeToolPrefix, stripClaudeToolPrefixFromResponse, and
stripClaudeToolPrefixFromStreamLine now handle "tool_reference" blocks
(field "tool_name") in addition to "tool_use" blocks (field "name").

Without this fix, tool_reference blocks in conversation history retain
their original unprefixed names while tool definitions carry the proxy_
prefix, causing Anthropic API 400 errors: "Tool reference 'X' not found
in available tools."

Co-authored-by: Kirill Turanskiy <kt@novamedia.ru>
Atopona added a commit to rasutede/CLIProxyAPI-Wataa that referenced this pull request Mar 25, 2026
easayliu pushed a commit to easayliu/CLIProxyAPI that referenced this pull request Mar 25, 2026
…230810

Based on real Claude Code CLI v2.1.83 MITM captures, fix multiple
request fingerprint discrepancies between our proxy and the real CLI:

Headers:
- Fix Accept-Encoding to "br, gzip, deflate" (was "gzip, deflate, br, zstd")
- Fix X-Stainless-Runtime-Version to "v23.7.0" in session init requests
- Reorder claudeHeaderOrder to match real Bun/Stainless SDK wire order

Body:
- Force temperature:1 on all main conversation requests
- Always inject agent block ("You are Claude Code...") in system array
  for both strict and non-strict modes
- Fix billing header build hash to .be2 for title generation

Session init:
- Re-enable quota check (fireQuotaCheck) in first parallel wave
- Re-enable title generation (fireTitleGeneration) in second wave
- Add second mcp_servers call matching real CLI timing
- Replace fireVersionCheck (wrong GCS URL) with firePluginVersionCheck
  using correct downloads.claude.ai URL
- Fix session init Stainless headers to match capture exactly

Tests:
- Rewrite claude_headers_fidelity_test.go as capture-based tests
  referencing specific MITM capture sequence numbers (router-for-me#1-router-for-me#11)
- Fix opus-4-6 context-1m beta expectation (real CLI always includes it)
- Update model names from claude-3-5-haiku to claude-haiku-4-5-20251001
- Skip TestClaudeExecutor_CountTokens_AppliesCacheControlGuards
  (enforceCacheControlLimit is disabled)
zhchang referenced this pull request in zhchang/CLIProxyAPI Apr 13, 2026
…atible providers

Fix three critical bugs preventing parameter filtering from working correctly with OpenAI-compatible providers like Grok and DeepSeek:

## Bug #1: Executor ordering - ApplyThinking re-adds filtered parameters
- Move ApplyPayloadConfigWithRoot() to run AFTER ApplyThinking() in openai_compat_executor
- Ensures filter has final authority over parameters sent to upstream provider
- Fixes: reasoning_effort re-injected after filter removes it for suffix models (e.g., grok-3(medium))

## Bug router-for-me#2: Protocol mismatch - Responses API not recognized by filter rules
- Normalize "openai-response" protocol to "openai" in payloadModelRulesMatch()
- Filter rules with protocol: "openai" now match both Chat Completions and Responses API
- Fixes: Silent filter failures for Responses API requests

## Bug router-for-me#3: Case-sensitive model matching
- Make matchModelPattern() case-insensitive by lowercasing both pattern and model
- Pattern "grok-*" now correctly matches "Grok-3", "GROK-3", etc.
- Improves robustness for real-world model name variations

## Testing
- Added 19 comprehensive unit tests in payload_helpers_test.go
- Added 9 QA reproduction tests in test/reasoning_effort_filter_test.go
- All tests passing (28/28), zero regressions
- Verified end-to-end with real provider scenarios

## Documentation
- Added FILTER_ARCHITECTURE.md documenting filter system design
- Provides reference for future maintenance and extensibility

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Apache-0201 pushed a commit to Apache-0201/CLIProxyAPI that referenced this pull request Apr 14, 2026
…uter-for-me#1)

applyClaudeToolPrefix, stripClaudeToolPrefixFromResponse, and
stripClaudeToolPrefixFromStreamLine now handle "tool_reference" blocks
(field "tool_name") in addition to "tool_use" blocks (field "name").

Without this fix, tool_reference blocks in conversation history retain
their original unprefixed names while tool definitions carry the proxy_
prefix, causing Anthropic API 400 errors: "Tool reference 'X' not found
in available tools."

Co-authored-by: Kirill Turanskiy <kt@novamedia.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants