Back to Directory/Search & Knowledge

Oko

Code search for coding agents: ranked, exact excerpts with line numbers.

Search & KnowledgeRustv0.9.1

Oko gives Claude Code, Codex, Cursor, OpenCode and Pi a better code search. When you ask your agent about your code, Oko has already found the relevant source, so the agent spends fewer rounds searching and reading files it does not need.

  • Faster: about half the time in Claude Code, OpenCode and Pi; a quarter less in Codex.
  • Cheaper: 33–44% fewer tokens with every tool we measured.
  • Fewer detours: 65–89% fewer tool calls.
  • Better ranking: puts the right file first more often than any published method on Agent Retrieval Bench.
  • Local first: search runs on your machine; only the question and selected snippets go to the ranker (privacy).

Quick start

brew install bartlomein/tap/oko
cd your-project
oko setup --client claude     # or codex, cursor, opencode, pi, all

Without Homebrew: curl -fsSL https://raw.githubusercontent.com/bartlomein/oko/main/install.sh | sh.

Then use your coding tool as usual. Setup asks for a TypeSafe AI key the first time, connects your tool to Oko for this project, and checks the connection. Run it once per project; oko upgrade keeps everything current (with Homebrew, run brew upgrade oko first).

Codex: approve Oko's hook once

The first time you open the project, Codex shows Hooks need review. Choose Trust all and continue. If you skipped it, /hooks brings it back.

Cursor: turn Oko on once

Cursor adds a project's tools switched off. Open Customize > MCPs, click oko and turn it on.

Pi: trust the project

Pi 1.0 or later. Trust the project when Pi asks, then check /mcp. Pi setup.

Claude Code, OpenCode: nothing more to do

Start a new session after setup.

Platforms, manual install, no-key mode

macOS (Apple Silicon and Intel) and Linux (ARM64 and x64, glibc 2.35+). The installer puts oko in ~/.local/bin; add it to your PATH if needed. Other install options · Connect a tool by hand · Keys and configuration. For search without a key, add --no-jev: local keyword ranking only.

Results

The same task given to the same coding tool twice, once with its own search and once with Oko, in the same run. Means per session.

Coding toolTimeTokensTool callsTasks passed (without → with)
Claude Code47% less
12.1 → 6.4 s
44% less
24,271 → 13,627
89% less
3.5 → 0.4
19 → 20 of 20
Codex26% less
13.8 → 10.2 s
43% less
45,395 → 26,004
80% less
3.0 → 0.6
20 → 20 of 20
OpenCode47% less
18.0 → 9.6 s
43% less
13,196 → 7,528
87% less
3.7 → 0.5
21 → 21 of 21
Pi51% less
16.7 → 8.2 s
33% less
9,737 → 6,495
85% less
3.6 → 0.5
20 → 21 of 21
Cursor6% less
52.3 → 49.2 s
40% less
182,940 → 109,520
65% less
8.0 → 2.8
26 → 24 of 27

Models: Claude Sonnet 5.5 (Claude Code), GPT-6.1 Sol (Codex, OpenCode, Pi), Grok 4.7 High (Cursor), at their default or low effort. Cursor's row is from its own run on the previous release; the others are from October 2026. Each tool counts tokens its own way, so compare within a row. Small benchmark; your results will vary. Method, per-task results and caveats · raw data.

Other benchmarks

BenchmarkWhat it testsOkoBest comparison
Sense's agent benchmarkSix multi-step tasks, Claude Opus 4.7, run against Sense the same eveningFound 88% of the locations to cite, at half the costSense: 63%
Agent Retrieval Bench345 tasks: find the files a developer needs nextRight file ranked first most often: 0.37Best published method: 0.24
SWE-Explore848 real issues: rank the code fixing agents neededOne search ranks it within the range of agents that explore for many turns: 0.82Agents: 0.72–0.95

Where Oko helps less

  • Cursor's own search is already fast, so Oko saves less time there: mostly tokens and tool calls.
  • Duplicated code can mislead it. When two files hold identical copies of a function, Oko may show the wrong one first; one Astro edit task in our benchmark fails this way.
  • Big changes across many files: one search returns five places, so an issue touching many files still needs the agent's own exploring.

Use it from your terminal

oko ask "where is authentication handled?"
oko ask "how are retries handled?" --json
oko stats                     # what ranking has cost you

More in search options.

How it works

Oko searches your project locally (keywords, symbols and file structure), then asks Jev, TypeSafe AI's relevance model, which of the candidates actually answer the question, and returns those excerpts with exact line numbers. oko setup connects it to your tool as an MCP server, adds short guidance to the instructions your tool reads, and installs a hook that answers a code question as you send it. What setup changes · Privacy.

Documentation

I want to…Guide
Install, upgrade or troubleshootInstallation
Connect a tool by hand, or understand the MCP toolClient setup · MCP reference
Configure keys, .env or cachingConfiguration
Search from the terminal, or rank my own documentsSearch · Document ranking
See every benchmark and how it was runBenchmark results
Know what leaves my machinePrivacy

Contributing

Bug reports and ideas are welcome: open an issue with your OS and oko --version, without keys or private code. To build and test, see CONTRIBUTING.md.

License

MIT. Dependency attributions are in THIRD_PARTY_NOTICES.md.

Setup from the maintainer

This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.

Package

https://github.com/bartlomein/oko/releases/download/v0.9.1/oko-v0.9.1-macos.mcpbother

Compatible MCP Clients

Oko works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More