Oko
io.github.bartlomeinPublished by GitHub account bartlomeinv0.9.1Updated Oct 26, 2026
Code search for coding agents: ranked, exact excerpts with line numbers.
Overview
Oko gives coding agents ranked, exact code excerpts with line numbers so they find relevant source faster and use fewer tokens.
- What you can do
- Search a local project for code relevant to a question and return ranked excerpts with exact line numbers
- Rank candidates with the Jev relevance model from TypeSafe AI, or fall back to local keyword ranking without a key
- Answer code questions from the terminal, optionally as JSON, and report ranking costs
- Connect to coding tools such as Claude Code, Codex, Cursor, OpenCode and Pi, adding guidance and a hook that answers a code question as it is sent
- When to use it
- Worth adding when you use a coding agent on a project and want it to spend fewer search rounds, tokens and tool calls locating the right files. Less useful where the tool's own search is already fast, for duplicated code, or for changes spanning many files.
- Requirements
- Runs as a local process on macOS (Apple Silicon and Intel) or Linux (ARM64 and x64, glibc 2.35+), installed via Homebrew or an install script. A TypeSafe AI key in TYPESAFE_API_KEY is needed for Jev ranking; a no-key mode with local keyword ranking is available. Setup is run once per project, and some clients need a one-time trust or enable step.
Installation
In SourceWeft
- Open Oko in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[Oko: a pixel-art eye with a blue iris]
Oko
Help your coding agent find code faster and use fewer tokens.
[CI] [Latest release] [MIT license]
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.
[Bar chart: with Oko, Claude Code spends 47% less time, 44% fewer tokens and 89% fewer tool calls; Codex 26%, 43% and 80%; OpenCode 47%, 43% and 87%; Pi 51%, 33% and 85%; Cursor 6%, 40% and 65%.]
Nine coding tasks on Astro, HTTPX and ripgrep, three runs each, with and without Oko. Results · Method
- 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
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.
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
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
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
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.
Source: README.md at commit dedd485
Tools
0Version history
1- v0.9.1LatestOct 20, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
