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.0.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.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for kiro_cli_history-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d0d1cbd7a559f97b0c4088140812268e7cfeba5078909f04330658792567827a
MD5 d95d31a94a8fdfad34c2e1209e743eab
BLAKE2b-256 99399d02f599f58ad99106b5f17525f044ca3e76c26446c0d23e2a936de409d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiro_cli_history-0.2.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kiro_cli_history-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a7b4f8ad1f18a2f5a623c98c038d2b5ec0f933b429d6ca950e0ff6c9eb98e0a0
MD5 209147aae74d413adc2348c3c8764360
BLAKE2b-256 5f2cc983b82286898ee6e1bc51310e1a6ac6c2cb498bb9314584f9bb1c147932

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiro_cli_history-0.2.0-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