Atuin, the shell history replacement tool, has released version 18.13 with significant performance improvements and AI-powered command generation capabilities. The update introduces a daemon-based search system with in-memory indexing and an optional AI assistant for converting natural language to bash commands, according to a blog post from the Atuin team.
The release marks a major upgrade to Atuin’s search functionality through a redesigned daemon that maintains a “hot, in-memory search index.” The system is powered by a modified version of nucleo, which “implements the same algorithm as fzf, bringing better performance and accuracy.” Users can enable the enhanced search by setting `search_mode = “daemon-fuzzy”` in their configuration.
The new Atuin AI feature allows users to press the question mark key on an empty prompt, describe their desired command in English, then execute or edit the generated bash command. The AI system uses “the latest frontier models” and integrates “a dataset powered by man pages and command outputs to ensure you get the correct command first.” Safety measures include flagging potentially dangerous commands that could wipe data or restart deployments, requiring users to press enter twice for execution.
Privacy protections limit the AI’s access to system information by default. As the developers explain: “By default, Atuin AI knows nothing about your machine, other than the operating system and shell. This is the bare minimum required to generate a decent shell command.” Future versions will allow users to grant permission for additional context like directory contents and git status.
The release also introduces “atuin hex,” a lightweight PTY proxy that enables popup rendering without clearing previous terminal output. Unlike tmux, hex “does not affect scrollback, does not break terminal features, and literally just proxies bytes and maintains a shadow vt100.” The feature addresses longstanding rendering limitations in Atuin’s interface. Users can enable hex permanently by adding `eval “$(atuin hex init)”` to their shell configuration.
