ID                                     Kind          Target                                                                                                                 Since   Tracking
-------------------------------------  ------------  ---------------------------------------------------------------------------------------------------------------------  ------  --------
behavior.batch-generation-jobs         behavior      [tool.datamodel-codegen.jobs], --job, --all-jobs                                                                       0.72.3  -
behavior.remote-reference-lock         behavior      datamodel-codegen.lock, --lockfile, --update-lock, and --locked                                                        0.72.3  -
cli-option.generate-client             cli-option    --generate-client httpx2 and the --client-* options (and their [tool.datamodel-codegen] keys and generate() options)   0.84.0  -
cli-option.generate-schema-validators  cli-option    --generate-schema-validators                                                                                           0.66.1  -
cli-option.generate-server             cli-option    --generate-server fastapi and the --server-* options (and their [tool.datamodel-codegen] keys and generate() options)  0.84.0  -
cli-option.install-skill               cli-option    --install-skill, --skill-scope, and --overwrite-skill                                                                  0.76.0  -
cli-option.schema-validator-type       cli-option    --schema-validator-type                                                                                                0.66.1  -
cli-option.use-missing-sentinel        cli-option    --use-missing-sentinel                                                                                                 0.66.1  -
cli-option.use-type-alias              cli-option    --use-type-alias                                                                                                       0.36.0  -
cli-option.use-type-alias-type         cli-option    --use-type-alias-type                                                                                                  0.71.1  -
extra.httpx2                           extra         datamodel-code-generator[httpx2]                                                                                       0.71.1  -
formatter.builtin                      formatter     --formatters builtin                                                                                                   0.59.0  -
input-format.asyncapi                  input-format  --input-file-type asyncapi                                                                                             0.59.0  -
input-format.avro                      input-format  --input-file-type avro                                                                                                 0.59.0  -
input-format.mcp-tools                 input-format  --input-file-type mcp-tools                                                                                            0.60.0  -
input-format.protobuf                  input-format  --input-file-type protobuf                                                                                             0.59.0  -
input-format.xmlschema                 input-format  --input-file-type xmlschema                                                                                            0.59.0  -

Notes:
behavior.batch-generation-jobs:
  Define named generation jobs in [tool.datamodel-codegen.jobs] and select them with --job or
  --all-jobs. Each selected job has its own input and output, and the full selection is validated
  before generation begins.
behavior.remote-reference-lock:
  The lock stores opaque SHA-256 request-identity digests and SHA-256 body digests, never response
  bodies or request values directly. Each saved display origin contains only the scheme, host, and
  explicit port—never a path, query, or request headers.
cli-option.generate-client:
  `--generate-client httpx2` generates the models at `--output` and a client package at
  `--client-output`; `--client-package` and `--client-model-package` name their import paths, and
  the other `--client-*` options configure the package. Like model options, they can be set in
  `[tool.datamodel-codegen]` of `pyproject.toml`, in its profiles, and in its jobs. `--check`,
  `--diff-against`, `--watch`, `--output-format json`, and the `uv add` and next-step notice on
  stderr work as with `--generate-server`. `generate()` takes them as `generate_client` and the
  `client_*` options, and returns every generated file without an output. It needs Python 3.11 or
  later, both to run and as `--target-python-version`, `--use-missing-sentinel` for
  `pydantic_v2.dataclass` models, `--target-pydantic-version 2.14` with `--use-missing-sentinel`,
  and `--use-msgspec-tagged-unions` and `--use-msgspec-nullable-enum-alias` for `msgspec.Struct`
  models; one left unset takes that value, as with `--generate-server`.
cli-option.generate-schema-validators:
  The option currently targets Pydantic v2 BaseModel output and covers selected object-level rules
  such as patternProperties, required-only oneOf/anyOf/not groups, and simple if/then/else
  required-property conditions.
cli-option.generate-server:
  `--generate-server fastapi` generates the models at `--output` and a server package at
  `--server-output`, whose `main.py` serves the application with the implementations in the
  `services` package beside it; generation writes each missing module of `services` once, with
  stubs, and never overwrites one. `--server-package` and `--server-model-package` name their import
  paths, and the other `--server-*` options configure the package. Like model options, they can be
  set in `[tool.datamodel-codegen]` of `pyproject.toml`, in its profiles, and in its jobs. `--check`
  compares without writing, `--diff-against` compares the files two inputs render, `--watch`
  regenerates after input changes, `--output-format json` uses the model generation, check, and
  input-diff payloads, and generation prints a `uv add` command and the next steps to stderr.
  `generate()` takes them as `generate_server` and the `server_*` options, and returns every
  generated file without an output, writing no stubs. It needs Python 3.11 or later, both to run and
  as `--target-python-version`, `--use-missing-sentinel` for `pydantic_v2.dataclass` models,
  `--target-pydantic-version 2.14` with `--use-missing-sentinel`, and `--openapi-scopes` with `api`.
  A setting left unset, by the options, `pyproject.toml`, `generate()`, and the preset, takes that
  value, and the command line prints how to set it; one set otherwise is refused.
cli-option.install-skill:
  Use --install-skill with codex or claude-code. --skill-scope selects a project or user
  installation, and --overwrite-skill safely replaces an existing regular skill directory.
cli-option.schema-validator-type:
  The only currently implemented backend is 'pydantic-v2', which preserves the existing generated
  Pydantic v2 validator behavior.
cli-option.use-missing-sentinel:
  The option requires Pydantic v2 BaseModel or dataclass output and a target Pydantic version that
  supports the MISSING sentinel. Server and client generation require it for Pydantic v2 dataclass
  output, and `--target-pydantic-version 2.14` with it.
cli-option.use-type-alias:
  The option replaces root model classes with type aliases where possible. Pydantic v2 output may
  use TypeAliasType or Python 3.12 type statements depending on the target Python version.
cli-option.use-type-alias-type:
  The option implies --use-type-alias and selects TypeAliasType for Python 3.10 and 3.11. Python
  3.12 and newer continue to use native type statements.
extra.httpx2:
  `datamodel-code-generator[http]` remains the stable HTTPX backend and is not deprecated;
  `datamodel-code-generator[httpx2]` is experimental. The default HTTP backend policy is auto:
  stable httpx is selected when its client module is installed, including when both pairs are
  installed, and experimental httpx2 is selected only when that module is absent. Use
  `--http-backend httpx2` or `HTTPBackend.HTTPX2` to require the experimental pair. Explicit
  selections and paired dependency errors do not fall back.
formatter.builtin:
  The formatter is designed for generated model modules and is not a general-purpose Python
  formatter.
input-format.asyncapi:
  The parser focuses on message payload model generation from AsyncAPI documents.
input-format.avro:
  The parser generates Python models from Avro schemas; it does not provide Avro runtime validation.
input-format.mcp-tools:
  The input is converted from MCP tool inputSchema/outputSchema entries into JSON Schema definitions
  before model generation.
input-format.protobuf:
  The parser generates Python models from .proto schemas; it does not provide protobuf runtime
  validation or gRPC code generation.
input-format.xmlschema:
  The parser focuses on model generation from XSD documents, not full XML instance validation.
