> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

## OAuth client credentials

auth, generators.yml

Generated CLIs can now obtain their own tokens for machine-to-machine authentication. Declare an `oauth` scheme with `type: client-credentials` in `generators.yml` and the CLI exchanges a client ID and secret from the environment for a token, caches it until it expires, and refreshes it automatically. Custom token and refresh requests, response mappings, scopes, token headers and prefixes, and environment URLs are all read from the same `auth-schemes` configuration the SDKs use.

Read the docs

## Per-CLI User-Agent identity

features, generators.yml

Requests now identify the CLI by its own binary name and version, such as `contoso-cli/1.4.0`, instead of the shared crate name that every generated CLI previously sent. Your API backend can distinguish traffic from each CLI you publish.

Tools built on top of a generated CLI can tag their own traffic with the `--user-agent-suffix` flag or the `<NAME>_USER_AGENT_SUFFIX` environment variable, which appends to rather than replaces the CLI's identity. Rename that flag at generation time with `userAgentSuffixFlag` if you'd prefer different branding.

Read the docs