Atuin Threads は、Claude Code や Codex などの AI コーディングエージェントのセッションを1つの履歴にまとめ、マシンをまたいで検索・再開できるようにする機能だ。シェル履歴ツール Atuin(★32.3k・MIT)の 18.24 で加わり、2026-10-27 に発表された。本記事は発表のブログと公式ドキュメントを読み、Atuin 18.24.7 をビルドしてコマンドを確かめた。

WHAT IT REPLACES何を置き換えるか

散らばったセッションを1つの履歴にまとめる

これまで

  • セッションはエージェントごとに別の場所
  • マシンごとにも別々に残る
  • 過去のやり取りを探しにくい
  • 別の端末へ続きを持ち出せない

Atuin Threads

  • 複数のエージェントを1つの履歴に記録
  • 暗号化してマシン間で同期
  • atuin resume で検索して再開
  • 別のエージェントへ引き継いで続行
出典: Atuin ブログ「Atuin Threads: All your agent sessions on every machine」(2026-10-27)と公式ドキュメント

30秒でわかる Atuin Threads(2026-11-13 時点)

  • ・正体:Atuin に加わった、エージェントのセッションの履歴と同期。18.24 以降で使える
  • ・何ができる:全マシンのセッションを検索し、同じか別のエージェントで続きから再開する
  • ・安全面:同期はエンドツーエンドで暗号化。記録は自分で有効にしたときだけ
  • ・注意:ツール呼び出しの入出力も記録される。コードベースの一部が入りうる

Claude Code の基本は Claude Code|2026年版・インストールからCLAUDE.md・Hooks・本番運用までの実装手引き にまとめている。

Atuin Threads とは何か、何を解決するか

Atuin は、シェルの履歴を SQLite のデータベースに置き換え、暗号化してマシン間で同期するツールだ。Threads は、その同期の仕組みをエージェントのセッションへ広げたものになる。読者の3つの問いに答える。

・何ができるか:ノート PC、開発サーバー、一時的なインスタンスに散らばったセッションを、1つの画面から検索して再開する
・何を解決するか:エージェントとのやり取りが、ツールごと・マシンごとに残って探せなくなる問題。作者は「シェル履歴はどこへでも付いてくるのに、エージェントのセッションは付いてこない」と書いている
・何を代替するか:別の端末で作業を続けるときの、経緯の書き直しや貼り付け

発表のブログによれば、同期の仕組みは「追記だけのログとして表せるものなら何でも同期できる」作りで、AI のセッションはちょうどその形をしていた、という。

Atuin Threads の仕組み:デーモンが記録し、暗号化して同期

HOW IT WORKS仕組み

デーモンが記録し、暗号化した記録として同期する

  1. 記録

    Atuin のデーモンが、エージェントのセッションを読み取る

  2. 保存

    暗号化された記録ストアへ入れ、検索用の索引を手元に作る

  3. 同期

    シェル履歴と同じ仕組みで、ほかのマシンへ届ける

  4. 再開

    atuin resume で探し、同じか別のエージェントで続ける

出典: atuinsh/atuin の docs/docs/ai/threads.md(2026-11-13 確認)

記録を有効にすると、Atuin のデーモンがエージェントのセッションを「スレッド」として暗号化された記録ストアへ入れる。検索用の索引は手元に作られ、ほかのマシンから同期されてきたスレッドも索引に入る。

同期先は3通りから選べる。Atuin が運営するサーバー、自分で立てたサーバー、同期しない(手元だけ)だ。

対応するエージェントは、発表時点と現在のドキュメントで数が違う。

出どころ 対応するエージェント
ブログ(2026-10-27) Claude Code、Codex、Pi、Omp、OpenCode
リポジトリのドキュメント(2026-11-13 時点の main) Claude Code、Codex、Copilot、Grok Build、Hermes Agent、Kiro、opencode、Pi、Amp
18.24.7 の atuin threads import --help(実測) claude-code、codex、copilot、grok、hermes、kiro、opencode、pi、omp、amp の10種類

発表から2週間あまりで、対応先は5から10に増えている。手元の版でどこまで使えるかは atuin threads import --help で確かめられる。Amp はセッションをサーバー側に持つため、専用のプラグインを入れて渡す方式になっている。

何が記録され、何が伏せられるか

導入の前にいちばん確かめたいのは、ここだ。

WHAT IS CAPTURED記録されるもの

会話とツール呼び出しを記録し、秘密は伏せる

記録される

  • 自分とエージェントの会話
  • ツール呼び出しの入力と出力
  • ファイル編集の差分
  • 推論は「あった」という印だけ

伏せる・残さない

  • 認識した秘密は **** に置き換える
  • .env や SSH 鍵などのファイルの中身
  • 画像
  • 1回の呼び出しで 64KiB を超えた分
出典: docs/docs/ai/threads.md「What's captured」。ツール呼び出しを残したくなければ capture_tools = false

記録されるのは、会話と、ツール呼び出しの入力と出力だ。実行したコマンドとその出力、読み書きしたファイルが含まれる。ファイルを編集したときは差分も残る。モデルの推論は、推論があったという印だけが残る。

秘密の扱いは、ドキュメントに細かく書かれている。

対象 扱い
Atuin が認識した秘密(鍵やトークンの形) **** に置き換える
.env、~/.ssh/id_ed25519、~/.aws/credentials など 中身を記録しない。読んだ呼び出しは出力なしで残る
gh auth token、kubectl get secret など 出力を記録しない
履歴の除外設定(history_filter・cwd_filter)に当たるもの ツール名だけを残す
画像 残さない
1回の呼び出しの入力・出力 64KiB で切り、先頭と末尾を残す

それでも、ツール呼び出しにはコードベースの中身が多く含まれる。ドキュメント自身が「会話だけでなく、コードベースのかなりの部分になりうる」と書いている。ツール名だけを残したい場合は、設定を1行足す。

[threads]
capture = true
capture_tools = false

この設定と除外のルールは、デーモンを再起動したあとに記録・取り込みしたスレッドから効く。すでに記録したスレッドは、そのままだ。秘密の置き換えは「Atuin が認識できた形」に限られるので、独自形式の社内トークンなどは redact_patterns に足しておく。

Atuin Threads の使い方:有効化・取り込み・再開

使うコマンドは3つだ。Atuin 18.24 以降が要る。

atuin threads enable
atuin threads import
atuin resume

atuin threads enable は記録を有効にし、デーモンを起動する。記録は有効にした時点から始まるので、それ以前のセッションは atuin threads import で取り込む。もう一度実行すると、新しい分だけが入る。atuin resume は検索の画面を開く。入力して絞り込み、選んだスレッドを再開する。

18.24.7 をビルドし、エージェントを入れていない空の環境で最初の2つを実行すると、次のように出た。有効化でデーモンが起動し、取り込みは対象が無いので 0 件で終わる。

Threads are on: threads your agents work in from now on are captured.
Run 'atuin threads import' any time to import past threads.
done: 0 threads, 0 imported, 0 skipped, 0 failed

実際のセッションの取り込み、同期、別のマシンでの再開は、本記事では未検証だ。

エージェント自身に過去のセッションを調べさせることもできる。Atuin の MCP サーバーを入れると、エージェントがスレッドを検索・一覧・読み取りできる。ツールはどれも読み取り専用だ。

atuin mcp install claude-code

引数には claude-code、codex、grok、opencode、pi、omp を指定できる。省くと、設定ファイルが見つかったエージェントすべてにつなぐ。このコマンドはヘルプの表示までを確かめた。

別のマシンで続きから再開するには、両方のマシンで同じ Atuin のアカウントへ同期しておく。同期を使わない場合、Threads は1台の中の検索と再開にとどまる。

使うときの注意と、ほかのツールとの違い

・記録の範囲を先に決める。業務のリポジトリで使うなら、capture_tools = false や cwd_filter で残す範囲を絞ってから有効にする
・同期先を選ぶ。暗号化されているとはいえ、会社の方針で外部のサーバーに置けない場合は、自前のサーバーか同期なしを選ぶ
・エージェントをまたぐ再開には制約がある。たとえば Amp のスレッドは別のエージェントで続けられるが、Atuin は Amp のスレッドを書けないので、逆方向はできない
・チームでの共有はまだ無い。ブログは、任意参加のセッション共有を開発中だと書いている

セッションを扱う既存のツールと並べる。

  Atuin Threads happier Claude Code History Viewer
主な目的 複数マシンでの検索と再開 動いているセッションを遠隔で引き継ぐ 履歴を1画面で振り返る
同期 暗号化して同期(任意) E2E 暗号化 —
別のエージェントで続行 できる(組み合わせに制約) — —

動いているセッションをスマホなどから操作したいなら happier徹底解説:Claude CodeやCodexのセッションをリモートで引き継ぐE2E暗号化クライアント、履歴を眺めるだけなら Claude Code History Viewer入門|9つのAIコーディング履歴を1画面で振り返る が近い。エージェント間の引き継ぎという課題そのものは Codex OpenCode Claude Code間のセッション引き継ぎ|Rsesの実態と今日使える現実解 でも扱った。

Atuin Threads が向くのは、複数のマシンでエージェントを使い、すでに Atuin でシェル履歴を同期している人だ。新しい仕組みを足すのではなく、いまある同期に乗せられる。

参照ソース

・Atuin Threads: All your agent sessions on every machine(Atuin ブログ・2026-10-27)
・Threads(atuinsh/atuin の公式ドキュメント)
・atuinsh/atuin(GitHub)