Agent Client Protocol

Zed implements the Agent Client Protocol (ACP) natively, providing a standardized interface for AI assistants. This means Autohand integrates at the deepest level possible.

Benefits of native ACP

  • Low latency - Direct communication without middleware
  • Streaming responses - See AI output as it's generated
  • Rich context - Full access to editor state and buffers
  • Efficient memory - Shared data structures with the editor

Protocol features

  • Real-time file watching and change detection
  • Structured tool calls for code modifications
  • Progress reporting for long operations
  • Cancellation support for in-flight requests

Assistant panel

The assistant panel is your conversation interface with Autohand, designed to integrate smoothly with Zed's workflow.

Panel positions

Configure the panel position in your settings:

  • Right - Default position, alongside your code
  • Left - Alternative side panel position
  • Bottom - Horizontal layout below your code

Conversation features

  • Multi-turn conversations with context retention
  • Code blocks with syntax highlighting
  • Inline diff previews for proposed changes
  • One-click apply for code modifications

Context indicators

The panel shows what Autohand knows about:

  • Current file and selection
  • Referenced files via @mentions
  • Project structure from AGENTS.md
  • Recent conversation history

Inline assist

Get AI help directly in your code without leaving your current position.

Triggering inline assist

  • Cmd+Enter (Mac) / Ctrl+Enter (Linux) - Open inline prompt
  • Type your request and press Enter
  • Autohand shows changes inline in your code

Use cases

// Select a function, press Cmd+Enter, then type:
Add error handling for network failures

// Select a block of code:
Convert to async/await syntax

// At the end of a file:
Add unit tests for the above functions

Accepting changes

Action Shortcut
Accept all changes Tab or Enter
Reject changes Escape
Accept partial (by hunk) Cmd+Enter on hunk

Inline completions

Autohand provides intelligent code completions as you type, trained on your project patterns.

How completions work

As you type, Autohand considers:

  • Current file content and cursor position
  • Language semantics and syntax
  • Project conventions from AGENTS.md
  • Common patterns in your codebase

Completion shortcuts

Action Shortcut
Accept full completion Tab
Accept word Cmd+Right
Dismiss completion Escape
Cycle completions Alt+] / Alt+[

Configuration

{
  "assistant": {
    "inline_completions": true,
    "completion_delay_ms": 200
  }
}

Multi-buffer editing

Edit multiple files simultaneously with Autohand's multi-buffer support, a natural fit for Zed's architecture.

How it works

  1. Describe a change that spans multiple files
  2. Autohand identifies all affected files
  3. Changes are shown in a multi-buffer view
  4. Accept changes per-file or all at once

Example requests

Rename the ApiClient class to HttpClient across all files

Add logging to all database query functions

Update the error handling pattern in all API endpoints

Multi-buffer view

Zed's multi-buffer view shows all changes in context:

  • File headers indicate which file you're viewing
  • Scroll through all changes in one view
  • Jump to specific files using the outline
  • Apply or reject changes per section

Git integration

Autohand works with Zed's built-in git support for seamless version control workflows.

Commit generation

Ask Autohand to create commits:

Commit these changes with a descriptive message following conventional commits

Change review

Have Autohand review your changes before committing:

Review my staged changes and suggest improvements

Git commands

  • /commit - Generate commit message and commit
  • Request branch operations in natural language
  • Ask for help resolving merge conflicts

Slash commands

Quick commands for common operations in the assistant panel.

Available commands

Command Description
/new Start a new conversation
/sessions List recent sessions
/resume Resume previous session
/init Generate AGENTS.md
/commit Create git commit
/model Change AI model
/automode Toggle autonomous mode

See the Slash Commands Reference for the complete list.

Auto mode

Enable autonomous operation for complex, multi-step tasks.

Enable auto mode

  • Use /automode in the assistant panel
  • Or configure in settings

How it works

  1. Describe your goal
  2. Autohand creates an execution plan
  3. Executes steps autonomously
  4. Verifies and iterates as needed
  5. Reports completion

Safety features

  • Iteration limits prevent runaway operations
  • Permission prompts for destructive actions
  • Checkpoints allow reverting changes
  • Progress visible in assistant panel

Tip: Auto mode works best with clear, well-defined tasks. For exploratory work, use interactive mode to guide the process.

Skills

Extend Autohand with specialized capabilities.

Built-in skills

  • Frontend - React, Vue, Svelte patterns
  • Backend - API design, database queries
  • Systems - Rust, Go, C++ best practices
  • DevOps - CI/CD, infrastructure as code
  • Testing - Unit and integration tests

Using skills

Skills activate automatically based on context, or request them explicitly:

Using the systems skill, optimize this memory allocation

Custom skills

Define project-specific skills in your AGENTS.md. See the Skills documentation.

Settings reference

Complete Zed settings for Autohand Code.

{
  "assistant": {
    "enabled": true,
    "provider": {
      "name": "autohand",
      "model": "z-ai/glm-4.7",
      "api_key": null
    },
    "inline_completions": true,
    "completion_delay_ms": 200,
    "dock": "right",
    "default_width": 400
  }
}
Setting Description Default
provider.model AI model z-ai/glm-4.7
inline_completions Enable completions true
completion_delay_ms Completion delay 200
dock Panel position right
default_width Panel width (px) 400

Troubleshooting

Assistant not responding

  • Check your authentication status
  • Verify network connectivity
  • Check Zed logs: Help > Toggle Developer Tools
  • Try restarting Zed

Slow completions

  • Increase completion_delay_ms to reduce requests
  • Check your network connection
  • Large files may take longer to process

Getting help