ClaudeAgentSDK.Config.Timeouts (claude_agent_sdk v0.15.0)

Copy Markdown View Source

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_000

Or 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

auth_cli_test_ms()

@spec auth_cli_test_ms() :: pos_integer()

CLI auth test command timeout (default: 30 s).

auth_cli_version_ms()

@spec auth_cli_version_ms() :: pos_integer()

CLI version check command timeout (default: 10 s).

auth_ensure_ms()

@spec auth_ensure_ms() :: pos_integer()

ensure_authenticated GenServer.call timeout (default: 30 s).

auth_min_refresh_delay_ms()

@spec auth_min_refresh_delay_ms() :: pos_integer()

Minimum delay before scheduling a refresh (default: 1 min).

auth_refresh_before_expiry_ms()

@spec auth_refresh_before_expiry_ms() :: pos_integer()

Schedule refresh this far before expiry (default: 1 day).

auth_refresh_retry_ms()

@spec auth_refresh_retry_ms() :: pos_integer()

Retry interval on token refresh failure (default: 1 h).

auth_refresh_token_ms()

@spec auth_refresh_token_ms() :: pos_integer()

Token refresh GenServer.call timeout (default: 2 min).

auth_setup_token_ms()

@spec auth_setup_token_ms() :: pos_integer()

OAuth setup_token GenServer.call timeout (default: 2 min).

client_close_grace_ms()

@spec client_close_grace_ms() :: pos_integer()

Client close grace period (default: 2 s).

client_control_request_ms()

@spec client_control_request_ms() :: pos_integer()

Control protocol request timeout (default: 60 s).

client_exit_wait_ms()

@spec client_exit_wait_ms() :: pos_integer()

Wait for CLI exit status before force-close (default: 200 ms).

client_hook_ms()

@spec client_hook_ms() :: pos_integer()

Hook callback execution timeout (default: 60 s).

client_init_ms()

@spec client_init_ms() :: pos_integer()

Client initialization timeout (default: 60 s).

client_permission_yield_ms()

@spec client_permission_yield_ms() :: pos_integer()

Permission callback Task.yield timeout (default: 60 s).

client_stop_ms()

@spec client_stop_ms() :: pos_integer()

Client graceful stop timeout (default: 5 s).

hook_min_ms()

@spec hook_min_ms() :: pos_integer()

Minimum hook timeout floor (default: 1 s).

ms_per_hour()

@spec ms_per_hour() :: pos_integer()

Milliseconds in one hour (conversion constant).

orchestrator_backoff_ms()

@spec orchestrator_backoff_ms() :: pos_integer()

Initial exponential backoff for retries (default: 1 s).

query_parallel_ms()

@spec query_parallel_ms() :: pos_integer()

Parallel query per-task timeout (default: 5 min).

query_total_ms()

@spec query_total_ms() :: pos_integer()

Total query timeout (default: 75 min).

seconds_per_day()

@spec seconds_per_day() :: pos_integer()

Seconds per day (conversion constant).

session_cleanup_interval_ms()

@spec session_cleanup_interval_ms() :: pos_integer()

Session cleanup check interval (default: 24 h).

stream_receive_ms()

@spec stream_receive_ms() :: pos_integer()

Stream receive liveness probe interval (default: 30 s).

streaming_session_ms()

@spec streaming_session_ms() :: pos_integer()

Streaming session default timeout (default: 5 min).

tool_execution_ms()

@spec tool_execution_ms() :: pos_integer()

Tool execution timeout (default: 30 s).

transport_call_ms()

@spec transport_call_ms() :: pos_integer()

Safe GenServer.call timeout for transport (default: 5 s).

transport_close_grace_ms()

@spec transport_close_grace_ms() :: pos_integer()

Transport close grace period (default: 2 s).

transport_finalize_ms()

@spec transport_finalize_ms() :: non_neg_integer()

Process finalization delay (default: 25 ms).

transport_force_close_ms()

@spec transport_force_close_ms() :: pos_integer()

Force-close transport timeout (default: 500 ms).

transport_headless_ms()

@spec transport_headless_ms() :: pos_integer()

Headless mode timeout (default: 5 s).