---
name: "git-annex-rekey"
section: "1"
platform: "linux"
package: "git-annex"
version: "10.20261026-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/git-annex-rekey"
---

# git-annex-rekey(1)

change keys used for files

## NAME

git-annex-rekey - change keys used for files

## SYNOPSIS

git annex rekey **\[file key ...\]**

## DESCRIPTION

This plumbing-level command is similar to migrate, but you specify both the file, and the new key to use for it.

Multiple pairs of file and key can be given in a single command line.

Note that, unlike **git-annex migrate**, this does not copy over metadata, urls, and other such information from the old to the new key

## OPTIONS

- **--force**

  -

  Allow rekeying of even files whose content is not currently available. Use with caution.

-

  - **--batch**

  Enables batch mode, in which lines are read from stdin. Each line should contain the file, and the new key to use for that file, separated by a single space.

-

  - **-z**

  Makes the **--batch** input be delimited by nulls instead of the usual newlines.

-

  - **--json**

  Enable JSON output. This is intended to be parsed by programs that use git-annex. Each line of output is a JSON object.

-

  - **--json-error-messages**

  Messages that would normally be output to standard error are included in the JSON instead.

-

  - Also the [git-annex-common-options(1)](/git-annex-common-options/1.md) can be used.

  ## SEE ALSO

[git-annex(1)](/git-annex/1.md)

[git-annex-migrate(1)](/git-annex-migrate/1.md)

## AUTHOR

Joey Hess \<id@joeyh.name\>
