Auryn is a local-first AI session browser and resumer. It discovers, searches, previews, and resumes AI coding sessions from multiple providers through a single terminal interface, so you can return to earlier work regardless of which tool created the session.
Auryn is read-only against provider session storage and never modifies provider-owned files. It does not:
- manage credentials or store API keys
- proxy or transmit traffic
- route or switch models
- modify provider configuration or session files
- run background daemons, telemetry, or analytics
It is a discovery, search, preview, and resume tool, not a router, proxy, gateway, or credential manager.
- Claude Code
- OpenAI Codex CLI
- Gemini CLI
- GitHub Copilot CLI
- Aider (coming soon)
Auryn reads each tool's own on-disk session storage. New providers can be added
without changing the TUI or CLI. See docs/providers.md.
Prebuilt binaries for macOS, Linux, and Windows are attached to each
GitHub Release. Download the
archive for your platform, extract it, and put auryn on your PATH.
Homebrew (macOS and Linux):
brew install kevinquillen/tap/aurynWindows: download the .zip from the latest release, extract it, and put
auryn.exe on your PATH.
With a Rust toolchain, from crates.io or from a local checkout:
cargo install auryn
cargo install --path .Launch the interactive TUI:
aurynIn the TUI:
- Up and Down (or k and j) move the selection
- Ctrl-d and Ctrl-u (or PageDown and PageUp) scroll the preview independently
- Enter resumes the selected session
/opens the command line (slash commands)- P cycles the provider filter
- R refreshes the session index
- D toggles session details
?shows help- Q or Esc quits
Non-interactive commands:
auryn list # list all sessions
auryn list --json # machine-readable output
auryn filter "open tasks" # filter by text
auryn search "config" # alias for filter
auryn resume <session-id> # resume a session by id
auryn export <session-id> # export a full conversation as Markdown
auryn export <session-id> --format json
auryn export <session-id> --out chat.md
auryn doctor # environment and discovery diagnostics
auryn config path # print the config file path
auryn config print # print the effective config
auryn config init # write a default config file
auryn config edit # open the config in $EDITORSearch matches session metadata (name, provider, project path) fuzzily and
recent conversation content (the preview turns) as a case-insensitive substring,
and ranks the best matches first. See docs/search.md.
auryn export <session-id> reads a session's full, untruncated conversation and
renders it as Markdown (default) or JSON (--format json), to standard output or
a file (--out <path>). The id uses the same provider:session_id form as
resume. Export is read-only and never writes provider state; it is the basis for
archiving a conversation or carrying its content into a new session in another
tool. See docs/export.md.
Configuration is a TOML file stored in the platform configuration directory
(~/.config/auryn/ on Linux, ~/Library/Application Support/Auryn/ on macOS,
%APPDATA%\Auryn\ on Windows). All settings have defaults, so a missing file is
never an error. See docs/configuration.md.
Auryn treats session files as untrusted input, bounds file sizes, tolerates
malformed content, and never executes commands found in session metadata. It
spawns provider commands directly, never through a shell. See SECURITY.md and
docs/adr/0007-security-model.md.
docs/configuration.md- configuration referencedocs/providers.md- how each provider is discovered and resumeddocs/search.md- search and filtering behaviordocs/export.md- exporting a conversation as Markdown or JSONdocs/release.md- release and packaging processdocs/adr/- architectural decision records
MIT. See LICENSE.
