---
title: "MGS3051: a job store write from an older magus"
description: Fires when a magus built from an older commit than the newest build that wrote the job store, or one that carries no commit, tries to write it. Nothing is written; run the command with the newer ./magus, or rebuild this one.
tags: [MGS3051, jobs, job store, leases, fork, apply, build, version, agents]
---

# MGS3051: a job store write from an older magus

`magus job fork`, `magus job apply` and every other command that writes the job
store refused because the newest build that wrote it is newer than this one:

```text
[MGS3051] job: this magus, 1f3c (committed 2026-10-20T09:12:00Z), is older than
  8a9d (committed 2026-10-22T18:40:11Z), which last wrote
  ~/.local/state/magus/jobs/.../jobs.jsonl: run the newer ./magus, or rebuild
  ./magus at the current base
```

A build that carries no commit stamp, such as a test binary, `go run`, or a
bare `go build` of a modified tree, is refused the same way once a build with a commit has written
the store, and the message says so.

Nothing was written to the job store.

## Why

Every checkout of a repository shares one job store, and each command judges a
job with the `./magus` in the checkout that ran it. A binary built before a fix
writes rows by the rules the fix replaced, and the rows it writes are read as if
the current code had judged them. Each write stamps its build's commit and commit
time on the store's header line, so a write from an older build can be told apart
and refused.

## What is not refused

- Reading the store: `magus ls jobs` and `magus describe job` read with any
  build. A read that ends a row it proves dead writes, so it is refused too.
- A build at the same commit, or a newer one; the newer one takes the stamp over.
- Any build, while no build with a commit has written the store.

## What to do

Run the command with the `./magus` that wrote the store last, or rebuild
`./magus` from the current commit and run it again.

## See also

- [MGS3046](MGS3046.md): a workspace load file held in a shared checkout.
- [Leases](../../../guides/integrations/agents/leases.md): checkouts and write paths.
