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

# git-credential-cache(1)

Helper to temporarily store passwords in memory

## NAME

git-credential-cache - Helper to temporarily store passwords in memory

## SYNOPSIS

```
git config credential.helper 'cache [<options>]'
```

## DESCRIPTION

This command caches credentials for use by future Git programs. The stored credentials are kept in memory of the cache-daemon process (instead of being written to a file) and are forgotten after a configurable timeout. Credentials are forgotten sooner if the cache-daemon dies, for example if the system restarts. The cache is accessible over a Unix domain socket, restricted to the current user by filesystem permissions.

You probably don’t want to invoke this command directly; it is meant to be used as a credential helper by other parts of Git. See [**gitcredentials**(7)](/gitcredentials/7.md) or **EXAMPLES** below.

## OPTIONS

- \--timeout \<seconds\>

  Number of seconds to cache credentials (default: 900).

- \--socket \<path\>

  Use *\<path\>* to contact a running cache daemon (or start a new cache daemon if one is not started). Defaults to **$XDG\_CACHE\_HOME/git/credential/socket** unless **~/.git-credential-cache/** exists in which case **~/.git-credential-cache/socket** is used instead. If your home directory is on a network-mounted filesystem, you may need to change this to a local filesystem. You must specify an absolute path.

## CONTROLLING THE DAEMON

If you would like the daemon to exit early, forgetting all cached credentials before their timeout, you can issue an **exit** action:

```
git credential-cache exit
```

## EXAMPLES

The point of this helper is to reduce the number of times you must type your username or password. For example:

```
$ git config credential.helper cache
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
[work for 5 more minutes]
$ git push http://example.com/repo.git
[your credentials are used automatically]
```

You can provide options via the credential.helper configuration variable (this example increases the cache time to 1 hour):

```
$ git config credential.helper 'cache --timeout=3600'
```

## PERSONAL ACCESS TOKENS

Some remotes accept personal access tokens, which are randomly generated and hard to memorise. They typically have a lifetime of weeks or months.

git-credential-cache is inherently unsuitable for persistent storage of personal access tokens. The credential will be forgotten after the cache timeout. Even if you configure a long timeout, credentials will be forgotten if the daemon dies.

To avoid frequently regenerating personal access tokens, configure a credential helper with persistent storage. Alternatively, configure an OAuth credential helper to generate credentials automatically. See [**gitcredentials**(7)](/gitcredentials/7.md), sections "Available helpers" and "OAuth".

## GIT

Part of the [**git**(1)](/git/1.md) suite
