cd /news/developer-tools/atuin-hooks-for-llm-agent-shell-hist… · home topics developer-tools article
[ARTICLE · art-88712] src=perrotta.dev ↗ pub= topic=developer-tools verified=true sentiment=· neutral

atuin: hooks for LLM agent shell history

Atuin, the shell history tool, now ships hooks that capture commands executed by AI agents including Claude Code, OpenAI Codex, and Pi, integrating them into the same history database as user-typed commands with an author tag. The feature, documented in Atuin 18.18, allows filtering by agent or user via the `--author` flag, unifying all command history in one place.

read1 min views1 publishedAug 6, 2026

Today I learned: Atuin ships hooks that capture commands executed by

As of today there are hooks for Claude Code, OpenAI Codex and Pi.

% atuin hook --help
Manage AI-agent shell hooks

Usage: atuin hook
       atuin hook <COMMAND>

Commands:
  install  Install hooks for an AI agent to capture commands in atuin history
  help     Print this message or the help of the given subcommand(s)

install --help

doesn’t list which agents are supported, but a bogus one does (or simply look at their web documentation):

% atuin hook install invalid-agent
Error: unknown agent: invalid-agent. Supported agents: claude-code, codex, pi

Installing the hook for pi is straightforward:

% atuin hook install pi
pi extension: installed atuin extension

Atuin extension installed for pi. Extension: ~/.pi/agent/extensions/atuin.ts
Reload pi with `/reload` or restart pi.

It drops a small extension that wraps every bash

tool call with atuin history start --author pi

/ history end

:

const historyId = await startHistory(pi, ctx.cwd, command);
if (historyId) pending.set(event.toolCallId, historyId);

// ...

await endHistory(pi, ctx.cwd, historyId, exitCodeFromResult(event.result, event.isError));

Commands run by the agent land in the same database as everything typed by hand (by me!); there’s no separate table, just an --author

tag:

% atuin search --help | grep -A2 author
      --author <AUTHOR>
          Filter by author. Supports $all-user (non-agents), $all-agent, or literal names.
% atuin search --author pi
% atuin search --author '$all-user'

One shared history to rule them all.

— § —

Reply via [email](mailto:serendipity@perrotta.dev?subject=Reply to: atuin: hooks for LLM agent shell history)

── more in #developer-tools 4 stories · sorted by recency
── more on @atuin 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/atuin-hooks-for-llm-…] indexed:0 read:1min 2026-08-06 ·