Problem
Provider health checks use a short prompt and a 30-second timeout, but the probe is initialized like a full agent session. Thinking-enabled models can spend the timeout on reasoning and tool context instead of returning the health-check response.
A working provider was reported unhealthy after 30.13 seconds even though regular requests succeeded. Disabling thinking alone was insufficient because the probe still advertised 10 agent tools.
Expected behavior
A health check should test provider reachability and basic generation without advertising agent tools or enabling thinking.
Proposed fix
Build the health-check engine with thinking disabled and an empty tool policy. Keep this configuration scoped to probes so normal conversations remain unchanged.
Validation
With both changes applied, the same live probe completed successfully in 18.77 seconds within the existing timeout. Advertised tools dropped from 10 to 0 and input tokens dropped from approximately 2,850 to 449.
Targeted tests, formatting, clippy, diff checks, the debug build, and the full workspace pre-push gate pass.
Problem
Provider health checks use a short prompt and a 30-second timeout, but the probe is initialized like a full agent session. Thinking-enabled models can spend the timeout on reasoning and tool context instead of returning the health-check response.
A working provider was reported unhealthy after 30.13 seconds even though regular requests succeeded. Disabling thinking alone was insufficient because the probe still advertised 10 agent tools.
Expected behavior
A health check should test provider reachability and basic generation without advertising agent tools or enabling thinking.
Proposed fix
Build the health-check engine with thinking disabled and an empty tool policy. Keep this configuration scoped to probes so normal conversations remain unchanged.
Validation
With both changes applied, the same live probe completed successfully in 18.77 seconds within the existing timeout. Advertised tools dropped from 10 to 0 and input tokens dropped from approximately 2,850 to 449.
Targeted tests, formatting, clippy, diff checks, the debug build, and the full workspace pre-push gate pass.