Skip to content

v3.11.0 β€” Cross-provider failover

Choose a tag to compare

@eniz1806 eniz1806 released this 06 Jun 17:11

Your turn finishes even when a provider doesn't.

Added

  • Automatic cross-provider failover (on by default). When an API call fails hard β€” provider down, rate-limited (429), 5xx, timeout, or bad key (401) β€” Kodiqa transparently retries the same request on the next configured provider (rebuilding the messages in its format) and continues the turn there. It notifies loudly when it switches (⚠ Failing over to <model>) and never fails over on a user interrupt.
  • /failover β€” on / off, auto (use every provider with a key), or an explicit order: /failover claude deepseek qwen.

Single-provider users are unaffected (nothing to fail over to). No competitor has this.

Tests

  • test_failover.py β€” candidate selection, the failover logic (switch on failure, stay on success, never on interrupt, respect the off switch), and the /failover command. 419 total; ruff + CI green.