{"slug": "atuin-resume-coding-agent-sessions", "title": "atuin: resume coding agent sessions", "summary": "Atuin 18.24 added session capture and resume for coding agent sessions, letting users search captured conversations and reopen them in the original agent, fork them, or continue them in a different agent via the `atuin resume` command (short for `atuin threads resume`). Capture is opt-in through `atuin threads enable`, with `atuin threads import` pulling in existing sessions and repeating it importing only new ones; no sync account is needed for local use, while optional end-to-end encrypted hosted or self-hosted sync can reconstruct a session on another machine. The atuin docs state that images are omitted from capture, individual tool inputs and outputs are capped at 64 KiB, reasoning text is not retained, and session sync does not sync repository working files.", "body_md": "**Today I learned**: `atuin` now searches and resumes coding agent sessions too.\n\n[Session capture and resume](https://blog.atuin.sh/threads-agent-sessions/) arrived in `atuin` 18.24. Installed versions:\n\n```\n% atuin --version\natuin 18.24.5 (NO_GIT)\n% fr --version\nfr 2.14.3\n```\n\nThe entry point is `atuin resume`, short for `atuin threads resume`. It opens a\nsearchable TUI, much like `fr`. This is not shell history search for the last\n`claude` command: it searches the captured conversations themselves.\n\nCapture is opt-in. Enable it, import existing sessions, then open the picker:\n\n``` python\natuin threads enable\natuin threads import\natuin resume\n```\n\nEnabling capture turns on the `atuin` daemon and offers an import. The explicit\nimport brings in old sessions we haven’t continued since enabling capture;\nrepeating it imports only what’s new. No sync account is needed for local use.\n\nBoth tools search across agents and return us to a session. The difference is what sits behind the picker:\n\n| Feature | `fr` | `atuin` | \n|---|---|---|\n| Source | Existing local agent files | Captured/imported sessions in `atuin` ’s record store | \n| Search | Prompts and replies; typo-tolerant | Conversation text and tool inputs | \n| Across machines | No built-in sync | Optional end-to-end encrypted sync | \n| Resume | Original agent | Original agent, fork, or continue in another agent | \n| Setup | Scan local files on launch | Enable capture and run daemon | \n| Agent examples | Pi, Cursor CLI, Kimi Code | Pi, Kiro, Omp | \n\n`fr` remains a local search tool with a disposable index. `atuin` adds a\nsynced conversation store: it can reconstruct a session on another machine\nbefore resuming it. Hosted sync and self-hosted sync both work.\n\nFor JSON search results and repository-scoped browsing:\n\n```\nfr --json --limit 3 \"agent:pi ack\"\natuin threads search --harness pi --limit 3 --style json ack\natuin resume --filter-mode workspace\n```\n\nThe last command opens the picker scoped to the current repository. Given a session ID, we can bypass the picker, print the resume command, fork the session, or continue it in another agent:\n\n```\natuin resume --print 01a00cb1-6498-7345-850b-3f2e6fa6d346\natuin resume --fork 01a00cb1-6498-7345-850b-3f2e6fa6d346\natuin resume --in codex 01a00cb1-6498-7345-850b-3f2e6fa6d346\n```\n\nOne distinction from my original `atuin` setup: `enter_accept = false` applies\nto shell history, not this picker. Enter proceeds with resuming a session.\n\nThe [`atuin` docs](https://docs.atuin.sh/latest/ai/threads/) describe what\nsurvives capture: images are omitted, individual tool inputs/outputs are capped\nat 64 KiB, and reasoning text is not retained. Session sync does not sync our\nrepository’s working files either.\n\nFor finding a local conversation and reopening its original agent, `fr` is\nstill the simpler option. For carrying conversations between machines or\nagents, `atuin` does something `fr` doesn’t. ∎\n\n— § —\n\nReply via [email](<mailto:serendipity@perrotta.dev?subject=Reply to: atuin: resume coding agent sessions>)", "url": "https://wpnews.pro/news/atuin-resume-coding-agent-sessions", "canonical_source": "https://perrotta.dev/2026/11/atuin-resume-coding-agent-sessions/", "published_at": "2026-11-07 22:40:10+00:00", "updated_at": "2026-11-09 01:51:33.947714+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools"], "entities": ["atuin", "fr", "Pi", "Cursor CLI", "Kimi Code", "Kiro", "Omp", "Codex"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/atuin-resume-coding-agent-sessions", "markdown": "https://wpnews.pro/news/atuin-resume-coding-agent-sessions.md", "text": "https://wpnews.pro/news/atuin-resume-coding-agent-sessions.txt", "jsonld": "https://wpnews.pro/news/atuin-resume-coding-agent-sessions.jsonld"}}