BEE Code for VS Code
An agentic coding assistant for VS Code, from HEOSSI.
Ask for a change in plain language; Bee reads the workspace, plans, edits files,
runs commands and reports what it did - with an approval gate on every change
and a way to take any of it back.
Bee Code speaks Bee's agent plane (bee.code.v1). It never calls the chat
plane. The transcript, the approval gate and the loop all live in the editor:
the server answers one turn at a time and holds nothing between them, so your
conversation and your code stay on your machine.
Approval, not autonomy
Nothing is edited or executed without being shown to you first. Tools fall into
four classes and only the first is silent:
| Class |
Examples |
Asks? |
| read |
list, search, read, diagnostics |
no |
| edit |
create, write, append, patch, delete |
yes |
| command |
run a command, poll it, cancel it |
yes |
| publication |
git push, open a pull request |
always |
Approvals can be granted for the rest of a session, and are cleared when the
session ends - consent never outlives the conversation that gave it.
Set beecode.initialMode to auto if you want edits to apply without asking.
Publication actions still ask; that is not configurable.
Taking it back
Hover any message you sent. Three separate things people mean by "undo this",
kept separate because conflating them destroys work:
- Swarm from here - branch the conversation, leave the files alone.
- Rewind the comb - put the files back, keep the conversation.
- Swarm and rewind - both, returning to just before that message.
Files are snapshotted immediately before every change, so a rewind restores
exactly what the turn touched and nothing else. Rewinding past a file's
creation deletes it, and the confirmation says so by name.
What it can do
Eighteen tools: workspace listing and search (ripgrep); file read, create,
write, append, patch and delete; long-running commands with polling and
cancellation; diagnostics straight from the language servers already running in
your editor; and git init, status, branch, commit and push.
Diagnostics are the reason an editor agent beats a terminal one - Bee sees what
your language server sees, without re-invoking a compiler.
Safety
- Path confinement. Every path resolves against the canonical workspace
root. Absolute paths,
.. traversal, and symlinks pointing outside are
refused.
- Secrets excluded by default.
.env, *.pem, *.key, id_rsa*, .aws/
and .ssh/ are never read, sent as context, or edited - including when
explicitly requested. Configurable via beecode.deniedPaths.
- Commands run from an argv array, never a shell. Shell metacharacters are
data, not syntax.
beecode.allowedExecutables starts empty, so every command
asks until you decide otherwise.
- Restricted Mode is refused, not degraded. Bee Code will not run in an
untrusted workspace rather than operate in a half-trusted state.
- Commit attribution is transparent and optional. Commits created through
Bee Code keep your configured Git identity as the primary author and add the
selected model name as a separate
Co-Authored-By trailer. Set
beecode.gitCommitAttribution to false to omit it.
Sessions
Conversations are stored on your own machine and reopen with their full
transcript. Rename and delete are one click.
History is unbounded and nothing is ever deleted for you. If it grows past
beecode.sessionSizeWarningMb (1 GB by default) you are told, once, and what to
do about it is your decision. beecode.sessionRetentionDays can expire old
sessions automatically, but it defaults to 0 - keep everything, forever.
Settings
| Setting |
Default |
What it does |
beecode.apiUrl |
https://api.bee.heossi.com/bee/code/v1/turns |
Agent-plane endpoint |
beecode.model |
bee-cell |
Bee tier used for agent turns |
beecode.initialMode |
manual |
manual, plan, edit or auto |
beecode.deniedPaths |
secrets globs |
Never read or edited |
beecode.allowedExecutables |
[] |
Commands that may run without asking |
beecode.autosave |
true |
Flush dirty editors before reading or writing |
beecode.respectGitIgnore |
true |
Exclude .gitignore matches from listing and search |
beecode.gitCommitAttribution |
true |
Add the selected Bee model name to Bee-created commits; does not change the primary author |
beecode.sessionRetentionDays |
0 |
0 keeps every session forever |
beecode.sessionSizeWarningMb |
1024 |
Warn past this; never deletes |
Commands
Bee Code: Sign In, Sign Out, Open in New Tab, Open in Side Bar,
New Session, Session History, Delete Session, Focus Input,
Cancel Current Turn, Insert Selection Reference, Show Logs.
Keyboard: Cmd/Ctrl+Esc focuses the input,
Alt+K inserts a reference to the current selection, and
Cmd/Ctrl+Shift+Backspace cancels a running turn.
Signing in
Bee Code works with your existing Bee subscription. Three routes, one per
billing track:
- Bee Workspace Subscription - Individual & Teams plans, Cell through
Swarm. Opens your browser.
- Bee Business & Enterprise Subscription - Regulated Cloud and Enclave plans. Opens your browser,
then confirms the entitlement against your account rather than assuming it
from the button you pressed. If the account is on another plan you are told,
and the sign-in still stands.
- Bee API Subscription - Bee Pollen, Nectar, Honey or Royal Jelly plans. Uses a
bee_sk_ key with the code:actions:write scope, created under
Account → API keys in your Bee workspace.
If you have already run beecode login in a terminal, that session is picked
up automatically; there is nothing to click.
Credentials are held in VS Code's SecretStorage, which is encrypted at rest and
excluded from settings.json and Settings Sync. Bee Code: Sign Out removes
them.
Status
Version 0.2.5. See CHANGELOG.md.
Bee Code is part of Bee by HEOSSI - The Progressive Quantum-Native
Intelligence Engine. bee.heossi.com