> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tai42.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Settings reference

> Every environment variable the tai server reads, grouped by settings group.

<Note>
  Generated from `tai config settings-schema` — do not edit by hand; regenerate
  with `scripts/generate-settings-reference.py`.
</Note>

Every registered settings group and the environment variables it reads — 194 variables across 40 groups. Each row lists the variable, its type, its default, and whether it is required. Values shown are code-level defaults; a running server resolves each variable from the environment, then any stored override, then this default.

## AccessControlRedisSettings

Module `tai42_skeleton.access_control.settings`.

| Env var                                 | Type      | Default                      | Required | Description |
| --------------------------------------- | --------- | ---------------------------- | -------- | ----------- |
| `ACCESS_CONTROL_REDIS_URL`              | `string`  | `"redis://localhost:6379/0"` | Optional | —           |
| `ACCESS_CONTROL_REDIS_MAX_CONNECTIONS`  | `integer` | `10`                         | Optional | —           |
| `ACCESS_CONTROL_DECODE_RESPONSES`       | `boolean` | `true`                       | Optional | —           |
| `ACCESS_CONTROL_SOCKET_TIMEOUT`         | `number`  | `5`                          | Optional | —           |
| `ACCESS_CONTROL_SOCKET_CONNECT_TIMEOUT` | `number`  | `5`                          | Optional | —           |
| `ACCESS_CONTROL_RETRY_ON_TIMEOUT`       | `boolean` | `true`                       | Optional | —           |
| `ACCESS_CONTROL_RETRY_ATTEMPTS`         | `integer` | `0`                          | Optional | —           |

## AccessControlSettings

Module `tai42_skeleton.access_control.settings`.

| Env var                                             | Type      | Default               | Required | Description                                                                       |
| --------------------------------------------------- | --------- | --------------------- | -------- | --------------------------------------------------------------------------------- |
| `ACCESS_CONTROL_ENABLE`                             | `boolean` | `true`                | Optional | —                                                                                 |
| `ACCESS_CONTROL_AUTH_PROVIDERS`                     | `array`   | `["redis"]`           | Optional | —                                                                                 |
| `ACCESS_CONTROL_ADMIN`                              | `string`  | —                     | Optional | —                                                                                 |
| —                                                   | `object`  | —                     | Optional | Grouped settings — see [AccessControlRedisSettings](#accesscontrolredissettings). |
| `ACCESS_CONTROL_CACHE_SIZE`                         | `integer` | `5000`                | Optional | —                                                                                 |
| `ACCESS_CONTROL_CACHE_TTL_SECONDS`                  | `integer` | `60`                  | Optional | —                                                                                 |
| `ACCESS_CONTROL_KEY_PREFIX`                         | `string`  | `"ac:key:"`           | Optional | —                                                                                 |
| `ACCESS_CONTROL_CONTEXT_PREFIX`                     | `string`  | `"ac:context:"`       | Optional | —                                                                                 |
| `ACCESS_CONTROL_CLAIM_PREFIX`                       | `string`  | `"ac:claim:"`         | Optional | —                                                                                 |
| `ACCESS_CONTROL_CLAIM_LINK_TTL_SECONDS`             | `integer` | `600`                 | Optional | —                                                                                 |
| `ACCESS_CONTROL_CLAIM_LINK_MAX_TTL_SECONDS`         | `integer` | `3600`                | Optional | —                                                                                 |
| `ACCESS_CONTROL_POLICY_VERSION_KEY`                 | `string`  | `"ac:policy_version"` | Optional | —                                                                                 |
| `ACCESS_CONTROL_PUBLIC_RESOURCE_ID`                 | `string`  | `"public"`            | Optional | —                                                                                 |
| `ACCESS_CONTROL_RESERVED_PUBLIC_PIN_PREFIXES`       | `array`   | `["/api/auth"]`       | Optional | —                                                                                 |
| `ACCESS_CONTROL_ALWAYS_PUBLIC_PATH_PREFIXES`        | `array`   | `["/api/login"]`      | Optional | —                                                                                 |
| `ACCESS_CONTROL_AUTHENTICATED_ALWAYS_ALLOWED_PATHS` | `array`   | `["/api/auth/me"]`    | Optional | —                                                                                 |
| `ACCESS_CONTROL_PATH_PATTERNS`                      | `object`  | `{}`                  | Optional | —                                                                                 |
| `ACCESS_CONTROL_COMPILED_PATTERNS`                  | `array`   | `[]`                  | Optional | —                                                                                 |

## AccessControlStorePgSettings

Module `tai42_skeleton.access_control.store_settings`.

| Env var                                             | Type      | Default       | Required | Description |
| --------------------------------------------------- | --------- | ------------- | -------- | ----------- |
| `ACCESS_CONTROL_STORE_PG_HOST`                      | `string`  | `"localhost"` | Optional | —           |
| `ACCESS_CONTROL_STORE_PG_PORT`                      | `integer` | `5432`        | Optional | —           |
| `ACCESS_CONTROL_STORE_PG_DB`                        | `string`  | `"tai"`       | Optional | —           |
| `ACCESS_CONTROL_STORE_PG_USER`                      | `string`  | `"postgres"`  | Optional | —           |
| `ACCESS_CONTROL_STORE_PG_PASSWORD`                  | `string`  | —             | Optional | Secret.     |
| `ACCESS_CONTROL_STORE_PG_MIN_CONNECTIONS`           | `integer` | `2`           | Optional | —           |
| `ACCESS_CONTROL_STORE_PG_MAX_CONNECTIONS`           | `integer` | `10`          | Optional | —           |
| `ACCESS_CONTROL_STORE_PG_CONNECT_TIMEOUT`           | `integer` | `10`          | Optional | —           |
| `ACCESS_CONTROL_STORE_PG_STATEMENT_TIMEOUT_SECONDS` | `number`  | `60`          | Optional | —           |

## AppArgsSettings

Module `tai42_skeleton.settings.settings`.

| Env var                              | Type      | Default       | Required | Description |
| ------------------------------------ | --------- | ------------- | -------- | ----------- |
| `APP_ARGS_TRANSPORT`                 | `string`  | `"http"`      | Optional | —           |
| `APP_ARGS_HOST`                      | `string`  | `"127.0.0.1"` | Optional | —           |
| `APP_ARGS_PORT`                      | `integer` | `8000`        | Optional | —           |
| `APP_ARGS_UDS`                       | `string`  | —             | Optional | —           |
| `APP_ARGS_TIMEOUT_GRACEFUL_SHUTDOWN` | `integer` | `10`          | Optional | —           |

## BodyLimitSettings

Module `tai42_skeleton.settings.body_limit`.

| Env var                         | Type      | Default    | Required | Description |
| ------------------------------- | --------- | ---------- | -------- | ----------- |
| `TAI_BODY_LIMIT_MAX_BODY_BYTES` | `integer` | `10485760` | Optional | —           |

## BusRedisSettings

Module `tai42_skeleton.app.bus_settings`.

| Env var                          | Type      | Default | Required | Description |
| -------------------------------- | --------- | ------- | -------- | ----------- |
| `TAI_BUS_REDIS_URL`              | `string`  | —       | Optional | —           |
| `TAI_BUS_REDIS_MAX_CONNECTIONS`  | `integer` | —       | Optional | —           |
| `TAI_BUS_DECODE_RESPONSES`       | `boolean` | `true`  | Optional | —           |
| `TAI_BUS_SOCKET_TIMEOUT`         | `number`  | —       | Optional | —           |
| `TAI_BUS_SOCKET_CONNECT_TIMEOUT` | `number`  | —       | Optional | —           |
| `TAI_BUS_RETRY_ON_TIMEOUT`       | `boolean` | `false` | Optional | —           |
| `TAI_BUS_RETRY_ATTEMPTS`         | `integer` | `0`     | Optional | —           |

## BusSettings

Module `tai42_skeleton.app.bus_settings`.

| Env var                 | Type     | Default | Required | Description                                                   |
| ----------------------- | -------- | ------- | -------- | ------------------------------------------------------------- |
| —                       | `object` | —       | Optional | Grouped settings — see [BusRedisSettings](#busredissettings). |
| `TAI_BUS_NAMESPACE`     | `string` | `"tai"` | Optional | —                                                             |
| `TAI_BUS_ACK_TIMEOUT`   | `number` | `2.0`   | Optional | —                                                             |
| `TAI_BUS_APPLY_TIMEOUT` | `number` | `30.0`  | Optional | —                                                             |
| `TAI_BUS_HEARTBEAT_TTL` | `number` | `15.0`  | Optional | —                                                             |

## ConfigModeSettings

Module `tai42_skeleton.config.config_mode`.

| Env var           | Type     | Default  | Required | Description |
| ----------------- | -------- | -------- | -------- | ----------- |
| `TAI_CONFIG_MODE` | `string` | `"file"` | Optional | —           |

## ConnectorAdapterSettings

Module `tai42_skeleton.connectors.settings`.

| Env var                     | Type     | Default                  | Required | Description |
| --------------------------- | -------- | ------------------------ | -------- | ----------- |
| `CONNECTORS_META_TOKEN_KEY` | `string` | `"tai_hub.access_token"` | Optional | —           |
| `CONNECTORS_ERROR_PREFIX`   | `string` | `"tai-hub-err:"`         | Optional | —           |

## ConnectorCryptoSecrets

Module `tai42_skeleton.connectors.settings`.

| Env var                     | Type     | Default | Required | Description |
| --------------------------- | -------- | ------- | -------- | ----------- |
| `CONNECTORS_KEK`            | `string` | —       | Optional | Secret.     |
| `CONNECTORS_KEK_PREVIOUS`   | `string` | —       | Optional | Secret.     |
| `CONNECTORS_STATE_HMAC_KEY` | `string` | —       | Optional | Secret.     |

## ConnectorEngineConfig

Module `tai42_skeleton.connectors.settings`.

| Env var                             | Type     | Default | Required | Description |
| ----------------------------------- | -------- | ------- | -------- | ----------- |
| `CONNECTORS_MAX_SESSION_TTL`        | `string` | —       | Optional | —           |
| `CONNECTORS_REDIRECT_URI_ALLOWLIST` | `string` | `""`    | Optional | —           |
| `CONNECTORS_OAUTH_BRIDGE_URL`       | `string` | —       | Optional | —           |

## ConnectorStorePgSettings

Module `tai42_skeleton.connectors.settings`.

| Env var                                        | Type      | Default       | Required | Description |
| ---------------------------------------------- | --------- | ------------- | -------- | ----------- |
| `CONNECTOR_STORE_PG_HOST`                      | `string`  | `"localhost"` | Optional | —           |
| `CONNECTOR_STORE_PG_PORT`                      | `integer` | `5432`        | Optional | —           |
| `CONNECTOR_STORE_PG_DB`                        | `string`  | `"tai"`       | Optional | —           |
| `CONNECTOR_STORE_PG_USER`                      | `string`  | `"postgres"`  | Optional | —           |
| `CONNECTOR_STORE_PG_PASSWORD`                  | `string`  | —             | Optional | Secret.     |
| `CONNECTOR_STORE_PG_MIN_CONNECTIONS`           | `integer` | `2`           | Optional | —           |
| `CONNECTOR_STORE_PG_MAX_CONNECTIONS`           | `integer` | `10`          | Optional | —           |
| `CONNECTOR_STORE_PG_CONNECT_TIMEOUT`           | `integer` | `10`          | Optional | —           |
| `CONNECTOR_STORE_PG_STATEMENT_TIMEOUT_SECONDS` | `number`  | `60`          | Optional | —           |

## ConnectorStoreRedisSettings

Module `tai42_skeleton.connectors.settings`.

| Env var                                  | Type      | Default                      | Required | Description |
| ---------------------------------------- | --------- | ---------------------------- | -------- | ----------- |
| `CONNECTOR_STORE_REDIS_URL`              | `string`  | `"redis://localhost:6379/0"` | Optional | —           |
| `CONNECTOR_STORE_REDIS_MAX_CONNECTIONS`  | `integer` | `10`                         | Optional | —           |
| `CONNECTOR_STORE_DECODE_RESPONSES`       | `boolean` | `false`                      | Optional | —           |
| `CONNECTOR_STORE_SOCKET_TIMEOUT`         | `number`  | `5`                          | Optional | —           |
| `CONNECTOR_STORE_SOCKET_CONNECT_TIMEOUT` | `number`  | `5`                          | Optional | —           |
| `CONNECTOR_STORE_RETRY_ON_TIMEOUT`       | `boolean` | `false`                      | Optional | —           |
| `CONNECTOR_STORE_RETRY_ATTEMPTS`         | `integer` | `0`                          | Optional | —           |

## ConnectorStoreSettings

Module `tai42_skeleton.connectors.settings`.

| Env var                      | Type     | Default         | Required | Description                                                                         |
| ---------------------------- | -------- | --------------- | -------- | ----------------------------------------------------------------------------------- |
| —                            | `object` | —               | Optional | Grouped settings — see [ConnectorStoreRedisSettings](#connectorstoreredissettings). |
| —                            | `object` | —               | Optional | Grouped settings — see [ConnectorStorePgSettings](#connectorstorepgsettings).       |
| `CONNECTOR_STORE_KEY_PREFIX` | `string` | `"connectors:"` | Optional | —                                                                                   |

## CoreSettings

Module `tai42_skeleton.settings.settings`.

| Env var                               | Type     | Default | Required | Description |
| ------------------------------------- | -------- | ------- | -------- | ----------- |
| `TAI_MANIFEST_PATH`                   | `string` | —       | Optional | —           |
| `TAI_MCP_BACKEND`                     | `string` | —       | Optional | —           |
| `TAI_MCP_TEMPLATE`                    | `string` | —       | Optional | —           |
| `TAI_MCP_MCP_PROBE_TIMEOUT`           | `number` | `15.0`  | Optional | —           |
| `TAI_MCP_MCP_REPROBE_INITIAL_SECONDS` | `number` | `30.0`  | Optional | —           |
| `TAI_MCP_MCP_REPROBE_MAX_SECONDS`     | `number` | `600.0` | Optional | —           |

## EnvSecretMarksSettings

Module `tai42_skeleton.settings.env_secret_marks`.

| Env var               | Type    | Default | Required | Description |
| --------------------- | ------- | ------- | -------- | ----------- |
| `TAI_ENV_SECRET_KEYS` | `array` | `[]`    | Optional | —           |

## FileLoadingSettings

Module `tai42_skeleton.template.settings`.

| Env var                  | Type      | Default    | Required | Description |
| ------------------------ | --------- | ---------- | -------- | ----------- |
| `FILE_LOADING_MAX_BYTES` | `integer` | `26214400` | Optional | —           |

## HooksRedisSettings

Module `tai42_skeleton.hooks.settings`.

| Env var                        | Type      | Default | Required | Description |
| ------------------------------ | --------- | ------- | -------- | ----------- |
| `HOOKS_REDIS_URL`              | `string`  | —       | Optional | —           |
| `HOOKS_REDIS_MAX_CONNECTIONS`  | `integer` | —       | Optional | —           |
| `HOOKS_DECODE_RESPONSES`       | `boolean` | `true`  | Optional | —           |
| `HOOKS_SOCKET_TIMEOUT`         | `number`  | `5`     | Optional | —           |
| `HOOKS_SOCKET_CONNECT_TIMEOUT` | `number`  | `5`     | Optional | —           |
| `HOOKS_RETRY_ON_TIMEOUT`       | `boolean` | `false` | Optional | —           |
| `HOOKS_RETRY_ATTEMPTS`         | `integer` | `0`     | Optional | —           |

## HooksSettings

Module `tai42_skeleton.hooks.settings`.

| Env var             | Type      | Default   | Required | Description                                                       |
| ------------------- | --------- | --------- | -------- | ----------------------------------------------------------------- |
| —                   | `object`  | —         | Optional | Grouped settings — see [HooksRedisSettings](#hooksredissettings). |
| `HOOKS_MAX_WORKERS` | `integer` | `10`      | Optional | —                                                                 |
| `HOOKS_PREFIX`      | `string`  | `"hooks"` | Optional | —                                                                 |

## InteractionsRedisSettings

Module `tai42_skeleton.interactions.settings`.

| Env var                               | Type      | Default                      | Required | Description |
| ------------------------------------- | --------- | ---------------------------- | -------- | ----------- |
| `INTERACTIONS_REDIS_URL`              | `string`  | `"redis://localhost:6379/0"` | Optional | —           |
| `INTERACTIONS_REDIS_MAX_CONNECTIONS`  | `integer` | `10`                         | Optional | —           |
| `INTERACTIONS_DECODE_RESPONSES`       | `boolean` | `true`                       | Optional | —           |
| `INTERACTIONS_SOCKET_TIMEOUT`         | `number`  | `5`                          | Optional | —           |
| `INTERACTIONS_SOCKET_CONNECT_TIMEOUT` | `number`  | `5`                          | Optional | —           |
| `INTERACTIONS_RETRY_ON_TIMEOUT`       | `boolean` | `false`                      | Optional | —           |
| `INTERACTIONS_RETRY_ATTEMPTS`         | `integer` | `0`                          | Optional | —           |

## InteractionsSettings

Module `tai42_skeleton.interactions.settings`.

| Env var                                | Type      | Default           | Required | Description                                                                     |
| -------------------------------------- | --------- | ----------------- | -------- | ------------------------------------------------------------------------------- |
| —                                      | `object`  | —                 | Optional | Grouped settings — see [InteractionsRedisSettings](#interactionsredissettings). |
| `INTERACTIONS_KEY_PREFIX`              | `string`  | `"interactions:"` | Optional | —                                                                               |
| `INTERACTIONS_NOTIFICATIONS_FEED_MAX`  | `integer` | `1000`            | Optional | —                                                                               |
| `INTERACTIONS_ANSWER_TIMEOUT_SECONDS`  | `integer` | `3600`            | Optional | —                                                                               |
| `INTERACTIONS_IDLE_TTL_SECONDS`        | `integer` | `86400`           | Optional | —                                                                               |
| `INTERACTIONS_PUBLIC_BASE_URL`         | `string`  | —                 | Optional | —                                                                               |
| `INTERACTIONS_CALLBACK_MAX_BODY_BYTES` | `integer` | `65536`           | Optional | —                                                                               |
| `INTERACTIONS_MAX_CONCURRENT`          | `integer` | —                 | Optional | —                                                                               |
| `INTERACTIONS_BLOCKING_GRACE_SECONDS`  | `number`  | `5`               | Optional | —                                                                               |

## JqSettings

Module `tai42_kit.utils.data.jq_util`.

| Env var              | Type     | Default | Required | Description |
| -------------------- | -------- | ------- | -------- | ----------- |
| `JQ_TIMEOUT_SECONDS` | `number` | `10`    | Optional | —           |

## LoggingSettings

Module `tai42_kit.logging.settings`.

| Env var         | Type     | Default  | Required | Description |
| --------------- | -------- | -------- | -------- | ----------- |
| `TAI_LOG_LEVEL` | `string` | `"INFO"` | Optional | —           |

## MCPClientSettings

Module `tai42_kit.clients.settings`.

| Env var                              | Type     | Default | Required | Description |
| ------------------------------------ | -------- | ------- | -------- | ----------- |
| `MCP_CLIENT_CONNECT_TIMEOUT_SECONDS` | `number` | `30`    | Optional | —           |
| `MCP_CLIENT_CALL_TIMEOUT_SECONDS`    | `number` | `300`   | Optional | —           |

## MCPDispatchSettings

Module `tai42_skeleton.settings.mcp_settings`.

| Env var                        | Type      | Default | Required | Description |
| ------------------------------ | --------- | ------- | -------- | ----------- |
| `TAI_MCP_CALL_TIMEOUT_SECONDS` | `number`  | `300`   | Optional | —           |
| `TAI_MCP_SCHEMA_MAX_DEPTH`     | `integer` | `50`    | Optional | —           |

## MarketplaceSettings

Module `tai42_skeleton.marketplace.settings`.

| Env var                             | Type      | Default                          | Required | Description |
| ----------------------------------- | --------- | -------------------------------- | -------- | ----------- |
| `MARKETPLACE_URL`                   | `string`  | `"https://marketplace.tai42.ai"` | Optional | —           |
| `MARKETPLACE_ADVISORIES_POLL`       | `boolean` | `true`                           | Optional | —           |
| `MARKETPLACE_ADVISORIES_INTERVAL_S` | `integer` | `3600`                           | Optional | —           |
| `MARKETPLACE_REQUEST_TIMEOUT_S`     | `number`  | `15`                             | Optional | —           |

## MarketplaceStorePgSettings

Module `tai42_skeleton.marketplace.settings`.

| Env var                                          | Type      | Default       | Required | Description |
| ------------------------------------------------ | --------- | ------------- | -------- | ----------- |
| `MARKETPLACE_STORE_PG_HOST`                      | `string`  | `"localhost"` | Optional | —           |
| `MARKETPLACE_STORE_PG_PORT`                      | `integer` | `5432`        | Optional | —           |
| `MARKETPLACE_STORE_PG_DB`                        | `string`  | `"tai"`       | Optional | —           |
| `MARKETPLACE_STORE_PG_USER`                      | `string`  | `"postgres"`  | Optional | —           |
| `MARKETPLACE_STORE_PG_PASSWORD`                  | `string`  | —             | Optional | Secret.     |
| `MARKETPLACE_STORE_PG_MIN_CONNECTIONS`           | `integer` | `2`           | Optional | —           |
| `MARKETPLACE_STORE_PG_MAX_CONNECTIONS`           | `integer` | `10`          | Optional | —           |
| `MARKETPLACE_STORE_PG_CONNECT_TIMEOUT`           | `integer` | `10`          | Optional | —           |
| `MARKETPLACE_STORE_PG_STATEMENT_TIMEOUT_SECONDS` | `number`  | `60`          | Optional | —           |

## MetricsSettings

Module `tai42_skeleton.routers.metrics_settings`.

| Env var                    | Type      | Default                   | Required | Description |
| -------------------------- | --------- | ------------------------- | -------- | ----------- |
| `BACKEND_METRICS_HOST`     | `string`  | `"127.0.0.1"`             | Optional | —           |
| `BACKEND_METRICS_PORT`     | `integer` | `8012`                    | Optional | —           |
| `PROMETHEUS_MULTIPROC_DIR` | `string`  | `"/tmp/tai42_prometheus"` | Optional | —           |

## PluginsSettings

Module `tai42_skeleton.plugins.settings`.

| Env var            | Type     | Default | Required | Description |
| ------------------ | -------- | ------- | -------- | ----------- |
| `STUDIO_DIST_PATH` | `string` | —       | Optional | —           |

## RateLimitRedisSettings

Module `tai42_skeleton.settings.rate_limit`.

| Env var                                 | Type      | Default                      | Required | Description |
| --------------------------------------- | --------- | ---------------------------- | -------- | ----------- |
| `TAI_RATE_LIMIT_REDIS_URL`              | `string`  | `"redis://localhost:6379/0"` | Optional | —           |
| `TAI_RATE_LIMIT_REDIS_MAX_CONNECTIONS`  | `integer` | `10`                         | Optional | —           |
| `TAI_RATE_LIMIT_DECODE_RESPONSES`       | `boolean` | `true`                       | Optional | —           |
| `TAI_RATE_LIMIT_SOCKET_TIMEOUT`         | `number`  | `5`                          | Optional | —           |
| `TAI_RATE_LIMIT_SOCKET_CONNECT_TIMEOUT` | `number`  | `5`                          | Optional | —           |
| `TAI_RATE_LIMIT_RETRY_ON_TIMEOUT`       | `boolean` | `false`                      | Optional | —           |
| `TAI_RATE_LIMIT_RETRY_ATTEMPTS`         | `integer` | `0`                          | Optional | —           |

## RateLimitSettings

Module `tai42_skeleton.settings.rate_limit`.

| Env var                                        | Type      | Default        | Required | Description                                                               |
| ---------------------------------------------- | --------- | -------------- | -------- | ------------------------------------------------------------------------- |
| —                                              | `object`  | —              | Optional | Grouped settings — see [RateLimitRedisSettings](#ratelimitredissettings). |
| `TAI_RATE_LIMIT_KEY_PREFIX`                    | `string`  | `"ratelimit:"` | Optional | —                                                                         |
| `TAI_RATE_LIMIT_WEBHOOK_ENABLED`               | `boolean` | `true`         | Optional | —                                                                         |
| `TAI_RATE_LIMIT_WEBHOOK_LIMIT`                 | `integer` | `60`           | Optional | —                                                                         |
| `TAI_RATE_LIMIT_WEBHOOK_BURST`                 | `integer` | `10`           | Optional | —                                                                         |
| `TAI_RATE_LIMIT_INTERACTIONS_CALLBACK_ENABLED` | `boolean` | `true`         | Optional | —                                                                         |
| `TAI_RATE_LIMIT_INTERACTIONS_CALLBACK_LIMIT`   | `integer` | `60`           | Optional | —                                                                         |
| `TAI_RATE_LIMIT_INTERACTIONS_CALLBACK_BURST`   | `integer` | `10`           | Optional | —                                                                         |
| `TAI_RATE_LIMIT_TRUSTED_PROXIES`               | `array`   | `[]`           | Optional | —                                                                         |

## SamplingSettings

Module `tai42_skeleton.tools.sampling_settings`.

| Env var                                 | Type      | Default | Required | Description |
| --------------------------------------- | --------- | ------- | -------- | ----------- |
| `TAI_SAMPLING_MAX_TOKENS_PER_CALL`      | `integer` | `32768` | Optional | —           |
| `TAI_SAMPLING_MAX_CALLS_PER_INVOCATION` | `integer` | `20`    | Optional | —           |

## SubMcpRedisSettings

Module `tai42_skeleton.sub_mcp.settings`.

| Env var                          | Type      | Default | Required | Description |
| -------------------------------- | --------- | ------- | -------- | ----------- |
| `SUB_MCP_REDIS_URL`              | `string`  | —       | Optional | —           |
| `SUB_MCP_REDIS_MAX_CONNECTIONS`  | `integer` | —       | Optional | —           |
| `SUB_MCP_DECODE_RESPONSES`       | `boolean` | `true`  | Optional | —           |
| `SUB_MCP_SOCKET_TIMEOUT`         | `number`  | —       | Optional | —           |
| `SUB_MCP_SOCKET_CONNECT_TIMEOUT` | `number`  | —       | Optional | —           |
| `SUB_MCP_RETRY_ON_TIMEOUT`       | `boolean` | `false` | Optional | —           |
| `SUB_MCP_RETRY_ATTEMPTS`         | `integer` | `0`     | Optional | —           |

## SubMcpSettings

Module `tai42_skeleton.sub_mcp.settings`.

| Env var          | Type     | Default     | Required | Description                                                         |
| ---------------- | -------- | ----------- | -------- | ------------------------------------------------------------------- |
| —                | `object` | —           | Optional | Grouped settings — see [SubMcpRedisSettings](#submcpredissettings). |
| `SUB_MCP_PREFIX` | `string` | `"sub_mcp"` | Optional | —                                                                   |

## TemplateCacheSettings

Module `tai42_skeleton.template.settings`.

| Env var                   | Type      | Default | Required | Description |
| ------------------------- | --------- | ------- | -------- | ----------- |
| `TEMPLATE_CACHE_TTL`      | `integer` | `300`   | Optional | —           |
| `TEMPLATE_CACHE_MAX_SIZE` | `integer` | `256`   | Optional | —           |

## ToolRunsRedisSettings

Module `tai42_skeleton.routers.tool_runs_settings`.

| Env var                                | Type      | Default                      | Required | Description |
| -------------------------------------- | --------- | ---------------------------- | -------- | ----------- |
| `TAI_TOOL_RUNS_REDIS_URL`              | `string`  | `"redis://localhost:6379/0"` | Optional | —           |
| `TAI_TOOL_RUNS_REDIS_MAX_CONNECTIONS`  | `integer` | `10`                         | Optional | —           |
| `TAI_TOOL_RUNS_DECODE_RESPONSES`       | `boolean` | `true`                       | Optional | —           |
| `TAI_TOOL_RUNS_SOCKET_TIMEOUT`         | `number`  | `5`                          | Optional | —           |
| `TAI_TOOL_RUNS_SOCKET_CONNECT_TIMEOUT` | `number`  | `5`                          | Optional | —           |
| `TAI_TOOL_RUNS_RETRY_ON_TIMEOUT`       | `boolean` | `false`                      | Optional | —           |
| `TAI_TOOL_RUNS_RETRY_ATTEMPTS`         | `integer` | `0`                          | Optional | —           |

## ToolRunsSettings

Module `tai42_skeleton.routers.tool_runs_settings`.

| Env var                                | Type      | Default        | Required | Description                                                             |
| -------------------------------------- | --------- | -------------- | -------- | ----------------------------------------------------------------------- |
| —                                      | `object`  | —              | Optional | Grouped settings — see [ToolRunsRedisSettings](#toolrunsredissettings). |
| `TAI_TOOL_RUNS_KEY_PREFIX`             | `string`  | `"tool_runs:"` | Optional | —                                                                       |
| `TAI_TOOL_RUNS_RECENT_RUNS_LIMIT`      | `integer` | `50`           | Optional | —                                                                       |
| `TAI_TOOL_RUNS_RESULT_TTL_SECONDS`     | `integer` | `86400`        | Optional | —                                                                       |
| `TAI_TOOL_RUNS_LIVENESS_TTL_SECONDS`   | `integer` | `30`           | Optional | —                                                                       |
| `TAI_TOOL_RUNS_MAX_CONCURRENT_RUNS`    | `integer` | `32`           | Optional | —                                                                       |
| `TAI_TOOL_RUNS_SHUTDOWN_DRAIN_SECONDS` | `number`  | `10`           | Optional | —                                                                       |

## UrlGuardSettings

Module `tai42_kit.net.url_guard`.

| Env var                            | Type      | Default     | Required | Description |
| ---------------------------------- | --------- | ----------- | -------- | ----------- |
| `TAI_URL_GUARD_ENABLED`            | `boolean` | `true`      | Optional | —           |
| `TAI_URL_GUARD_ALLOW_CIDRS`        | `array`   | `[]`        | Optional | —           |
| `TAI_URL_GUARD_MAX_RESPONSE_BYTES` | `integer` | `104857600` | Optional | —           |
| `TAI_URL_GUARD_MAX_REDIRECTS`      | `integer` | `20`        | Optional | —           |

## VersioningStorePgSettings

Module `tai42_skeleton.versioning.settings`.

| Env var                                         | Type      | Default       | Required | Description |
| ----------------------------------------------- | --------- | ------------- | -------- | ----------- |
| `VERSIONING_STORE_PG_HOST`                      | `string`  | `"localhost"` | Optional | —           |
| `VERSIONING_STORE_PG_PORT`                      | `integer` | `5432`        | Optional | —           |
| `VERSIONING_STORE_PG_DB`                        | `string`  | `"tai"`       | Optional | —           |
| `VERSIONING_STORE_PG_USER`                      | `string`  | `"postgres"`  | Optional | —           |
| `VERSIONING_STORE_PG_PASSWORD`                  | `string`  | —             | Optional | Secret.     |
| `VERSIONING_STORE_PG_MIN_CONNECTIONS`           | `integer` | `2`           | Optional | —           |
| `VERSIONING_STORE_PG_MAX_CONNECTIONS`           | `integer` | `10`          | Optional | —           |
| `VERSIONING_STORE_PG_CONNECT_TIMEOUT`           | `integer` | `10`          | Optional | —           |
| `VERSIONING_STORE_PG_STATEMENT_TIMEOUT_SECONDS` | `number`  | `60`          | Optional | —           |

## WebhookIngressSettings

Module `tai42_skeleton.webhooks.settings`.

| Env var                          | Type      | Default | Required | Description |
| -------------------------------- | --------- | ------- | -------- | ----------- |
| `WEBHOOK_INGRESS_MAX_BODY_BYTES` | `integer` | `65536` | Optional | —           |
