ACP (Agent Client Protocol)#
gptme implements the Agent Client Protocol (ACP), allowing it to be used as a coding agent from any ACP-compatible editor such as Zed and JetBrains IDEs.
This enables a seamless integration where your editor can leverage gptme’s powerful toolset (code execution, file editing, web browsing, etc.) directly within your development workflow.
Note
ACP support is currently in development. Phase 1 (basic integration) is complete. Future phases will add tool call reporting, session persistence, and enhanced features.
Installation#
Quickest (no install required)
uvx gptme-acp
gptme-acp is a thin shim package that pulls in gptme[acp] and exposes the ACP server as its default executable. This is the form used by editor integrations and the ACP agent registry.
Persistent install via pipx
pipx install gptme-acp
gptme-acp
Direct install of gptme with the acp extra
pipx install 'gptme[acp]'
gptme-acp
Usage#
Running the Agent#
Start the gptme ACP agent:
# Recommended: via the gptme-acp shim (no install needed)
uvx gptme-acp
# Or directly if gptme[acp] is installed
gptme-acp
# Or via module
python -m gptme.acp
The agent communicates via stdio using the ACP protocol, making it compatible with any ACP client.
ACP Agent Registry#
gptme can be discovered and launched automatically by ACP-compatible editors via the ACP agent registry. The registry entry uses the gptme-acp package:
{
"package": "gptme-acp",
"launch": {"type": "uvx"}
}
The separate gptme-acp package is necessary because the registry only supports launching the default executable of a plain PyPI package name — extras-qualified specs (gptme[acp]) and --from flags are not supported.
Editor Integration#
Zed Editor
Zed has native ACP support. To use gptme as your coding agent:
Install gptme with ACP support
Configure Zed to use gptme as the agent command
The agent will be available in Zed’s agent panel
JetBrains IDEs
JetBrains IDEs with ACP plugin support can integrate with gptme similarly. Configure the plugin to use python -m gptme.acp as the agent command.
Architecture#
The ACP implementation in gptme consists of:
- GptmeAgent
The main agent class implementing the ACP interface. It:
Handles
initializeto set up the gptme environmentCreates sessions via
new_sessionwith proper loggingProcesses prompts through gptme’s chat infrastructure
Streams responses back to the client
- Session Management
Each ACP session maps to a gptme conversation with:
Isolated log directory
Working directory context
Full tool access (code execution, file editing, etc.)
Protocol Methods#
The agent implements the following ACP methods:
- initialize
Negotiates protocol version and initializes gptme. Called once when a client connects.
- new_session
Creates a new gptme session with:
Unique session ID
Working directory context
Initial system prompts and tool configuration
- prompt
Handles user prompts by:
Converting ACP content to gptme messages
Running through gptme’s chat step
Streaming responses via
session/updateReturning completion status
Configuration#
The ACP agent uses gptme’s standard configuration. You can customize:
Model: Set via
GPTME_MODELenvironment variable or configTools: All gptme tools are available by default
Working Directory: Inherited from the
new_sessionrequest
Example configuration in ~/.config/gptme/config.toml:
[general]
model = "anthropic/claude-sonnet-4-20250514"
[tools]
# Tools are auto-confirmed in ACP mode
# Configure allowlist if needed
allowlist = ["python", "shell", "patch", "save"]
Capabilities#
Through ACP, gptme provides:
Code Execution: Run Python and shell commands
File Operations: Read, write, and patch files
Web Browsing: Search and read web pages
Context Awareness: Workspace and project understanding
Conversation Memory: Persistent session history
Development Roadmap#
Phase 1: Basic Integration ✅ Complete
Agent initialization and session creation
Prompt handling with response streaming
Full tool access through gptme
Phase 2: Tool Call Reporting 🚧 In Progress
Report tool executions to client
Permission request workflow
Status lifecycle tracking
Phase 3: Session Persistence 🚧 In Progress
Save and restore sessions
Cancellation support
Session metadata management
Phase 4: Polish & Documentation 🚧 Current
Comprehensive documentation
Example configurations
Integration guides
See Issue #977 for implementation progress.
Troubleshooting#
- “agent-client-protocol package not installed”
Install with:
pip install 'gptme[acp]'
Agent not responding
Check that gptme is properly configured
Verify your model API keys are set
Check stderr for error messages (ACP uses stdout for protocol)
Tool execution not working
Ensure tools are not blocked by configuration
Check working directory permissions