A reason that was recorded
The answer arrives with the pull requests and issues it rests on. Every citation resolves to evidence that was really retrieved, with a valid line range.
Ask something above to see real ones.
Icarus · macOS · alpha
Icarus answers from your repository's own pull requests and issues, shows the evidence, and says “no one wrote this down” when nobody did.
Replaying a real exchange · psf/requests
Live, on simonw/llm · 526 pull requests · 964 issues · 1,091 commits · 470 code windows · no sign-inBehind you: the real evidence graph, 2,599 nodes and 934 edges. Green is cited, amber is searched.
The part nobody else demos
Other assistants guess, confidently, and never say it was a guess. Icarus refuses instead, and the refusal is enforced by code rather than by asking a model nicely.
A reason that was recorded
The answer arrives with the pull requests and issues it rests on. Every citation resolves to evidence that was really retrieved, with a valid line range.
Ask something above to see real ones.
A reason nobody recorded
“No one wrote this down.” Icarus found the code and found no recorded reason, so it will not invent one. This is the refusal working, not a failure.
It will abstain more often than you expect. That is the design.
How it works
01
Sign in with GitHub, point Icarus at a repo. It indexes source, pull requests and issues — 22 file types, ~17 languages.
02
Hold Right Option anywhere on your Mac and speak, or press ⌘⇧I to type.
03
A one-line spoken answer, with the quoted evidence on screen linked to the exact lines on GitHub. Or nobody recorded a reason, and it says so.
What it will not do
This is not a coding agent.
Every citation must resolve to real retrieved evidence with a valid line range, or the answer is refused.
If nobody wrote down why, it says so rather than reconstruct a plausible story.
Large repositories index slowly, and it is not notarized yet.
What your agent cannot see
A merged pull request leaves a commit. A refused one leaves nothing, so git log, git blame and the working tree are blind to every change your team tried and closed. Your agent reads exactly those three. Icarus reads the rest.
{
"mcpServers": {
"icarus": {
"type": "stdio",
"command": "/Applications/Icarus.app/Contents/MacOS/Icarus",
"args": ["--mcp"]
}
}
}The app is the server — no package, no credential to paste. For Claude Code this is already done if you followed Get started; Settings shows live status and can repair it.
Install
Not notarized — that needs a paid Developer ID this alpha does not have — so the checksum is below and you can verify the download yourself.
01
Download the .dmg, or use the terminal path below.
02
Open Icarus, click “Sign in with GitHub.” Asks for your identity only — nothing else, yet.
03
Type owner/repo and press Connect. Icarus indexes it — seconds to a few minutes.
04
Settings → Connect, approve Keychain access. Skip if you don’t use Claude Code.
Terminal — recommended
curl -fsSLO https://icarus-website-kappa.vercel.app/install.sh less install.sh # ~100 lines, half of them comments — read it sh install.sh
SHA-256 · fd5ec36f66a020618ded160f6ba35dc5d477e7a1701ce18fc788660dc9d105c3