This release adds 4 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryBroad release touches Bug Fixes, Miscellaneous Tasks, Performance, and Install atuin 18.17.0.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds `--shell` flag to pty-proxy for overriding the spawned shell. Adds `--shell` flag to pty-proxy for overriding the spawned shell. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Medium |
Introduces `/model` slash command for changing AI models. Introduces `/model` slash command for changing AI models. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Medium |
Adds status bar displaying model and usage information. Adds status bar displaying model and usage information. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds `atuin_output` tool exposing captured command output. Adds `atuin_output` tool exposing captured command output. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Feature | Low |
Implements database integration tests for atuin-server. Implements database integration tests for atuin-server. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Feature | Low |
Adds MCP server for history tools and expands search filters. Adds MCP server for history tools and expands search filters. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Feature | Low |
Caches user contexts on load until `/reload` command. Caches user contexts on load until `/reload` command. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Feature | Low |
Shows whether the Atuin daemon is enabled in `doctor` diagnostic output. Shows whether the Atuin daemon is enabled in `doctor` diagnostic output. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Dependency | Low |
Updates Rust compiler to version 1.96.1. Updates Rust compiler to version 1.96.1. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Performance | Medium |
Search now scans history by recency until N unique entries. Search now scans history by recency until N unique entries. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Performance | Medium |
Adds `synchronous(Normal)` and `optimize_on_close` to SQLite record store. Adds `synchronous(Normal)` and `optimize_on_close` to SQLite record store. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Performance | Low |
Optimizes search by scanning recent history until N unique entries are found. Optimizes search by scanning recent history until N unique entries are found. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Medium |
Removes unnecessary clones in a hot path, improving performance. Removes unnecessary clones in a hot path, improving performance. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Suppresses error when `ATUIN_HISTORY_ID` is missing in the `pre_prompt` hook. Suppresses error when `ATUIN_HISTORY_ID` is missing in the `pre_prompt` hook. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Fixes terminal clearing issue with the latest Ratatui version. Fixes terminal clearing issue with the latest Ratatui version. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Skips records that fail to decrypt or decode instead of aborting sync. Skips records that fail to decrypt or decode instead of aborting sync. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Atuin no longer hangs when spawning daemon from Ctrl+R invocation. Atuin no longer hangs when spawning daemon from Ctrl+R invocation. Source: llm_adapter@2026-07-16 Confidence: low |
— |
| Bugfix | Low |
Dispatches skills registered in the slash‑command registry for AI integration. Dispatches skills registered in the slash‑command registry for AI integration. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Uses `char -u 1b` for ESC in OSC 133 sequences on Nu shell. Uses `char -u 1b` for ESC in OSC 133 sequences on Nu shell. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Observes tool events instead of registering a bash tool for process tracking. Observes tool events instead of registering a bash tool for process tracking. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Sets `$SHELL` environment variable to the spawned shell in pty-proxy. Sets `$SHELL` environment variable to the spawned shell in pty-proxy. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Excludes AI agent commands from zsh‑autosuggestions for smoother completion. Excludes AI agent commands from zsh‑autosuggestions for smoother completion. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Resolves double input on arrow keys in AI setup prompt on Windows. Resolves double input on arrow keys in AI setup prompt on Windows. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Captures session ID from stream headers instead of final event for accurate tracking. Captures session ID from stream headers instead of final event for accurate tracking. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Respects `store_failed` configuration when using the daemon. Respects `store_failed` configuration when using the daemon. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Improves doctor tool resiliency on unknown platforms and adds OpenBSD warning. Improves doctor tool resiliency on unknown platforms and adds OpenBSD warning. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | Low |
Silences ShellCheck SC2016 warning on literal `$all-user` author filter. Silences ShellCheck SC2016 warning on literal `$all-user` author filter. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Refactor | Low |
Implements `From<sqlx::Error>` and cleans up error handling utilities. Implements `From<sqlx::Error>` and cleans up error handling utilities. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Refactor | Low |
Moves `into_utc` function into the `atuin-server-database` crate for reuse. Moves `into_utc` function into the `atuin-server-database` crate for reuse. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
Full changelog
Release Notes
Bug Fixes
- (ai) Dispatch skills registered in the slash command registry (#3593)
- (ci) Fossier install in scan workflow (#3485)
- (i18n) Fix typos in Russian localization (#3575)
- (nu) Use
char -u 1bfor ESC in OSC 133 sequences (#3530) - (nu) Suppress error when
ATUIN_HISTORY_IDis missing inpre_prompthook (#3587) - (pi) Observe tool events instead of registering a bash tool (#3557)
- (pty-proxy) Set
$SHELLto the spawned shell (#3548) - (search) Fix terminal clearing with latest Ratatui (#3578)
- (sync) Skip records that fail to decrypt or decode instead of failing the whole store (#3569)
- Atuin hangs when attempting to spawn daemon from Ctrl+R invocation (#3502)
- Capture session ID from stream headers rather than final event (#3531)
- Doctor resiliency fo runknown platforms + openbsd warning (#3551)
- Double input on arrow keys in AI setup prompt on Windows (#3552)
- Exclude AI agent commands from zsh-autosuggestions (#3567)
- Silence shellcheck SC2016 on literal
$all-userauthor filter - Respect
store_failedwhen using daemon (#3571)
Documentation
- Highlight
Ctrl-rkeybinding on docs page (#3489) - Document store purge workflow (#3544)
- Fix command example typo in documentation (#3536)
- Make commented-out lines in
config.tomlmatch real defaults (#3583) - Add fish shell cleanup step to uninstall instructions (#3582)
Features
- (doctor) Add whether daemon is enabled to
doctoroutput (#3572) - (pty-proxy) Add
--shellflag to override the spawned shell (#3327) - Setup fossier to stop bot slop prs (#3482)
- Capture command output + expose to new
atuin_outputtool (#3510) - Cache user contexts on load until
/reload(#3525) - Create database integration tests for atuin-server (#3514)
- Add
/modelslash command for changing models (#3576) - Add mcp server for history tools and expand search filters (#3581)
- Add status bar with model and usage information (#3591)
Miscellaneous Tasks
- (rustdoc) Fix Rustdoc warnings (#3585)
- (warnings) Fix compile warnings with latest dependencies (#3586)
- Vouch for all existing contributors (#3486)
- Update GitHub app token format
- Update to Rust 1.96.1 (#3568)
- Adopt
derive_moreto reduce boilerplate across the codebase (#3573)
Performance
- (search) Scan history by recency until N unique (#3553)
- Add
synchronous(Normal)+optimize_on_closeto record store SQLite (#3577) - Remove unnecessary clones in a hot path (#3580)
Refactor
- Implement
From<sqlx::Error>and clean upfix_error(#3484) - Pull
fn into_utcintoatuin-server-databasecrate (#3487)
atuin 18.17.0
Install atuin 18.17.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/atuinsh/atuin/releases/download/v18.17.0/atuin-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/atuinsh/atuin/releases/download/v18.17.0/atuin-installer.ps1 | iex"
Download atuin 18.17.0
| File | Platform | Checksum |
|--------|----------|----------|
| atuin-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| atuin-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| atuin-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| atuin-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| atuin-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| atuin-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo atuinsh/atuin
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
atuin-server 18.17.0
Install atuin-server 18.17.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/atuinsh/atuin/releases/download/v18.17.0/atuin-server-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/atuinsh/atuin/releases/download/v18.17.0/atuin-server-installer.ps1 | iex"
Download atuin-server 18.17.0
| File | Platform | Checksum |
|--------|----------|----------|
| atuin-server-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| atuin-server-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| atuin-server-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| atuin-server-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| atuin-server-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| atuin-server-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo atuinsh/atuin
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]