Skip to content

Editor integration through the Agent Client Protocol #49

Closed

Description

@nasser1941

Problem

Many developers want the agent inside their editor, where they can see diffs inline, accept or reject changes, and share the current selection.

Proposal

  • The Agent Client Protocol (ACP): implement its agent side. lcode acp speaks ACP over stdio, so editors that support ACP can run lcode as their agent, with the editor's own diff review and approval UI.
  • Mapping: lcode's tools, approvals, checkpoints and MCP servers map onto ACP. Edits go through the editor's buffers.
  • Later: a dedicated VS Code extension, if ACP support there isn't enough.

Acceptance criteria

  • lcode acp works with at least one ACP editor (for example Zed), with diffs and approvals in the editor
  • Documented, with setup per editor

Activity

  1. nasser1941 commented on Oct 5, 2026

    @nasser1941
    OwnerAuthor

    Shipped in 0.19.0 (#83): lcode acp speaks ACP version 1. Setup for Zed, JetBrains and other editors: Editors.

    Tested with the official ACP Python SDK (agent-client-protocol 0.12.1) as the client, which validates every message, and Qwen3.6 35B through Ollama, also from the PyPI build:

    1. Ask mode: fixing two bugs asked twice in the client's permission dialog, with whole-file diffs. The edits went through fs/write_text_file.
    2. Unsaved buffer: the model read a line that existed only in the editor's buffer.
    3. Plan mode: the plan was approved through the dialog, the mode switched to auto-edit, and the todo list arrived as plan updates.
    4. Cancel: session/cancel during a request returned cancelled.
    5. Load: session/load replayed a saved session in a new connection.

    Not yet tried inside Zed or a JetBrains IDE. If you do, a note here helps, with dev: open acp logs output if something looks off. The dedicated VS Code extension stays a later option: several VS Code ACP clients exist already (list).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions