Skip to content
AI coding agent for C and C++

Writes C++. Proves it compiles, runs, and passes.

ByteAsk works in your terminal. It edits the code, runs the compiler, the sanitizers and your tests, and can drive the gdb session you already have open. You review the diff.

$ curl -fsSL https://code.byteask.ai/install.sh | sh
The deadlock is found and fixed.
Built-in support for
C/C++LLVMGCCclangCompiler ExplorergdbValgrindASan, UBSan, TSanperfmakeCMakeQuickBenchvcpkgConanGitLinux

It joins the gdb session you already have open.

Linux allows one debugger per process. If your gdb is attached, an agent that shells out to gdb gets Operation not permitted. ByteAsk connects through a bridge you start inside your own gdb, reads the live state, and asks before it runs anything that changes it.

Your gdb is stopped on the bug, and you ask an agent for help.

A shell agentClaude CodeLocked out
claude, ~/orderd
claude "my gdb is stopped on the deadlock in orderd, take a look"
Your gdb is holding the process.
$ gdb -p <pid> -batch -ex bt
warning: process <pid> is already traced by process <your-gdb>
ptrace: Operation not permitted.
One tracer per process. The kernel refuses
a second debugger while yours is attached.
ByteAskIn your session
byteask, ~/orderd
byteask "my gdb is stopped on the deadlock in orderd, take a look"
Joined through the bridge you started.
(gdb) bt
#3 OrderBook::cancel (...) at order_book.cpp:214
(gdb) p risk_mtx_._M_mutex.__data.__owner
$1 = 71154 (held by the risk thread)
Your breakpoints are still set for the next turn.
+ std::scoped_lock lk(book_mtx_, risk_mtx_);
Proposed, waiting for your approval.

Your gdb holds the process. A second debugger is refused by the kernel. ByteAsk goes through the bridge you started.

your machineyour gdbthe bridge you armedbyteask CLIcpp tools, sanitizers, testsByteAsk gatewaymodel providerOpenAI, Anthropic, Googlebridgeyour requestmodel requestBYOK or self-hosted models: direct

How a session is wired.

Check it yourself: while your gdb holds a process, run gdb -p <pid> in another shell.

An agent that shells out to gdb can run it in batch mode on a process nobody is debugging. It cannot join the session you are in, because Linux gives each process one tracer and that tracer is your gdb. ByteAsk connects through a bridge you start inside your gdb, reads the stop state, and proposes any command that would change it.

You get the tool's full output.

ByteAsk builds with your flags, runs the sanitizers, and runs your tests. It hands back the raw report with the frames, files and line numbers intact, so you can check the agent's reasoning against the same evidence.

ASang++ -O1 -g -fsanitize=address -fno-omit-frame-pointer order_book.cpp && ./order_book_asan
==2967905==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60c0000000c8WRITE of size 4 at 0x60c0000000c8 thread T0    #0 0x55d75c82e5a6 in OrderBook::cancel_all() demo/outputs/order_book.cpp:31    #1 0x55d75c82e5a6 in main demo/outputs/order_book.cpp:42    #2 0x7feead645249 in __libc_start_call_main libc_start_call_main.h:580x60c0000000c8 is located 8 bytes to the right of 128-byte regionallocated by thread T0 here:    #0 0x7feeadcb94c8 in operator new(unsigned long)SUMMARY: AddressSanitizer: heap-buffer-overflow demo/outputs/order_book.cpp:31
g++ 12.2 with AddressSanitizer, captured 2026-09-03. Source and script in demo/outputs. The overflow is the one bug in order_book.cpp: cancel_all() walks the level array one iteration too far.
ctestcmake -B build && cmake --build build && ctest --test-dir build
Test project demo/outputs/build1/3 Test #1: book_ops .........................   Passed    0.00 sec2/3 Test #2: risk_engine ......................   Passed    0.00 sec3/3 Test #3: wire_codec .......................   Passed    0.00 sec 100% tests passed, 0 tests failed out of 3 Total Test time (real) =   0.01 sec
ctest on the same tree, same run. The three demo tests from the same tree, each a plain executable that returns zero when it passes.

Nothing in these two blocks was typed by hand. They are what the tools printed.

Use our models, your key, or your own server.

Managed

Sign in and use OpenAI, Anthropic and Google models through ByteAsk. No API key to paste.

byteask login
Your key

Use your own OpenAI, Anthropic or Gemini key. Traffic goes straight to the provider, not through ByteAsk.

byteask byok set
Your server

Point ByteAsk at vLLM, Ollama, llama.cpp, LM Studio, TGI, SGLang or a LiteLLM proxy. Self-hosted models are not metered.

byteask models add my-model --url http://your-host:8000

Reference documents it can cite

Seven built-in reference tools search these standards and datasheets and return the exact passage with a page citation. If there is no match, they say so instead of guessing.

ToolCorpus
autosar_refAUTOSAR C++14 · MISRA · ISO C++
mcu_refSTM32 · Cortex-M · Modbus · CAN
fpga_refXilinx UltraScale · AMBA AXI
hft_refITCH/OUCH · FIX · IEEE 1588 PTP
grid_refIEEE 1547 · 2030.5 · SunSpec
scpi_refSCPI · instrument manuals
x86_refx86-64 Software Developer Manual

Install.

One command on Linux, macOS or Windows, or a plugin for your editor. Sign in with a link sent to your email.

1

Install

One line on Linux, macOS or Windows, or an editor plugin.

2

Sign in

A link is emailed to you. There is no password.

3

Run it in a repo

Describe the change. ByteAsk edits, builds and tests, then shows the diff.

macOS Apple SiliconLinux x86_64, arm64Windows native

Editors also on Windsurf and VSCodium via Open VSX. Every connector needs the byteask CLI on your PATH.

Pick your platform
$ curl -fsSL https://code.byteask.ai/install.sh | sh

Your code stays yours.

Zero-retention by design. Your machine carries a short-lived token and nothing more.

Zero data retention

Your prompts and code are processed to answer the request, then dropped. Nothing is kept.

Read the privacy policy

Not used to train models

Your repositories are not used to train any model. Ours or anyone's.

Passwordless sign-in

A signed magic link logs you in. No password to manage, and nothing to paste or leak.

Read the privacy policy

Pricing.

Free to start. Paid plans add usage.

Plans and what each includes
FeatureFreeProMax
Price$0forever$20per month$100per month
UsageBase monthly usage3x the usage of Free20x the usage of Free
C and C++ toolchainIncludedIncludedIncluded
Sanitizers, gdb, and your testsIncludedIncludedIncluded
Install with pip, uv, or npmIncludedIncludedIncluded
Run priorityStandardPriority runsHighest priority runs
SupportCommunity supportEmail supportDedicated support
Get startedGet startedStart ProGo Max

Free

Price$0forever
UsageBase monthly usage
C and C++ toolchainIncluded
Sanitizers, gdb, and your testsIncluded
Install with pip, uv, or npmIncluded
Run priorityStandard
SupportCommunity support

Pro

Price$20per month
Usage3x the usage of Free
C and C++ toolchainIncluded
Sanitizers, gdb, and your testsIncluded
Install with pip, uv, or npmIncluded
Run priorityPriority runs
SupportEmail support

Max

Price$100per month
Usage20x the usage of Free
C and C++ toolchainIncluded
Sanitizers, gdb, and your testsIncluded
Install with pip, uv, or npmIncluded
Run priorityHighest priority runs
SupportDedicated support

Self-hosted models are never metered by ByteAsk and do not count against your plan. With your own key, traffic goes directly to the provider.

Install ByteAsk.

$ curl -fsSL https://code.byteask.ai/install.sh | sh