Skip to main content
Expose a PraisonAI Agent to your editor over the Agent Client Protocol with a single command.

Agent Client Protocol (ACP)

The Agent Client Protocol (ACP) enables IDEs and code editors to communicate with PraisonAI agents using a standardized JSON-RPC 2.0 protocol over stdio.

Overview

ACP allows editors like Zed, JetBrains IDEs, VSCode, and Toad to seamlessly integrate with PraisonAI’s AI coding capabilities.

Quick Start

Get started in 30 seconds

Editor Setup

Configure your IDE

CLI Reference

All command options

Python API

Embed in your app

Installation

Quick Start

Start the ACP server:
That’s it! The server listens on stdin/stdout for JSON-RPC messages.

With Options

Editor Configuration

Zed

Add to ~/.config/zed/settings.json:

JetBrains (IntelliJ, PyCharm, WebStorm)

Add to ~/.jetbrains/acp.json:

Toad

VSCode

The ACP extension auto-discovers agents via PATH. Ensure praisonai is in your PATH:

CLI Reference

Python API

For advanced users who want to embed ACP in their applications:

Custom Agent

Session Management

Resume Sessions

ACP supports session persistence for continuing conversations:

Session Storage

Sessions are stored in ~/.praisonai/acp/sessions/ as JSON files.

Permission Model

ACP is safe by default:

Workspace Boundaries

By default, file operations are restricted to:
  • The workspace directory and subdirectories
  • ~/.praisonai/ configuration directory

Protocol Details

ACP uses JSON-RPC 2.0 over stdio:
  • stdin: Receives JSON-RPC requests from the client
  • stdout: Sends JSON-RPC responses (never polluted with logs)
  • stderr: Debug and log output

Supported Methods

Agent Methods (client → agent): Client Methods (agent → client):

Interactive Mode + ACP

ACP and Interactive Mode are designed to work together without conflicts:

Side-by-Side Usage

Run ACP in one terminal while using Interactive Mode in another:
Both share the same configuration and credentials from ~/.praisonai/.

Key Points

  • ACP imports don’t affect Interactive Mode performance
  • Both modes use the same session storage (but different sessions)
  • Configuration and API keys are shared safely
  • No stdout contamination between modes

Troubleshooting

Debug Logging

Enable debug logging to see what’s happening:
Logs go to stderr, so redirect to a file for inspection.

Common Issues

“agent-client-protocol package not installed”
“Session not found” The session may have expired or been deleted. Start a new session or check ~/.praisonai/acp/sessions/. Editor not connecting
  1. Verify praisonai is in PATH: which praisonai
  2. Test manually: echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":1}}' | praisonai acp
  3. Check editor logs for connection errors

Environment Variables

How It Works

The editor speaks JSON-RPC to the ACP server over stdio; the server drives the Agent and streams updates back.

Best Practices

ACP denies writes, shell, and network by default. Add --allow-write, --allow-shell, or --allow-network only when you need them.
Never print to stdout in custom agents — it carries JSON-RPC. Send logs to stderr with --debug 2>acp.log.
Set -w/--workspace to the project root so file operations stay inside the intended directory.
Run with --approve manual so each file write or shell command is confirmed before it runs.

Models

Configure different LLM providers.

Tools

Add custom tools to your agent.