You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenRouter as a first-class LLM provider β access hundreds of models through a single API key
Protocol toggle β switch between OpenAI-compatible and Anthropic-compatible endpoints per model
Smart model catalog β fetches and filters OpenRouter's /models to only show tool-capable models with real context windows (strips embedding, image-only, and preview entries)
ClaudeService integration β Anthropic-compatible OpenRouter models route through ClaudeService with proper Bearer auth (sk-or- key detection) and tool forwarding
Full UI support β settings panel, model picker, fallback chain, and tab configuration all wired up
π‘οΈ Error Handling & Reliability
Stop infinite-loop on misdetected context overflow β narrowed detection to require "exceed/too long/too many" alongside keywords; plain max_tokens in unrelated parameter errors no longer triggers aggressive pruning
Short-circuit OpenRouter free-tier 429s β detects shared free-tier rate limits and bails immediately instead of churning through futile retries
Prune loop cap β if pruning messages doesn't actually shrink history, stops retrying (max 3 consecutive prune attempts)
βοΈ Code Editing Guardrails
Duplicate edit rejection β code-level detection blocks the exact same (file, old_string) pair on consecutive turns, preventing stuck loops
Edit cycle detection β tracks files edited across recent turns and nudges when the same 2β3 files keep alternating without progress
Stuck threshold lowered β nudge at 2 failures (was 3), give-up at 4β6 failures (was 6)
Edit size safety β refuses edits with old_string over 50 lines; requires minimum 10 chars for replace_all
Source verification for diff_apply β validates that the provided source parameter matches actual file content at the specified lines, preventing silent corruption from stale line numbers
Truncation warning on write_file β warns when new content is less than 50% of the original file size
Post-edit diagnostic gating β swiftc -parse checks only run after 2+ consecutive edit failures, avoiding noisy false positives
π System Prompt Improvements
Commitment Rule β new hard contract: claiming "I found the problem" MUST be followed by an edit tool call, not another read. Repeated certainty claims without shipping edits are flagged as a failure mode
Anti-hallucination reinforcement β stronger guidance against fabricating findings from incomplete reads