ByteAsk
ByteAsk is a terminal-native AI coding agent built for C and C++ development. It edits your repository from the terminal, then drives the real toolchain — sanitizers, your test suite, and any gdb session you already have open — and hands you a diff that survived the debugger.
Your prompts and code are processed to answer the request, then dropped. Nothing is stored, and your repositories are never used to train models. See the Privacy Policy.
Installation
Linux and macOS
curl -fsSL https://code.byteask.ai/install.sh | sh
Windows
irm https://code.byteask.ai/install.ps1 | iex
Python (pip / uv)
pip install byteask
# or
uv tool install byteask
Node (npm)
npm install -g @byteask/cli
Update
byteask --update
If you received a referral code, prefix the install command with BYTEASK_REF=<code> — you and the person who referred you each get $10 of usage credit:
BYTEASK_REF=MYCODE curl -fsSL https://code.byteask.ai/install.sh | sh
This works for every install method (pip install byteask && BYTEASK_REF=MYCODE byteask, etc.). You can also enter the code when you first sign in.
Supported platforms
| Platform | Architecture |
|---|---|
| macOS | Apple Silicon (arm64) |
| Linux | x86_64, arm64 |
| Windows | x86_64 (native, no WSL required) |
Quick start
After installing, sign in. ByteAsk uses magic-link email sign-in — no API key required by default. Just run byteask and it walks you through it on first launch, or sign in explicitly:
byteask login
Enter your email, click the link ByteAsk sends you, and you're in. (Disposable/throwaway addresses and .ac.in academic domains aren't supported; you'll be asked for a different email.)
Then run it inside any Git repository:
cd ~/your-project
byteask "find the memory leak in parser.cpp and fix it"
ByteAsk opens a full-screen TUI, reads your codebase, edits files, compiles, runs tests, and presents a diff for your review before making permanent changes (by default).
Non-interactive mode
For scripting and CI pipelines, use the exec subcommand:
byteask exec "add null-checks to all public API entry points"
Config file
ByteAsk reads ~/.byteask/config.toml on startup. Generate a starting config with:
byteask doctor
Key settings:
# Model to use
model = "gpt-5.4"
# How much the agent can do without asking
# "on-request" (default) | "untrusted" | "never"
approval_policy = "on-request"
# Web search capability
# "disabled" | "cached" (default) | "live"
web_search = "cached"
Override any key inline without editing the file:
byteask -c model="gpt-5.4" -c approval_policy="never" "refactor the logger"
Feature highlights
| Feature | Description |
|---|---|
| Interactive TUI | Full-screen terminal UI with streaming output, approval prompts, and session history |
| C/C++ tools | Compiler Explorer, sanitizers, gdb, rr, perf, clang-tidy, and more — built in, shown as visible cells |
| Reference tools | Page-cited lookups for AUTOSAR/MISRA, MCUs, FPGAs, HFT protocols, grid standards, SCPI, x86 |
| Self-hosted models | Point ByteAsk at your own vLLM / Ollama / DGX server — your compute, never metered |
| Cloud models | OpenAI GPT-5.4+, Anthropic Claude, and Google Gemini — no API key required |
| Approval modes | Fine-grained control over what the agent can do autonomously |
| MCP servers | Connect any Model Context Protocol server |
| Session management | Persist, resume, fork, and archive conversations |
| Multimodal input | Attach images to any prompt |
| Non-interactive mode | Scripting-friendly exec subcommand with JSONL output |
| Sandboxing | Bubblewrap (Linux) / Seatbelt (macOS) filesystem isolation |
| BYOK | Use your own OpenAI / Anthropic / Gemini key — traffic goes direct |
| Plans, usage & credit | Track usage, upgrade, and earn credit via /usage, /upgrade, /referral-code, /voucher |
For the full list, see Features. For the in-app commands (including the ByteAsk-specific /usage, /referral-code, /voucher, and /upgrade), see Slash Commands.