Your working tree, not an index
Reads the files on disk right now, including uncommitted edits, and respects your ignore rules. Nothing to build, sync or invalidate.
Semantic code search · powered by Jev
Describe a behavior. Get the exact files, line ranges and source that justify the answer — with the coverage to know what was actually searched.
A terminal session. Running jg --all "where are expired CLI tokens rejected?" apps/webjudges 120 snippets and returns one match: apps/web/app/api/[...path]/route.ts lines 11 to 15, the function authenticate, which loads the token row filtered on revoked_at and expires_at. Runningjg exact -n --glob '*.ts' 'expires_at' apps/web lists every literal occurrence through ripgrep.
jg exact hands off to ripgrep unchanged.With --all, every snippet gets two independent judgments — whether it acts on the entity you named, and whether it performs the operation you described — multiplied into one score. Related code that shares the vocabulary scores close, and still falls short.
query where are expired CLI tokens rejected?
route.ts:11 authenticatechecks revoked_at and expires_at on the token rowdevice/page.tsx:6 Deviceexpiry of a device authorization request, not a tokensmoke.mjs:46 smoke testasserts an expired token gets 401route.ts:42 device/polla different endpoint in the same routerthreshold 0.50 — only the first row is returned
Real scores from this repository, stable across three runs. The score ranks results; it is not a calibrated probability, and the threshold is tuned on a small labelled corpus rather than a representative one.
Speed, model cost, and first-result accuracy on 40 development lookups.
| Search method | Speed | Cost | Accuracy |
|---|---|---|---|
| JevgrepJev-only · development benchmark | 0.66s~29× faster in development | ~$0.000427~251× lower model cost | 92.5%First result · 37 of 40 |
| Claude Opus 5Agent with grep + read | 19.0sRecorded baseline | $0.107213Recorded model cost | 92.5%Selected answer · 37 of 40 |
Reads the files on disk right now, including uncommitted edits, and respects your ignore rules. Nothing to build, sync or invalidate.
Default search compares complete functions from likely code scopes. All-mode can evaluate individual blocks for queries about a guard or branch inside a larger function.
Up to three selected choices with a bounded output budget. --json and the MCP server share one versioned schema, and coverage says what was judged and what was not.
npm install -g @remotehost/jg@preview
jg login
jg "reject expired sessions" .Register it with a coding agent over MCP with jg mcp ., or keep it in the terminal. Exact searches still belong to ripgrep — jg exact passes your arguments straight through.
Create an accountSee every flag
Preview release. Search quality is evaluated on a small labelled corpus; agent speedups are not yet measured.