> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getcore.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Labels

> Workspace-scoped tags that act as the primary scoping mechanism for V2 search

## What labels are

Labels are workspace-scoped tags applied to episodes, sessions, and documents. They are flat (no hierarchies, no nesting) and unique per workspace. Each label has a name, an optional description, and a color.

## How labels scope search

Labels are the primary scoping mechanism in V2 search. The router (`apps/webapp/app/services/search-v2/router.ts`) embeds the query and runs vector search against the `LABEL` namespace defined in `packages/providers/src/vector/constants.ts`. The similarity threshold is controlled by `env.SEARCH_LABEL_VECTOR_THRESHOLD`.

The matched labels are passed to the LLM aspect-extraction step, which returns `selectedLabels: string[]`, the labels actually relevant to the query intent. The LLM is forbidden from inventing label names not in the matched list.

Handlers then call `getMatchedLabelIds()` to produce the final label set: LLM-selected labels take priority, with a fallback to score-threshold filtering when the LLM picks none. Graph traversal is then scoped by `labelIds`.

When the workspace has no labels, or no label vector clears the threshold, handlers fall back to `getEpisodesViaVectorSearch()` against the `EPISODE` namespace. Labels are the fast path, vector-on-episodes is the recall safety net.

## Creating labels

Labels are created from the CORE dashboard at Settings, Labels. Set a name, optional description, and color. They are available in the workspace immediately and can be applied to content during ingestion or after the fact.

## Filtering with labels at query time

The MCP `memory_search` tool accepts `labelIds` as an option. Passing `labelIds` force-scopes the search to those labels and bypasses router selection, useful when the caller already knows the relevant project, client, or topic.

## Examples

A multi-project workspace might use labels like:

```
- "Project: TaskMaster" (blue)
- "Project: CORE Features" (green)
- "Client: Acme Corp" (purple)
- "Topic: Authentication" (red)
- "Topic: Performance" (orange)
```

Keep names concise and consistent. Two to four labels per episode is typical.

## Related

* [How CORE searches](/memory/how-core-searches)
* [Query types](/memory/query_types)
