# CLI Arguments
```
Usage: thanix [OPTIONS] [INPUT]
Arguments:
[INPUT] Path to a YAML schema file
Options:
-o, --output <OUTPUT> Output directory [default: output]
-w, --workaround Enable workaround mode (makes all response
struct fields optional)
--patch-prefix <PREFIX> Prefix for PATCH request schema names [default: Patched]
-h, --help Print help
-V, --version Print version
```
## `INPUT`
The path to an OpenAPI v3 YAML schema file. This is the only positional argument and is required.
## `--output` / `-o`
The directory where the generated Rust crate will be placed. Defaults to `./output`.
```admonish note
If the output directory already exists, its contents will be overwritten.
```
## `--workaround` / `-w`
Enables a mode where all response struct fields are made `Option<T>`, regardless of what the schema says. This is useful when the API sometimes returns `null` for fields marked as non-nullable in the schema.
```admonish warning
This weakens type safety. Only enable if you encounter deserialization errors due to unexpected null values in API responses.
```
## `--patch-prefix`
Specifies the prefix used to identify PATCH request schemas. Schemas with this prefix will have all their fields wrapped in `Option<T>` with `#[serde(skip_serializing_if = "Option::is_none")]`, allowing partial updates.
**Default:** `Patched` (the NetBox convention: `PatchedDeviceRequest`, `PatchedSiteRequest`, etc.)
Set to an empty string (`""`) to disable this behavior entirely.