---
layout: docs
page_title: 'Commands: job history'
description: |
  The history command is used to display all tracked versions of a job.
---

# Command: job history

The `job history` command is used to display the known versions of a particular
job. The command can display the diff between job versions and can be useful for
understanding the changes that occurred to the job as well as deciding job
versions to revert to.

## Usage

```plaintext
nomad job history [options] <job>
```

The `job history` command requires a single argument, the job ID or an ID prefix
of a job to display the history for.

When ACLs are enabled, this command requires a token with the `read-job` and
`list-jobs` capabilities for the job's namespace.

## General Options

@include 'general_options.mdx'

## History Options

- `-p`: Display the differences between each job and its predecessor.
- `-full`: Display the full job definition for each version.
- `-version`: Display only the history for the given version.
- `-json` : Output the job versions in its JSON format.
- `-t` : Format and display the job versions using a Go template.

## Examples

Display the history showing differences between versions:

```shell-session
$ nomad job history -p e
Version     = 2
Stable      = false
Submit Date = 07/25/17 20:35:43 UTC
Diff        =
+/- Job: "example"
+/- Task Group: "cache"
  +/- Task: "redis"
    +/- Resources {
          CPU:      "500"
          DiskMB:   "0"
      +/- MemoryMB: "256" => "512"
        }

Version     = 1
Stable      = false
Submit Date = 07/25/17 20:35:31 UTC
Diff        =
+/- Job: "example"
+/- Task Group: "cache"
  +/- Count: "1" => "3"
      Task: "redis"

Version     = 0
Stable      = false
Submit Date = 07/25/17 20:35:28 UTC
```

Display the memory ask across submitted job versions:

```shell-session
$ nomad job history -t "{{range .}}\
v{{.Version}}: {{with index .TaskGroups 0}}{{with index .Tasks 0}}{{.Resources.MemoryMB}}{{end}}{{end}}\

{{end}}" example
v2: 512
v1: 256
v0: 256
```
