atuinsh/atuin · error
unknown AliasRecord type {n}
Error message
unknown AliasRecord type {n} What it means
Decoder guard in AliasRecord::deserialize: an alias record's tag byte is neither 0 (Create) nor 1 (Delete), so the local client cannot interpret a record in the synced dotfiles store. Typically caused by a record written by a newer Atuin version, or a corrupted/truncated record payload.
Source
Thrown at crates/atuin-dotfiles/src/store.rs:107
// delete
1 => {
let nfields = decode::read_array_len(&mut bytes).map_err(error_report)?;
ensure!(nfields == 1, "too many entries in v0 shell alias delete record");
let bytes = bytes.remaining_slice();
let (key, bytes) =
decode::read_str_from_slice(bytes).map_err(error_report)?;
if !bytes.is_empty() {
bail!("trailing bytes in encoded shell alias record. malformed");
}
Ok(Self::Delete(key.to_owned()))
}
n => {
bail!("unknown AliasRecord type {n}");
}
}
}
other => {
bail!("unknown alias record version {other:?}");
}
}
}
}
#[derive(Debug, Clone)]
pub struct AliasStore {
pub store: SqliteStore,
pub host_id: HostId,
pub encryption_key: paseto_v4::Key,
}
impl AliasStore {View on GitHub (pinned to c0c717ab04)
Solutions
- Upgrade the Atuin client to the latest version so it understands newer record types
- Identify and delete the offending record from the store, or re-sync the affected data
- Check disk integrity if records are repeatedly corrupted
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/atuin-dotfiles/src/store.rs:107 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of atuinsh/atuin@c0c717ab04 (2026-09-12).
Data as JSON: /api/errors/78d18423437253b2.
Report an issue: GitHub.