SDK messages now tell you exactly why fast mode was unavailable for a request.
What's wrong with this entry?
An optional fast_mode_disabled_reason field now travels on SDK init and result messages, so a client can tell why a request could not use fast mode rather than guessing.
- Added to the init message and to both the success and error result message schemas.
- Populated on every result path, including
"tool_deferred_unavailable","budget_exhausted"and"turn_setup_failed". - Enum values:
free,preference,extra_usage_disabled,network_error,unknown,not_first_party,disabled_by_env,model_not_allowed,sdk_opt_in_required,pending. - A companion Set of the first five values normalizes server-supplied reasons: unrecognized values map to
unknown, null maps topreference. - The field is absent when nothing blocks fast mode; a request may still choose standard speed.
Why fast mode can't serve right now. Absent when nothing blocks it (a request may still choose standard speed).
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.221
Fast mode credit rejections show a notification instead of silently turning fast mode off
Both mention fast mode
-
v2.1.221
Fast mode no longer offered on Opus 4.7
Both mention fast mode