Compiler-accurate context for C and C++ agents.
ByteAsk Context reads your project through its real build, so Claude Code knows where a change belongs, what each call resolves to, and what else has to change.
“Bug report: duplicate packets are sometimes counted as gaps. When seq_no wraps around past 4294967295 back to 1, stats.gaps increments and the duplicate check stops working.”
A real answer from ByteAsk to Claude Code on a demo feed-handler repository, trimmed for length.
What your agent can ask
The index is built from your compile_commands.json, so it sees the code your compiler sees.
Where does this change belong?
Places in your code ranked for the task, each with its evidence and the code itself.
What does this call actually reach?
The code and callers of a function, with overloads and template instantiations as the compiler resolved them.
What else does this change need?
The sibling overloads and other call sites a change probably has to touch too.
How does fmt do it?
Search public C and C++ libraries ByteAsk has indexed, such as fmt, abseil and spdlog.
One prompt to set up. One small script, checked first.
Your agent shows every change and the cost before it runs anything.
Paste one prompt
Your agent registers the ByteAsk MCP server. In Claude Code and Codex it also installs one small hook script after checking its SHA-256, and adds a short instruction block (in
~/.claude/CLAUDE.mdfor Claude Code).Sign in
Choose Allow for the hook in your browser, restart your agent, then finish its MCP sign-in. In Claude Code: type
/mcp, pick byteask, choose Authenticate.Approve what is indexed
Your agent asks first and previews exactly which files would be uploaded, by folder. Leave any folder out.
Work as usual
When you describe a bug or change, the hook asks ByteAsk first, so your agent starts from the ranked places. After it edits files, it syncs only the changed ones.
Needs a compile_commands.json, a git repository (a remote is optional) and Python 3. Linux and macOS.
Set up ByteAsk (https://byteask.ai) for me.
Here are your instructions: https://byteask.ai/agent-guide.txt
Read them in full and follow them step by step.
Ask me what you need in one message, then do the whole setup yourself.
Never spend money without asking me first.- Claude Code
- Codex
- Cursor
- Windsurf
- VS Code
What leaves your machine, and what doesn’t.
Indexing uploads source files to ByteAsk. Here is exactly which ones, and how to have them deleted.
- Before you approve
- No code. No code is uploaded until you sign in and approve indexing a repository.
- When you type a task
- In a C or C++ git repository, the hook sends your request and the repository’s remote address (or, without a remote, its first commit’s id) to ByteAsk before Claude starts, and adds ByteAsk’s answer to Claude’s context. Anywhere else it sends nothing.
- When you approve
- The files your build reads, uploaded to ByteAsk’s servers: sources, headers, generated headers and the system headers they include. Only from the folders you keep.
- Not uploaded
- Docs, test data, assets and
.envfiles. - After your agent edits
- Only the changed files from the list you approved.
- Read by a model
- To rank where a task’s change belongs, a small OpenAI model reads short excerpts of candidate code through OpenAI’s API. Under OpenAI’s API terms, that data is not used for training.
- Deleting
- Delete a repository or your whole account any time at app.byteask.ai. Access ends at once and copies are removed.
- For companies
- A dedicated server, or on-prem. Contact us.
Start on the Free plan. No card needed.
To remove it later, run the two commands under Remove in the setup guide.