Canonical timeout values for the SDK.
Every timeout in the codebase reads from this module. Runtime overrides via Application config:
config :claude_agent_sdk, ClaudeAgentSDK.Config.Timeouts,
client_init_ms: 90_000Or at runtime:
Application.put_env(
:claude_agent_sdk,
ClaudeAgentSDK.Config.Timeouts,
client_init_ms: 90_000
)
Summary
Functions
CLI auth test command timeout (default: 30 s).
CLI version check command timeout (default: 10 s).
ensure_authenticated GenServer.call timeout (default: 30 s).
Minimum delay before scheduling a refresh (default: 1 min).
Schedule refresh this far before expiry (default: 1 day).
Retry interval on token refresh failure (default: 1 h).
Token refresh GenServer.call timeout (default: 2 min).
OAuth setup_token GenServer.call timeout (default: 2 min).
Client close grace period (default: 2 s).
Control protocol request timeout (default: 60 s).
Wait for CLI exit status before force-close (default: 200 ms).
Hook callback execution timeout (default: 60 s).
Client initialization timeout (default: 60 s).
Permission callback Task.yield timeout (default: 60 s).
Client graceful stop timeout (default: 5 s).
Minimum hook timeout floor (default: 1 s).
Milliseconds in one hour (conversion constant).
Initial exponential backoff for retries (default: 1 s).
Parallel query per-task timeout (default: 5 min).
Total query timeout (default: 75 min).
Seconds per day (conversion constant).
Session cleanup check interval (default: 24 h).
Stream receive liveness probe interval (default: 30 s).
Streaming session default timeout (default: 5 min).
Tool execution timeout (default: 30 s).
Safe GenServer.call timeout for transport (default: 5 s).
Transport close grace period (default: 2 s).
Process finalization delay (default: 25 ms).
Force-close transport timeout (default: 500 ms).
Headless mode timeout (default: 5 s).
Functions
@spec auth_cli_test_ms() :: pos_integer()
CLI auth test command timeout (default: 30 s).
@spec auth_cli_version_ms() :: pos_integer()
CLI version check command timeout (default: 10 s).
@spec auth_ensure_ms() :: pos_integer()
ensure_authenticated GenServer.call timeout (default: 30 s).
@spec auth_min_refresh_delay_ms() :: pos_integer()
Minimum delay before scheduling a refresh (default: 1 min).
@spec auth_refresh_before_expiry_ms() :: pos_integer()
Schedule refresh this far before expiry (default: 1 day).
@spec auth_refresh_retry_ms() :: pos_integer()
Retry interval on token refresh failure (default: 1 h).
@spec auth_refresh_token_ms() :: pos_integer()
Token refresh GenServer.call timeout (default: 2 min).
@spec auth_setup_token_ms() :: pos_integer()
OAuth setup_token GenServer.call timeout (default: 2 min).
@spec client_close_grace_ms() :: pos_integer()
Client close grace period (default: 2 s).
@spec client_control_request_ms() :: pos_integer()
Control protocol request timeout (default: 60 s).
@spec client_exit_wait_ms() :: pos_integer()
Wait for CLI exit status before force-close (default: 200 ms).
@spec client_hook_ms() :: pos_integer()
Hook callback execution timeout (default: 60 s).
@spec client_init_ms() :: pos_integer()
Client initialization timeout (default: 60 s).
@spec client_permission_yield_ms() :: pos_integer()
Permission callback Task.yield timeout (default: 60 s).
@spec client_stop_ms() :: pos_integer()
Client graceful stop timeout (default: 5 s).
@spec hook_min_ms() :: pos_integer()
Minimum hook timeout floor (default: 1 s).
@spec ms_per_hour() :: pos_integer()
Milliseconds in one hour (conversion constant).
@spec orchestrator_backoff_ms() :: pos_integer()
Initial exponential backoff for retries (default: 1 s).
@spec query_parallel_ms() :: pos_integer()
Parallel query per-task timeout (default: 5 min).
@spec query_total_ms() :: pos_integer()
Total query timeout (default: 75 min).
@spec seconds_per_day() :: pos_integer()
Seconds per day (conversion constant).
@spec session_cleanup_interval_ms() :: pos_integer()
Session cleanup check interval (default: 24 h).
@spec stream_receive_ms() :: pos_integer()
Stream receive liveness probe interval (default: 30 s).
@spec streaming_session_ms() :: pos_integer()
Streaming session default timeout (default: 5 min).
@spec tool_execution_ms() :: pos_integer()
Tool execution timeout (default: 30 s).
@spec transport_call_ms() :: pos_integer()
Safe GenServer.call timeout for transport (default: 5 s).
@spec transport_close_grace_ms() :: pos_integer()
Transport close grace period (default: 2 s).
@spec transport_finalize_ms() :: non_neg_integer()
Process finalization delay (default: 25 ms).
@spec transport_force_close_ms() :: pos_integer()
Force-close transport timeout (default: 500 ms).
@spec transport_headless_ms() :: pos_integer()
Headless mode timeout (default: 5 s).