I just started to use Atuin, It’s great so far, thanks!
I’m now trying to sync two machines with a self hosted server with sqlite, using same username, same key. The problem I’m seeing is that a new machine (hostNew) does not have the existing machine (hostOld) history.
Both hostOld and hostNew has 18.8.0, sync.records=true. doctor results are same except the timestamp.
{
"atuin": {
"version": "18.8.0",
"sync": {
"cloud": false,
"records": true,
"auto_sync": true,
"last_sync": "2025-09-24 16:18:38.915643436 +00:00:00"
},
"sqlite_version": "3.46.0"
},
"shell": {
"name": "zsh",
"default": "zsh",
"plugins": [
"atuin"
],
"preexec": "built-in"
},
"system": {
"os": "CentOS Stream",
"arch": "x86_64",
"version": "9",
"disks": [...
The key and decryption seems ok. atuin store status results are identical (except CURRENT HOST marker and the slight differences of idx because of atuin store status executions.
$ atuin store verify
Verifying local store can be decrypted with the current key
Local store encryption verified OK
$ atuin store status
host: hostOld-ID
store: history
idx: 1359925
...
host: hostNew-ID
store: history
idx: 76
The significant difference is the number of items in history database.
On hostOld
$ atuin sync
0/0 up/down to record store
Sync complete! 147197 items in history database, force: false
On hostNew
$ atuin sync
0/0 up/down to record store
Sync complete! 341 items in history database, force: false
New command history in global mode is working.
For example, hostOld → hostNew
- Run
foobarbazonhostOld atuin synconhostOldatuin synconhostNewatuin search -i foobarbazon hostNew- See Inspect →
foobarbazcommand stats hasHost hostOldas expected
Also the opposite direction (hostNew → hostOld) is working.
The problem is that hostNew does not display hostOld history, the ~150k items.
atuin store rebuild history, atuin store pull --force, delete ~/.local/share/atuin/ and start over, nothing did not change this behavior so far.
Is there anything I can try to fix it or investigate it further?