AlbertCode is not only in the terminal, the browser and VS Code. The same agent, with the same plans, approvals, isolated copy, checks and sessions, runs in two more kinds of editor:
| Editor | How | Read |
|---|---|---|
| Cursor, Windsurf, VSCodium and other editors built on VS Code | The AlbertCode extension, the same file as for VS Code | Editors built on VS Code |
| Zed, JetBrains IDEs (IntelliJ IDEA, PyCharm, WebStorm, GoLand and the rest), Neovim, Emacs, Sublime Text and other editors that speak the Agent Client Protocol | albertcode acp, started by the editor |
Editors that speak the Agent Client Protocol |
Either way the editor is one more way into the same service: a session started in an editor shows in the terminal and the browser, and the other way round.
Cursor, Windsurf, VSCodium and other editors built on VS Code install the AlbertCode extension from the same
.vsix file as VS Code, and it works the same way: see VS Code for the panel and its commands.
- Install AlbertCode (Installation) and run
albertcodeonce in a terminal. - Download
albertcode-<version>.vsixfrom the latest release. - In the editor, open Extensions, then ⋯ → Install from VSIX…, and choose the file. Or, from a terminal:
cursor --install-extension albertcode-1.55.0.vsix # Cursor
windsurf --install-extension albertcode-1.55.0.vsix # Windsurf
codium --install-extension albertcode-1.55.0.vsix # VSCodiumThe extension uses only VS Code's standard features and needs a version built on VS Code 1.95 or later, which every current release of these editors is.
The Agent Client Protocol is how an editor runs a coding agent it did not
build. The editor starts albertcode acp, and AlbertCode answers in the editor's own agent panel.
- Install AlbertCode (Installation).
- Run
albertcodeonce in a terminal and choose a model (/model). The editor uses the model AlbertCode is set to;albertcode models use <provider:model>changes it, for the editor and every new session.
Open the agent settings (agent: open settings), go to External Agents, choose Add Agent → Add Custom Agent, and set it to:
{
"agent_servers": {
"AlbertCode": {
"type": "custom",
"command": "albertcode",
"args": ["acp"],
"env": {}
}
}
}Then start a thread in the agent panel and choose AlbertCode.
In AI Chat, open the ⋯ menu and choose Add Custom Agent. The IDE opens ~/.jetbrains/acp.json; add
AlbertCode to it:
{
"agent_servers": {
"AlbertCode": {
"command": "albertcode",
"args": ["acp"],
"env": {}
}
}
}Choose AlbertCode in AI Chat's agent list. No JetBrains AI subscription is needed for an agent of your own.
Each has a plugin that speaks the Agent Client Protocol: for Neovim, CodeCompanion or avante.nvim; for Emacs,
agent-shell; for Sublime Text, its ACP plugin. In the plugin's settings for an agent of your own, set the command
to albertcode and its arguments to acp. The protocol's site lists every
editor that supports it.
An editor started from the Dock, the Start menu or a launcher may not see the PATH your terminal has. Use the
command's full path instead of albertcode:
| On | Usually | To be sure, run |
|---|---|---|
| macOS and Linux | ~/.local/bin/albertcode (written out in full: the editor may not expand ~) |
which albertcode |
| Windows | %USERPROFILE%\.local\bin\albertcode.exe (written out in full) |
where albertcode |
| In AlbertCode | In the editor |
|---|---|
| Modes (Governed, Direct asking each write, Direct auto, Ask only) | The editor's mode picker. A new session starts in Governed |
| Approval 1: the plan | A question: Approve and build, or Reject the plan. The plan is shown with it, and its steps become the editor's plan |
| A write in Direct | A question: Allow, Allow the rest of this task, or Decline |
| Approval 2: the diff | A question, with the change shown as the editor's own diff: Accept into your files, or Discard the change |
| A change offered in Ask only | A question: plan it, do it directly, or not now |
| What Albert reads, searches, edits and runs | The editor's list of steps, each running, then done or failed |
/plan and /do |
The same commands, typed after / |
| Files you mention or attach | Named in the message (Albert reads them in the repository), or quoted when the editor sends their contents; pictures are attached |
| Sessions | Listed and opened again in the editor, with their conversation; the same sessions as the terminal and browser |
A question answered in the terminal or browser first is withdrawn from the editor. Stopping the editor's prompt stops the work, as Stop does in the browser.
A change the reviews blocked can only be discarded in the editor: accepting it needs an administrator's written reason, which the terminal and browser ask for.
The editor's own MCP servers are not passed to AlbertCode, which uses its own: see MCP servers.
| What you see | What to do |
|---|---|
| The editor says the agent could not start | Run albertcode acp in a terminal. It waits silently for an editor: that is right (Ctrl C ends it). An error there says what is wrong. If the command is not found, see If the editor cannot find albertcode |
| "Choose a model first" | Run albertcode in a terminal and type /model |
| "AlbertCode's service could not be reached" | albertcode status, then albertcode to start it |
| An answer never comes | Open the same session in the terminal (albertcode --resume) or the browser: what it is doing is shown there |
Messages from albertcode acp itself go to standard error, which most editors keep in their log for agents, never
into the conversation.