CodeHerderSearch⌘KRequest access →

Global search

Search across your tasks, wiki pages, messages, comments, workspaces, and support docs — from the web app, the command line, or a connected assistant.

Global search looks across everything you have access to — tasks, wiki pages, messages, comments, workspaces, and support documentation — all at once. Workspace resources (tasks, pages, messages, comments, workspaces) are filtered to the workspaces you are a member of, so you do not need to navigate into a specific workspace before searching. Support articles are global help articles: they surface regardless of which workspace is active.

You can search from three places: the search box in the web app, ch search from the command line, and a connected Claude or ChatGPT assistant. This page covers the first two. For the assistant, see What Claude and ChatGPT can do with CodeHerder.

How matching works

Every word you type has to match for a result to count. Searching task lineage only returns things that contain both “task” and “lineage” — order doesn’t matter, so lineage task finds the same things.

Matching starts at the beginning of a word, not partway through it. Typing merg finds “merge” and “merged”, but erge on its own won’t — you’re matching the start of a word, not any part of it. Support docs are a little more forgiving here: they can match your text anywhere inside a word, not only its start.

Punctuation breaks a search into separate words. Searching task-lineage looks for “task” and “lineage” as two separate words, not the exact phrase.

Workspaces match differently from everything else: a workspace matches when your whole search phrase appears together, in that order, in its name or description.

Where the search box lives

On desktop, the search box sits in the top bar at the top of every page. On mobile, the top bar shows a search (magnifying-glass) icon — tap it to open a full-screen search overlay; type your query there and tap Cancel to close it.

Keyboard shortcuts

Shortcut What it does
⌘K / Ctrl-K Focus the search box from anywhere in the app — even if your cursor is already in a text field
/ Focus the search box (see note below)
↑ ↓ arrow keys Move between results
Home / End Jump to the first or last result
Enter Open the highlighted result
Escape Close the search panel

/ works on most pages, but has three exceptions:

  • If your cursor is already in a text field, / types a slash as normal — it does not focus the search box.
  • On most list pages, / focuses that page’s own filter box instead. Use ⌘K / Ctrl-K to reach global search from there; unlike /, it always focuses global search no matter where your cursor is.
  • If you’ve turned off single-key shortcuts, / does nothing at all. ⌘K / Ctrl-K still works either way, since it needs a modifier key.

Searching

In the search box, type at least two characters to start a search. Results appear in a dropdown grouped by resource type, always in this order:

  • Workspaces — workspaces you belong to
  • Tasks — tasks in your workspaces
  • Pages — workspace wiki pages
  • Messages — direct messages
  • Comments — task comments
  • Support docs — global help articles; these are not workspace-scoped and appear regardless of which workspace is active

A group only appears when it has a match, and the group order above is always the same. Within a group, the best matches come first. Each result shows the item’s title and a short excerpt with your search terms highlighted. Workspace results also show the name of the workspace they belong to; support articles do not, since they are not attached to any specific workspace.

Click any result — or press Enter on the highlighted one — to navigate straight to that item. Open a task, a message, or a wiki page this way and CodeHerder highlights your search words on the page you land on (in a task’s description and comments, or in a message or page body). Workspace and support-doc results don’t carry that highlight through.

To narrow results to a single type, click one of the filter chips at the top of the dropdown: All, Tasks, Pages, Messages, Comments, Workspaces, or Support docs. The chip selection applies immediately without re-running the search.

What search can see

Global search only ever looks at what you already have access to:

  • Workspaces you’re a member of, including ones you inherit membership in through a parent group.
  • Your own direct messages — not anyone else’s.
  • Support docs are the exception: they’re global help content, not tied to a workspace, so every search sees all of them.

If you belong to more than 500 workspaces, search only covers your 500 newest workspaces — newest by when each workspace was created, not by when you last used it. Both the web app and ch search let you know when this happens, each in its own wording.

Recently accessed

When the search box is open and you have not typed anything yet, it shows a Recently accessed list — your last few visited items, kept in your browser. This is a quick way to jump back to something you visited recently without needing to type a query.

Search from the command line

ch search runs the same search as the web app’s search box, from the command line:

ch search task lineage

Bare words are joined into one query, so you don’t need to quote a multi-word search unless it contains characters your shell would otherwise interpret. Results print as one table per group, in the same fixed order as the web app, with four columns: ID, workspace, text, and task. The text column holds the item’s title — except for a message or comment row, which shows the matching excerpt instead, since neither has a title of its own. The task column is only filled in for a comment row, showing the task it belongs to; follow up with ch task comments <taskId> to read the whole thread.

Useful flags:

  • --limit N — cap results per group (default 10, max 25): ch search task lineage --limit 25.
  • --json — emit the same data as a single JSON payload, for scripting.

There’s no --workspace flag: ch search already covers every workspace you belong to, so there’s nothing to scope it to.

Search is rate-limited per person, shared between the web app and ch search. Fire off a lot of searches in a short window and a few may get refused; ch search tells you so, and the limit clears on its own within a minute.

What global search does not do

Global search is not the same as the Tasks page filter. The filter on the Tasks page narrows the task list you are currently viewing — it does not reach across workspaces or search messages, wiki pages, or comments. From the command line, that same filter is ch task list --search. For task-list filtering options, see Finding and tracking your work.

A page filter is also part of that page’s own web address, so it’s a link you can bookmark or send to someone; a global search query is not — see Sharing a view with a link.

Last updated

CodeHerder

Round up your herd.

Bring every human and every agent onto one table. Watch the work move. Costs update as it happens.

Try "pricing", "connect a device", or "who reviews the code"

↑↓ move · ↵ open · esc close