ACP Nakedev
VS Code / Cursor extension that connects AI agents (including Hermes Agent) to your editor via the Agent Client Protocol (ACP).
Prerequisites
- Install an ACP-compatible agent (default: Hermes):
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.zshrc
hermes model # configure provider credentials
hermes acp --check
- Open a workspace folder (agents need a working directory).
Development
npm install
npm run compile
npm test
npm run lint
Press F5 in VS Code or Cursor to launch an Extension Development Host.
Usage
- Open the ACP Nakedev icon in the Activity Bar.
- Type a message in the chat panel — the extension connects automatically.
- Use the session button in the header to pick, fork, or start sessions.
- Approve tool/terminal permissions when the agent asks (or enable auto-approve in settings).
Composer
| Control |
Description |
| Session |
Short session id — opens session picker (new, resume, paginated list, fork) |
| Provider / Model |
From ACP session/config when available; Hermes falls back to /model |
| Mode |
Edit permission mode (Default / Accept Edits / Don't Ask) |
| Stop |
Cancels the current turn (session/cancel) |
| @ |
Attach workspace files via autocomplete in the prompt |
| / |
Slash commands from ACP availableCommands (+ Hermes skills when applicable) |
| Paste image |
When agent advertises image prompt capabilities |
Commands
| Command |
Description |
ACP Nakedev: Pick Session |
New, resume, fork, disconnect, or log out |
ACP Nakedev: Fork Session |
Fork the current session |
ACP Nakedev: Cancel Turn |
Stop the running agent turn |
ACP Nakedev: Switch Agent |
Change acpNakedev.activeAgent (multi-agent) |
ACP Nakedev: Log Out Agent |
ACP logout + disconnect |
ACP Nakedev: Settings |
Quick settings menu |
ACP Nakedev: Show Log |
ACP traffic / extension log |
- Hermes loads MCP from
~/.hermes/config.yaml — IDE MCP is not forwarded by default for Hermes.
- Set
forwardMcp: true on an acpNakedev.agents entry to forward IDE MCP config (auto-detects .cursor/mcp.json, .vscode/mcp.json).
- Tool activity appears as compact status cards with optional diff previews.
- Permission requests can show a diff preview before you approve.
Multi-agent (acpNakedev.*)
Fresh installs include the same agent presets as ACP Client (Copilot, Claude, Gemini, Codex, OpenCode, …) plus built-in Hermes.
{
"acpNakedev.activeAgent": "hermes",
"acpNakedev.agents": [
{
"id": "opencode",
"displayName": "OpenCode",
"command": "npx",
"args": ["opencode-ai@latest", "acp"],
"forwardMcp": true
}
]
}
The built-in Hermes agent uses hermes.path and hermes.args.
Settings
| Setting |
Default |
Description |
hermes.path |
hermes |
Hermes executable (built-in agent only) |
hermes.args |
["acp"] |
Arguments for built-in Hermes |
acpNakedev.defaultWorkingDirectory |
"" |
Session working directory |
acpNakedev.autoApprovePermissions |
false |
Auto-approve ACP permission requests |
acpNakedev.showThoughts |
false |
Show thinking in a collapsible block |
acpNakedev.openWrittenFiles |
false |
Open files after fs.writeTextFile |
acpNakedev.logTraffic |
false |
Log JSON-RPC to output channel |
acpNakedev.mcpConfigPath |
"" |
IDE MCP JSON path (empty = auto-detect) |
acpNakedev.restrictFileAccessToWorkspace |
true |
Limit ACP fs to workspace roots |
acpNakedev.activeAgent |
hermes |
Active agent id |
acpNakedev.agents |
(10 presets) |
Extra ACP agents |
Legacy hermes.cwd, hermes.autoApprovePermissions, acp.agents, and acp.activeAgent are still read but deprecated.
Architecture
VS Code / Cursor Extension
├── spawns agent subprocess (default: hermes acp)
├── JSON-RPC over stdio (@agentclientprotocol/sdk)
├── handlers: fs, terminal, permissions, elicitation
├── document sync → unstable NES notifications (when supported)
└── chat webview for prompts + streaming responses
Install as VSIX
npm install -g @vscode/vsce
npm run vsix
Install the .vsix via Extensions → Install from VSIX.
Troubleshooting
hermes not found — set hermes.path to the full path, or launch the editor from a shell where which hermes works.
- Empty model list — for Hermes, run
hermes model once; for other agents, check ACP session config options.
- Agent crashed — status shows reconnect?; send a message or use Pick Session to reconnect.
- Stop ignored — ensure the turn is in progress; cancel uses ACP
session/cancel.
- Connection fails — run
ACP Nakedev: Show Log and verify the agent command runs in a terminal.