Find a conversation
Start with a distinctive word, filename, or phrase you remember:
mash search 'authentication' --intent exact-mentionResults are JSON. By default they group matching messages by chat. Search reads
the existing index; it does not refresh history. If you just had the conversation,
run mash index first.
Prefer a visual view? Use the dashboard. Inside an agent, ask “Mash, find our earlier discussion about authentication.”
Read the original messages
Section titled “Read the original messages”Copy a message ID from a result, then read it with nearby context:
mash view MESSAGE_ID --context 3Replace MESSAGE_ID with the returned message ID, not the chat ID.
For a shared result, include its publishing node:
mash view MESSAGE_ID --shared NODE_ID --context 3Find a chat by title
Section titled “Find a chat by title”mash list-chats --title-contains 'authentication' --limit 10This lists chat metadata without models or a working search index. To search
within one of those chats, copy its chat_id:
mash search 'token' --chat CHAT_ID --unit messagesNarrow the results
Section titled “Narrow the results”| I remember… | Example |
|---|---|
| The agent | mash search 'authentication' --provider codex |
| Roughly when | mash search 'authentication' --days 7 |
| A date range | mash search 'authentication' --after 2026-10-01 --before 2026-11-01 |
| The project directory | mash search 'authentication' --project /absolute/path/to/project |
| The repository | mash search 'authentication' --repository https://github.com/owner/repo.git |
| Something I said | mash search 'authentication' --role user |
| The exact spelling | mash search 'auth_token' --intent exact-mention --match-mode strict |
Project paths and repository URLs must match the recorded metadata exactly.
Copy them from list-chats or search results. Repeat a flag to include alternatives,
such as --provider codex --provider claude-code; different filters narrow the
results together.
Search date bounds accept dates (UTC midnight) or RFC3339 timestamps.
--after includes the boundary; --before excludes it. Unlike search,
list-chats --after/--before take Unix seconds and filter chat activity.
Search by meaning
Section titled “Search by meaning”Once semantic search is enabled:
mash search 'why did we choose a separate database' --intent related-discussionUse exact-mention for words or identifiers and related-discussion for a
question whose wording may differ from the conversation. Semantic queries
currently need English. Exact-mention search works without models.
Exact-mention matches a multiword query as a phrase, not independent words
scattered through a chat. If it finds nothing, try the most distinctive word.
Default matching allows prefixes and conservative typos; --match-mode strict
keeps spelling exact.
More results and local-only searches
Section titled “More results and local-only searches”Use --limit 10 for a smaller page. For the next page, repeat the same request
with --offset set to the returned next_offset; stop when it is null.
--sort recent shows the newest qualifying results first within each relevance
page. For a chronological chat list, use list-chats instead.
With a shared index, normal search combines this machine and
other nodes. --local uses only this machine; --shared uses only published
history. --node filters recorded node identity—it does not connect to that machine.
If results are missing or stale, start with troubleshooting.
