Error: migration was previously applied but is missing in the resolved migrations

Hi there

Recently I started having those errors regularly. I open a new terminal and

Error: migration 20260723000000 was previously applied but is missing in the resolved migrations

Location:
    crates/atuin-client/src/record/sqlite_store.rs:68:9

Then atuin seems broken, no history search on :up_arrow: etc.

Saw on the forum that rm ~/.local/share/atuin/records* could fix it. Doing that, opening a new terminal it seems to work. But as soon as I run a command, the next terminal show the error again. Always the same migration ID ~ timestamp.

I installed atuin using mise https://mise.jdx.dev/, here are the doctor & co info

➜  ~ atuin --version
atuin 18.19.0 (fb33978d9439ba7e97123c1adc932c6a74e3c8ae)
➜  ~ which atuin
/home/remy/.local/share/mise/installs/atuin/latest/atuin-x86_64-unknown-linux-musl/atuin
➜  ~ uname -a                                                       
Linux framework 7.0.0-29-generic #29-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 17 20:52:35 UTC 2026 x86_64 GNU/Linux
➜  ~ cat /etc/issue
Ubuntu 26.04 LTS \n \l
➜  ~ atuin info
Config files:
client config: "/home/remy/.config/atuin/config.toml"
server config: "/home/remy/.config/atuin/server.toml"
client db path: /home/remy/.local/share/atuin/history.db
key path: /home/remy/.local/share/atuin/key
meta db path: /home/remy/.local/share/atuin/meta.db

Env Vars:
ATUIN_CONFIG_DIR = "None"

Version info:
version: 18.19.0
commit:  fb33978d9439ba7e97123c1adc932c6a74e3c8ae
➜  ~ rg -v '#|^\s*$' /home/remy/.config/atuin/config.toml
64:search_mode_shell_up_key_binding = "prefix"
146:secrets_filter = false
150:enter_accept = false
175:[stats]
203:ignored_commands = [
204:  "cd",
205:  "ls",
206:  "vi",
207:  "vim"
208:]
210:[keys]
218:[sync]
222:records = true
224:[preview]
232:[daemon]
268:[search]
274: [dotfiles]
275:enabled = true

➜  ~ atuin doctor
Atuin Doctor
Checking for diagnostics


Please include the output below with any bug reports or issues

{
  "atuin": {
    "version": "18.19.0",
    "commit": "fb33978d9439ba7e97123c1adc932c6a74e3c8ae",
    "sync": {
      "auth_state": "Self-hosted (authenticated)",
      "auto_sync": true,
      "last_sync": "2026-08-25 20:10:20.18258768 +00:00:00"
    },
    "sqlite_version": "3.46.0",
    "daemon_enabled": false
  },
  "shell": {
    "name": "zsh",
    "default": "zsh",
    "plugins": [
      "atuin"
    ],
    "preexec": "built-in"
  },
  "system": {
    "os": "Ubuntu",
    "arch": "x86_64",
    "version": "26.04",
    "disks": [
      {
        "name": "/dev/mapper/ubuntu--vg-ubuntu--lv",
        "filesystem": "ext4"
      },
      {
        "name": "/dev/nvme0n1p2",
        "filesystem": "ext4"
      },
      {
        "name": "/dev/nvme0n1p1",
        "filesystem": "vfat"
      }
    ]
  }
}

And running my self hosted server, container’s image was ghcr.io/atuinsh/atuin:8519849. Tried latest 18.20 from today, not better.

So, what can I do ? I suppose I could wipe the install and start from scratch then sync 99% of the history from my server, but well I’d rather understand what’s happening.

hey! you have multiple versions of Atuin installed. One of them has ran a newer migration, then the version in your PATH errors because it is too old

This happens often when we release a version with new database migrations, otherwise you just run an older version without realising.

Deleting all of your Atuin data won’t resolve this I’m afraid, the only solution is to figure out where in your PATH Atuin is coming from. I suggest running

which atuin

and going from there

See: