Skip to content

[Bug]: atuin daemon will not recover after an abrupt termination or system reboot #3516

Description

@victorhooi

What did you expect to happen?

If the atuin daemon is stopped abruptly, .or the machine is rebooted, the atuin daemon should be able to start on next boot without needing manual human intervention.

Some people also reported this on #2289 - but the actual original issue there seems to be a separate issue.

What happened?

On reboot, the atuin daemon will fail to start.

It will continually try to restart every 10 seconds - and spam the logfile (e.g. ~/.atuin/logs/daemon.log.2026-06-05) with the following, ad infinitium:

2026-06-05T16:25:19.685229+1000  INFO atuin_daemon::components::sync: sync component started
2026-06-05T16:25:19.686023+1000  INFO atuin_client::settings::watcher: starting config file watcher: "/Users/victorhooi/.config/atuin/config.toml"
2026-06-05T16:25:19.688368+1000  INFO atuin_client::settings::watcher: config file watcher initialized for: "/Users/victorhooi/.config/atuin"
2026-06-05T16:25:19.688424+1000  INFO atuin_daemon::server: listening on unix socket "/Users/victorhooi/.local/share/atuin/daemon.sock"
2026-06-05T16:25:29.730920+1000  INFO atuin_daemon::daemon: starting component component="history"
2026-06-05T16:25:29.731967+1000  INFO atuin_daemon::components::history: history component started
2026-06-05T16:25:29.731998+1000  INFO atuin_daemon::daemon: starting component component="search"
2026-06-05T16:25:29.732014+1000  INFO atuin_daemon::components::search: search component started
2026-06-05T16:25:29.732024+1000  INFO atuin_daemon::daemon: starting component component="sync"
2026-06-05T16:25:29.732037+1000  INFO atuin_daemon::components::sync: sync component started
2026-06-05T16:25:29.732533+1000  INFO atuin_client::settings::watcher: starting config file watcher: "/Users/victorhooi/.config/atuin/config.toml"
2026-06-05T16:25:29.735702+1000  INFO atuin_client::settings::watcher: config file watcher initialized for: "/Users/victorhooi/.config/atuin"
2026-06-05T16:25:29.735807+1000  INFO atuin_daemon::server: listening on unix socket "/Users/victorhooi/.local/share/atuin/daemon.sock"
2026-06-05T16:25:39.796947+1000  INFO atuin_daemon::daemon: starting component component="history"
2026-06-05T16:25:39.799261+1000  INFO atuin_daemon::components::history: history component started
2026-06-05T16:25:39.799298+1000  INFO atuin_daemon::daemon: starting component component="search"
2026-06-05T16:25:39.799319+1000  INFO atuin_daemon::components::search: search component started
2026-06-05T16:25:39.799334+1000  INFO atuin_daemon::daemon: starting component component="sync"
2026-06-05T16:25:39.799350+1000  INFO atuin_daemon::components::sync: sync component started
2026-06-05T16:25:39.800130+1000  INFO atuin_client::settings::watcher: starting config file watcher: "/Users/victorhooi/.config/atuin/config.toml"
2026-06-05T16:25:39.804194+1000  INFO atuin_client::settings::watcher: config file watcher initialized for: "/Users/victorhooi/.config/atuin"
2026-06-05T16:25:39.804281+1000  INFO atuin_daemon::server: listening on unix socket "/Users/victorhooi/.local/share/atuin/daemon.sock"
2026-06-05T16:25:49.862432+1000  INFO atuin_daemon::daemon: starting component component="history"
2026-06-05T16:25:49.863792+1000  INFO atuin_daemon::components::history: history component started
2026-06-05T16:25:49.863823+1000  INFO atuin_daemon::daemon: starting component component="search"
2026-06-05T16:25:49.863847+1000  INFO atuin_daemon::components::search: search component started
2026-06-05T16:25:49.863865+1000  INFO atuin_daemon::daemon: starting component component="sync"
2026-06-05T16:25:49.863885+1000  INFO atuin_daemon::components::sync: sync component started

To fix it - you have to manually delete the lockfile using rm.

Atuin doctor output

Ah drat - sorry - I ran this *after* I'd manually remove the lockfile:


✦ ❯ atuin doctor
Atuin Doctor
Checking for diagnostics


Please include the output below with any bug reports or issues

{
  "atuin": {
    "version": "18.16.1",
    "commit": "NO_GIT",
    "sync": {
      "auth_state": "Hub (authenticated)",
      "records": true,
      "auto_sync": true,
      "last_sync": "2026-06-05 9:55:18.092128 +00:00:00"
    },
    "sqlite_version": "3.46.0"
  },
  "shell": {
    "name": "nu",
    "default": "nu",
    "plugins": [
      "atuin"
    ],
    "preexec": "built-in"
  },
  "system": {
    "os": "Darwin",
    "arch": "arm64",
    "version": "26.5.1",
    "disks": [
      {
        "name": "Macintosh HD",
        "filesystem": "apfs"
      },
      {
        "name": "Macintosh HD",
        "filesystem": "apfs"
      }
    ]
  }
}

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions