---
url: /plugins/plugin-fetch/recipes/point-at-an-env-driven-host.md
description: >-
  Read the API host from an environment variable at runtime by setting baseURL
  with @kubb/plugin-fetch.
---

# Point at an env-driven host

Set [`baseURL`](/plugins/plugin-fetch/reference/options#baseurl) to a value with a `${...}` interpolation, which Kubb emits as a template literal in the generated client config so it reads the environment variable at runtime.

```typescript [kubb.config.ts]
import { defineConfig } from 'kubb/config'
import { pluginTs } from '@kubb/plugin-ts'
import { pluginFetch } from '@kubb/plugin-fetch'

export default defineConfig({
  input: './petStore.yaml',
  output: { path: './src/gen', clean: true },
  plugins: [
    pluginTs(),
    pluginFetch({
      baseURL: '${process.env.API_URL}',
    }),
  ],
})
```

## Output example

The template literal above reads `process.env.API_URL` at runtime rather than substituting it at build time:

```typescript [usage.ts]
import { getPetById } from './src/gen/clients/getPetById'

const { data } = await getPetById({ path: { petId: 1 } })
```
