# Function createClientWithDriver

- createClientWithDriver<A extends Registry<any>>(
  driver: ManagerDriver,
  config: {
  disableMetadataLookup: boolean;
  encoding: "json" | "cbor" | "bare";
  endpoint?: string;
  getUpgradeWebSocket?: GetUpgradeWebSocket;
  headers: Record<string, string>;
  namespace: string;
  runnerName: string;
  token?: string;
  },
  ): Client<A>

  #### Type Parameters

  - A extends Registry<any>

  #### Parameters

  - driver: ManagerDriver
  - config: {
    disableMetadataLookup: boolean;
    encoding: "json" | "cbor" | "bare";
    endpoint?: string;
    getUpgradeWebSocket?: GetUpgradeWebSocket;
    headers: Record<string, string>;
    namespace: string;
    runnerName: string;
    token?: string;
    }

    - ##### disableMetadataLookup: boolean

      Whether to automatically perform health checks when the client is created.

    - ##### encoding: "json" | "cbor" | "bare"

    - ##### `Optional` endpoint?: string

      Endpoint to connect to for Rivet Engine or RivetKit manager API.

    - ##### `Optional` getUpgradeWebSocket?: GetUpgradeWebSocket

    - ##### headers: Record<string, string>

    - ##### namespace: string

      Namespace to connect to.

    - ##### runnerName: string

      Name of the runner. This is used to group together runners in to different pools.

    - ##### `Optional` token?: string

      Token to use to authenticate with the API.

  #### Returns Client<A>

  - Defined in rivetkit-typescript/packages/rivetkit/src/client/client.ts:403