Skip to main content

A terminal UI for fuzzy-searching, browsing, and resuming Kiro CLI conversations

Project description

kiro-cli-history

kiro-cli-history demo

A terminal UI for fuzzy-searching, browsing, and resuming Kiro CLI conversations.

The problem

Kiro CLI has great built-in conversation persistence — it saves your sessions and lets you resume them with --resume and --resume-picker. However, these are scoped to the directory where the session was started. If you work across many projects and directories, finding a specific past conversation means remembering which folder you were in at the time.

kiro-cli-history complements Kiro CLI's native persistence by adding global fuzzy search across all sessions — regardless of which directory they were started in. It searches the full content of every message exchanged, not just session titles.

What it offers

  • Global search — find conversations across all directories, not just the current one
  • Full-text fuzzy search — searches every message you and Kiro exchanged, not just titles
  • Conversation preview — read through the full exchange with markdown rendering before deciding to resume
  • One-key resume — press Ctrl+R to jump into Kiro CLI and continue the conversation
  • Copy to clipboard — press Ctrl+Y to copy an entire conversation
  • All session formats — reads all three Kiro CLI storage versions (v1 SQLite, v2 SQLite, v3 JSONL), covering both --classic and new TUI modes

Read-only

This tool never writes to or modifies your Kiro CLI session data. It only reads from:

  • ~/.kiro/sessions/cli/ (JSONL sessions)
  • ~/Library/Application Support/kiro-cli/data.sqlite3 (SQLite sessions, opened in read-only mode)

Install

Requires at least Python 3.10.

With pipx:

pipx install kiro-cli-history

With uv:

uv tool install kiro-cli-history

With pip:

pip3 install kiro-cli-history

Usage

kiro-cli-history

Run it from anywhere. It searches globally.

Keyboard shortcuts

Key Action
/ Focus search bar
j / k or arrows Navigate sessions
Ctrl+R Resume the highlighted session in Kiro CLI
Ctrl+Y Copy conversation to clipboard
Ctrl+F Focus search bar
Esc Clear search / Quit
Ctrl+C Quit

Searching

Type in the search bar to fuzzy-search across:

  • Session titles
  • Working directories
  • Full conversation content (every message exchanged)

Search is case-insensitive and covers all session formats.

Text selection

Hold Option (Alt) while dragging to select text from the preview pane. Or press Ctrl+Y to copy the full conversation to clipboard.

Configuration

Settings are stored in a JSON file managed via the config subcommand — no need to edit it by hand.

kiro-cli-history config show          # print all settings and the config file path
kiro-cli-history config get scroll_top
kiro-cli-history config set scroll_top true

Available settings:

Key Default Description
scroll_top false Show the start of a conversation in the preview pane instead of jumping to the most recent messages

The config file lives at the platform's standard config location (e.g. ~/Library/Application Support/kiro-cli-history/config.json on macOS).

How it works

Kiro CLI stores conversations in three formats depending on the version and mode:

Format Location Used by
v3 (JSONL) ~/.kiro/sessions/cli/*.json + *.jsonl kiro-cli --classic
v2 (SQLite) ~/Library/Application Support/kiro-cli/data.sqlite3 New TUI mode (kiro-cli)
v1 (SQLite) Same database, conversations table Legacy

kiro-cli-history reads all three and presents them in a unified view. Each session shows:

  • Title — first message or auto-generated title
  • Directory — where the session was started
  • Date — last activity (e.g., "7 Apr 2026")
  • Message count — total exchanges
  • Duration — elapsed time
  • Credit usage — total credits spent on the session (JSONL/v3 sessions only — older SQLite sessions don't record this)

How this complements Kiro CLI

Kiro CLI's native --resume and --resume-picker work well when you know which directory a session was started in. kiro-cli-history is a companion tool for when you need to find a conversation but don't remember where it happened — it gives you a global view with full-text search.

--resume-picker (native) kiro-cli-history
Scope Current directory All directories
Search Browse by title Full-text across all messages
Preview Title + message count Full conversation with markdown

Platform

Currently mainly macOS (uses pbcopy for clipboard, macOS-specific paths).

Community PRs for Linux/Windows support are welcome.

Contributing

Contributions are welcome! See CONTRIBUTING.md for the development setup and quality checks. Commits to the default branch follow Conventional Commits, and releases are automated with release-please — see CHANGELOG.md for the release history.

Credits

Inspired by raine/claude-history — an excellent fuzzy-search tool for Claude Code conversations. If you use Claude Code, check that out.

Forked from prabhu-g/kiro-cli-history — thanks to Prabhu for the initial implementation!

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiro_cli_history-0.2.1.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kiro_cli_history-0.2.1-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file kiro_cli_history-0.2.1.tar.gz.

File metadata

  • Download URL: kiro_cli_history-0.2.1.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for kiro_cli_history-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6fd1e3f0d966feec90f14156e822337f95f4c7c276cbf28ffb14effd6a32499f
MD5 173e690b9d23cc48b070506d47c610ef
BLAKE2b-256 bc48928c94a2f112509a8f206f2f0ace83d9ec61fe7f3f71b076ba884f190697

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiro_cli_history-0.2.1.tar.gz:

Publisher: publish.yaml on mxmehl/kiro-cli-history

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kiro_cli_history-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for kiro_cli_history-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a93504ad4ace251cf696d8748099de30383091a8645f1fa430c67cb635544f6
MD5 69f373346751f93dd64f820aa1819398
BLAKE2b-256 851b930d5012b1cc4c08e3bf65a3f62e96b057267f1410a2a864ca2c4fa69dcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiro_cli_history-0.2.1-py3-none-any.whl:

Publisher: publish.yaml on mxmehl/kiro-cli-history

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page