imessage-search

Search and analyze local macOS iMessage databases with natural language queries.

Updated Apr 13, 2026
One-click install
npx skills add https://github.com/josephofiowa/imessage-search-skill --skill imessage-search
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: imessage-search
Source: https://github.com/josephofiowa/imessage-search-skill/tree/main
Command: npx skills add https://github.com/josephofiowa/imessage-search-skill --skill imessage-search

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This skill solves the inability to effectively search through years of iMessage history, allowing you to find specific conversations, half-remembered details, or past discussions without relying on Apple's limited search tools.

Core Features & Use Cases

  • Natural Language Search: Query your messages using plain English to find specific topics, people, or timeframes.
  • Local Privacy-First Indexing: Exports and indexes your local chat.db database, ensuring your private messages never leave your machine.
  • Use Case: Quickly locate a specific restaurant recommendation from a friend last year or find the exact date you discussed a project with a colleague by simply describing the context.

Quick Start

Ask your AI assistant to search your iMessages for conversations about the specific topic or person you are looking for.

Frequently Asked Questions about imessage-search

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search my iMessage history using natural language on macOS?

You can search iMessage history using natural language by exporting and indexing your local macOS chat.db database with Python scripts, which allows plain English queries to retrieve specific conversations, contacts, and timeframes.

Does searching iMessage text messages locally require Full Disk Access?

Yes, searching iMessage text messages locally requires granting Full Disk Access to read the local chat.db file, ensuring your private message database stays on your machine during indexing and retrieval.

What's the best way to find old text messages from a specific person in iMessage?

The best way to find old text messages from a specific person is using natural language queries against your locally indexed iMessage database, which retrieves conversation threads and contact interactions based on temporal or keyword criteria.

Can I search for iMessage conversations by date and topic without Apple's built-in search?

Yes, you can search for iMessage conversations by date and topic by querying your locally indexed chat.db database, which overcomes Apple's limited search tools by supporting temporal and keyword-based criteria for message retrieval.

Are my private messages kept private when indexing iMessage databases?

Your private messages are kept private because the indexing process exports and indexes the local chat.db database entirely on your machine, ensuring your message history never leaves your local environment.

Why does iMessage search not work for finding conversations from years ago?

Apple's built-in iMessage search often fails for finding conversations from years ago due to limited indexing capabilities, but locally exporting and indexing your chat.db database with Python scripts enables natural language retrieval of historical text messages.