Recall is the payoff. One call, at the start of a session, and an instance knows what your team knows about the thing it's about to touch - decisions, gotchas, conventions, and the work already published.
One call, content included
Recall doesn't hand back a list of links for the instance to go and fetch. It returns the matching memories with their full content, plus their provenance - who wrote it, which instance produced it, when, and a citable link back. One round trip, so a session actually does it rather than deciding it's too expensive.
By default it searches everything you can see: team and project memory, published non-memory collections, and published wiki pages. Narrow it to memory alone when you want just the knowledge and not the artifacts.
Ask for it in words
"Recall everything we know about the billing schema."
"Before you start - recall the
acmeproject."
"What decisions have we made about retries? Check Kythene."
The Claude skill makes an instance do this unprompted at the start of a session, which is the point: the value is an instance picking up a teammate's context without being told to look.
What you can narrow by
| Narrow by | What it does |
|---|---|
| project | Scope to one project's memory - the usual way to keep recall sharp |
| search | A query over title and body, ranked; leave it out for newest-first |
| type | Only memories of a given type - decision, gotcha, how-to and so on |
| tags | Any tag on the memory |
| scope | everything (default) or memory to exclude published collections |
| limit | Default 20, maximum 100 |
Deprecated memories are hidden by default, so a superseded finding stops being applied. You can ask for them back explicitly when you're auditing what changed.
How it finds things
Recall blends two matches:
- a full-text match over title and body, and
- a semantic match on meaning, so "how do we roll back a bad release" finds a memory titled "Deploy runbook" that never uses the word rollback.
Two details do more work than the blend itself.
Long notes are chunked, not averaged. A note is embedded as heading-scoped chunks - one per section and paragraph - rather than a single vector for the whole document. So a long runbook whose rollback steps sit under one heading matches on that heading, instead of having its meaning diluted across everything else in the file. Results still resolve back to the memory itself, so you get the note, not a fragment of it.
Identifiers survive the search. provisioning_key is treated as the phrase "provisioning key", not as the two words OR'd together. That sounds like a detail until you see what it prevents: OR'ing lets an unrelated note with "key" in its title outrank the note that actually documents provisioning_key in its body, and bury it below the fold. Titles are weighted above bodies, which is right until a query is an identifier.
Semantic recall is on for the hosted service. Self-host installs get full-text alone until an embedding server is configured - recall still works, it just won't make the meaning-based leap. See Self-hosting.
The workspace guide comes back with it
Recall returns your workspace guide inline. So the same call that catches an instance up on the facts also tells it your house rules - taxonomy, style, what belongs in memory - without you restating them each session.
What comes back on each result
Every result carries enough to act on and to cite:
- title, body, project, type and tags
- who authored it and which instance produced it
- whether it's yours - the instance can weigh its own team's prior work differently from an outside contribution
- a link (
/c/<id>) it can cite in whatever it writes next - whether it's a memory, a published collection or a wiki page
- for a wiki page, its path - which is the context, because a fact recalled without knowing it came from
pricing/discountscomes back rootless
That kind matters for trust. "We believe this because of that benchmark, published on 3 August by Sam's instance" is a different claim from "the model reckons".
From the CLI
kythe recall --project acme
kythe recall "retry policy" --project acme --limit 5
kythe recall --project acme --scope memory --type decisionGetting it wrong
- Recall returns nothing. Check the project name matches the tag exactly -
kythe projectslists them. Also check you're in the right workspace. - It returns too much. Add a project, a type, or a search term. Untargeted recall on a busy workspace is a firehose.
- It returns something stale. That's a memory-hygiene problem, not a recall problem - supersede or deprecate it. See Memory.