All posts

Search finds this project's chats and this chat's files

Press Cmd+K and you get two lists: the chats of the project you have open, and the files of the chat you are in. Nothing else, on purpose.

You press Cmd+K and type one word. Two short lists answer: a chat, a file. Tarsk keeps the list small so every row opens where you expect.

A search box that claims the whole machine hands you rows you cannot act on. A chat app can answer two questions well: which conversation was that, and where is that file in the work I have open. Tarsk’s dialog answers those two.

One dialog, two lists

The magnifier sits beside the project cog in the side panel. Cmd+K opens the same dialog from anywhere in the window.

Type, and results sort under two headings, Chats and Files. The All tab shows five of each, enough to recognize a hit without scrolling. The Chats and Files tabs show the full list for the kind you picked. Arrow keys move the highlight, Enter opens the row, Escape closes the dialog.

A chat row carries the title and the time it last moved. A file row carries the name, its icon and the folder around it.

Chats come from the project

The chat side searches every conversation of the selected project, across every thread it owns, archived chats included.

You need that reach. The side panel hides archived chats by design, so a title search is the way back to a conversation you put away last month.

Tarsk matches on the title the list shows you. Every word you type must appear in that title, in any order. A title that starts with the whole phrase you typed ranks first, since that is the title you meant.

Leave the box empty and the dialog lists the project’s newest chats, which turns it into a fast switcher.

Files come from the chat

Each chat works in its own copy of the project, and that copy sets the file scope.

The dialog matches file names in the open chat’s copy: tracked files plus the ones you created and have not committed. Tarsk leaves ignored files out. The folder path sits beside the name, so two files called index.ts stay apart.

Tarsk orders the matches by how closely the name matches, then by depth. A name that starts with your query beats one that holds the same letters in the middle, and a file near the top of the tree beats a nested copy.

The dialog shows no files until you type. Without text the list would be the whole project.

What it leaves out

Search covers chats and file names. Message bodies, actions, settings, folders, other projects’ chats and other chats’ checkouts stay outside it.

Two nearby tools work on their own. The Files window has a search that also matches folder names and drives the tree as you type. A file name inside a chat message is a link to one file.

Tarsk draws this line on purpose. A search that reached into every project would return a row that looks right and opens the wrong copy of a file.

When the Files side is empty

A chat that runs on a Remote Machine has no copy of the project on this computer; its checkout sits on the machine doing the work. Open the dialog there and the Files side has nothing to show.

The chat side still works, because chat titles belong to the project.

The agent searches the same way

The agent in Tarsk has its own search, and it follows the same rule.

When a tool returns more text than fits in the conversation, Tarsk stores the full output and shows the agent a short preview. Later the agent can search that stored text instead of reading it again. The search stays inside the current chat, covers the hundred most recent stored outputs or a set the agent names, and requires every word of the query to sit on one line.

Back comes a handful of short excerpts, each with the output’s identifier, the tool that produced it and the line number. The agent asks for that exact range next. The whole log never enters the conversation.

Try it

Open a project, open a chat, press Cmd+K. Type part of a chat title, then switch to the Files tab and type part of a file name. Enter opens what you highlighted.

Keep three things in mind:

  • Chats come from the whole project, archived ones included.
  • Files come from the open chat’s own copy of the project.
  • Results never point outside those two scopes, so a row opens where you expect.