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

# modify

> Modify existing torrent files using a preset or flags.

## Usage

```bash theme={null}
mkbrr modify [flags] [torrent files...]
```

<Note>
  Existing metadata is preserved during modification — only the fields you explicitly change are updated.
</Note>

## Arguments

* `[torrent files...]`: (Required) One or more paths to the `.torrent` files to modify.

## Flags

### Input & Output

<ParamField query="--tracker, -t" type="string[]">
  Tracker URLs (can be specified multiple times).
</ParamField>

<ParamField query="--name" type="string">
  Set the torrent's internal name.
</ParamField>

<ParamField query="--output-dir" type="string">
  Output directory for modified files.
</ParamField>

<ParamField query="--output, -o" type="string">
  Custom output filename (without extension).
</ParamField>

<Warning>
  When modifying multiple torrents, using `--output` with a fixed filename will cause subsequent files to overwrite the previous ones. Use `--output-dir` instead for batch modifications to preserve all modified files with unique names.
</Warning>

### Advanced Input (Presets)

<ParamField query="--preset, -P" type="string">
  Use preset from config.

  <Info>
    For reusing common settings across torrents. See the [Presets](/features/presets) documentation for details.
  </Info>
</ParamField>

<ParamField query="--preset-file" type="string">
  Preset config file (default `~/.config/mkbrr/presets.yaml`).

  <Info>
    Set custom path to presets.yaml. See the [Presets](/features/presets) documentation for details.
  </Info>
</ParamField>

### Torrent Internals

<ParamField query="--private, -p" type="boolean" default={true}>
  Make torrent private.

  <Note>
    Private flag is enabled by default for tracker compliance. Only disable if you're creating a public torrent.
  </Note>
</ParamField>

<ParamField query="--no-private" type="boolean" default={false}>
  Remove the private flag entirely.
</ParamField>

<ParamField query="--entropy, -e" type="boolean" default={false}>
  Randomize the torrent's info hash by adding or updating a unique, random `entropy` key in the info dictionary before hashing.

  <Info>
    Cross-seeding is the practice of seeding the same content on multiple trackers. Using the entropy flag helps avoid conflicts between trackers.
  </Info>
</ParamField>

### Seeding & Metadata

<ParamField query="--web-seed, -w" type="array">
  Specify web seed URLs. Can be used multiple times.

  <Info>
    Web seeds provide an HTTP fallback source for the torrent content, improving availability.
  </Info>
</ParamField>

<ParamField query="--source, -s" type="string">
  Specify the source string.

  <Info>
    Some trackers require or recommend specific source tags. Check your tracker's rules.
  </Info>
</ParamField>

<ParamField query="--comment, -c" type="string">
  Specify a comment.
</ParamField>

<ParamField query="--no-date, -d" type="boolean" default={false}>
  Omit the creation date from the torrent metadata.
</ParamField>

<Info>If omitted, the creation date is updated to the current time during modification.</Info>

<ParamField query="--no-creator" type="boolean" default={false}>
  Omit the creator string from the torrent metadata.
</ParamField>

### Execution & Output Control

<ParamField query="--verbose, -v" type="boolean" default={false}>
  Be verbose.
</ParamField>

<ParamField query="--quiet, -q" type="boolean" default={false}>
  Enable quiet mode, printing only the final torrent file path upon success. Useful for scripts.
</ParamField>

<ParamField query="--skip-prefix" type="boolean" default={false}>
  Don't add tracker domain prefix to output filename.
</ParamField>

<ParamField query="--dry-run, -n" type="boolean" default={false}>
  Show what would be modified without making changes.
</ParamField>

<Warning>
  When modifying multiple torrents, using `--output` with a fixed filename will cause subsequent files to overwrite the previous ones. Use `--output-dir` instead for batch modifications to preserve all modified files with unique names.
</Warning>
