---
name: "git-annex-fromkey"
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-fromkey"
---

# git-annex-fromkey(1)

adds a file using a specific key

## NAME

git-annex-fromkey - adds a file using a specific key

## SYNOPSIS

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

## DESCRIPTION

This plumbing-level command can be used to manually set up a file in the git repository to link to a specified key.

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

If no key and file pair are specified on the command line, batch input is used, the same as if the --batch option were specified.

Normally the key is a git-annex formatted key. However, to make it easier to use this to add urls, if the key cannot be parsed as a key, and is a valid url, an URL key is constructed from the url. Note that this does not register the url as a location of the key; use [git-annex-registerurl(1)](/git-annex-registerurl/1.md) to do that.

## OPTIONS

- **--force**

  -

  Allow making a file link to a key whose content is not in the local repository. The key may not be known to git-annex at all.

-

  - **--batch**

  In batch input mode, lines are read from stdin, and each line should contain a key and filename, separated by a single space.

-

  - **-z**

  When in batch mode, the input is delimited by nulls instead of the usual newlines.

-

  (Note that for this to be used, you have to explicitly enable batch mode with **--batch**)

-

  - **--json**

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

-

  - 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)

## AUTHOR

Joey Hess \<id@joeyh.name\>
