# tinker.types.ClientConfigResponse

## _class_ [**tinker.types.ClientConfigResponse**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L8)( _[BaseModel](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/_models.py#L88)_)

Server-side feature flags resolved for this caller.

Uses BaseModel (extra="ignore") so new flags from the server are silently dropped until the SDK adds fields for them.

**Fields:**

- [**pjwt_auth_enabled**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L15) ( _bool_)
- [**credential_default_source**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L16) ( _str_)
- [**sample_dispatch_bytes_semaphore_size**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L17) ( _int_)
- [**inflight_response_bytes_semaphore_size**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L18) ( _int_)
- [**parallel_fwdbwd_chunks**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L19) ( _bool_)
- [**proto_write_fwdbwd**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L20) ( _bool_) – When true, the SDK serializes ForwardBackwardRequest as proto bytes and POSTs with Content-Type: application/x-protobuf. Falls back to JSON when false (default) or when the request can't be encoded in proto.
- [**proto_compress_fwdbwd**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L24) ( _bool_) – When true (and proto_write_fwdbwd is also true), the SDK zstd-compresses the proto fwd/bwd request body and sets Content-Encoding: zstd. Real fwd/bwd payloads compress >10× — the API server decompresses transparently via an ASGI middleware. Ignored on the JSON path.
- [**fwd_via_fwdbwd**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L29) ( _bool_) – When true (and proto_write_fwdbwd is also true), TrainingClient.forward() routes through /api/v1/forward_backward with forward_only=True on the proto instead of /api/v1/forward. Ignored when proto_write_fwdbwd is false (the JSON /forward path remains).
- [**billing_exception_max_pause_duration_sec**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L34) ( _int_)
- [**sample_no_retries**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L35) ( _bool_)
- [**sample_enable_stuck_detection**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L36) ( _bool_) – When true, the SDK runs the retry handler's progress timeout check that raises `APIConnectionError("...Requests appear to be stuck.")` when no progress is made within `RetryConfig.progress_timeout`.
- [**sample_max_concurrent_requests**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L40) ( _int_) – Maximum number of in-flight sampling requests a SamplingClient will allow (the size of its retry handler's semaphore). Always applied as the sampling `RetryConfig.max_connections`, overriding any value in a caller-provided `retry_config`.
- [**use_pyqwest_transport**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/client_config_response.py#L45) ( _bool_) – When true, the SDK builds its default httpx async client on top of the pyqwest (reqwest/hyper-based) transport adapter. Set to false server-side to force every client to fall back to httpx's default transport.
