Any OpenAI-compatible model
Switch between endpoints and models from the input bar. Model lists load straight from GET /models.
Now at v0.3 · for VS Code & code-server
Baala Code works inside your editor. The agent loop, tools, prompts and provider adapters are yours. Point it at any OpenAI-compatible model and keep every key, file and conversation on your own server.
read_filesrc/uploader.tsedit_filesrc/uploader.ts+3 run_commandnpm test01
Hosted APIs, self-hosted gateways or serverless GPUs: anything that speaks /v1/chat/completions.
02
Edits, commands and reads outside the workspace wait for you. Sensitive files always ask.
03
History, profiles and preferences live on the machine running your editor, not in a third-party cloud.
Product
Switch between endpoints and models from the input bar. Model lists load straight from GET /models.
Reads and searches run directly. Edits and commands show a permission card you approve once or for the session.
Every turn records the files it touched. Review diffs in the changed-files card and revert them in one click.
Old tool output is trimmed and long sessions compact themselves near the limit, so work continues without starting over.
Stalled streams are detected and dropped connections retried, keeping the partial reply. Rate limits honour Retry-After.
Keep typing during a turn. Follow-ups are queued and delivered before the next model call. Stop is always one click away.
How it works
Baala Code runs its own agent loop: model call, tools, results, repeat. Every step appears in the panel as it happens.
read_filelist_dirsearchedit_filewrite_filerun_command
The model reads your request with the project's AGENTS.md and any custom instructions. Reasoning streams into the panel.
It reads files, lists directories and searches with ripgrep to build context, then proposes edits or commands.
Anything that changes your workspace pauses on a permission card. Nothing is written or run without your say.
Diffs land in the changed-files card. Keep them, or undo the turn and every file goes back as it was.
Safety
"Allow everything this session" speeds up routine work. These checks stay on even then.
Reading or writing .env*, *.key, *.pem, SSH keys or cloud credentials needs explicit confirmation every time.
Reads, listings and searches outside the open workspace need your authorization first.
Shell commands that delete files are flagged and held for approval, whatever the session allows.
Search skips sensitive files by default, so keys are never indexed into results or sent to the model.
Profiles point to a key file or environment variable. The panel never receives an inline secret and cannot write one.
Open the exact payload of the last model call at any time. The whole system prompt lives in your repository.
Models
A profile bundles an endpoint, its credentials and its models. Keep as many as you like and switch the active one from the panel.
Changelog
The endpoint card folds into a status chip once the model is ready.
Sensitive-file confirmation, workspace boundaries and secret-free search.
Context compaction, resilient stream retry and message queueing.
Switchable endpoints and live endpoint status. Rename and delete conversations.
Our own agent loop, six tools, permission cards, history and Undo.
Early access, team deployments and partnerships.
hi@baala.net