IDE Integrations

Run Droid from VS Code, Cursor, Windsurf, JetBrains IDEs, Zed, or any editor terminal.

Droid works in any editor with an integrated terminal. For deeper editor context, use the dedicated integrations for VS Code-family editors, JetBrains IDEs, or Zed.

Supported editors

Supported editors
EditorSetupContext and capabilities
VS Code, Cursor, WindsurfRun droid in the integrated terminal or install the VS Code extension.Shares active file, selection, open files, diagnostics, and IDE-native diff/file actions.
JetBrains IDEsInstall Factory Droid from JetBrains AI Agents or configure ACP manually.Runs Droid inside JetBrains AI Chat with model and autonomy controls.
ZedInstall the Factory Droid extension or configure a custom ACP agent.Runs Droid in Zed Agent Panel, supports @-tagged file context, and can use Zed MCP context servers.
Other editorsRun droid from the integrated terminal.Uses normal CLI behavior. Reference files by path or paste context manually.

VS Code, Cursor, and Windsurf

Open your editor's integrated terminal and run:

Bash
droid

Droid detects VS Code-family terminals and can install or update the Factory extension automatically. You can also install it directly from the Marketplace.

The extension gives Droid:

  • Active file path and selection.
  • Open file list.
  • Diagnostics from the editor.
  • IDE-native diff viewing.
  • File-opening actions from Droid responses.

Use /ide inside Droid to inspect, install, update, or disconnect the integration:

/ide

JetBrains IDEs

JetBrains IDEs use the Agent Client Protocol (ACP). Use this path for IntelliJ IDEA, PyCharm, WebStorm, Android Studio, GoLand, PhpStorm, RubyMine, DataGrip, Rider, and other JetBrains IDEs.

Install from JetBrains AI Agents

In any JetBrains IDE (2025.3+) with JetBrains AI:

  1. 1
    Open Settings → Tools → AI Assistant → Agents, or choose Install From ACP Registry... from the agent picker.
  2. 2
    Find Factory Droid and click Install.
  3. 3
    Open the AI Chat panel.
  4. 4
    Select Factory Droid from the agent dropdown.
  5. 5
    If prompted, complete the browser login flow and confirm the device code.

Configure manually

Install the Droid CLI first with curl -fsSL https://app.factory.ai/cli | sh.

Then edit ~/.jetbrains/acp.json:

JSON
{
  "agent_servers": {
    "Factory Droid": {
      "command": "/path/to/droid",
      "args": ["exec", "--output-format", "acp"]
    }
  }
}

To authenticate with an API key instead of browser login, add FACTORY_API_KEY:

JSON
{
  "agent_servers": {
    "Factory Droid": {
      "command": "/path/to/droid",
      "args": ["exec", "--output-format", "acp"],
      "env": {
        "FACTORY_API_KEY": "your_api_key"
      }
    }
  }
}
Note

Account creation, billing, and API key management happen in the Factory App, not inside JetBrains.

After setup, open View → Tool Windows → AI Assistant, start a new chat, and choose Factory Droid. JetBrains handles session history from the AI Chat panel. The JetBrains integration is currently a rich ACP chat front-end; it does not yet share open files, selections, diagnostics, or IDE-native Droid diffs automatically.

Zed

Zed also uses ACP. The quickest setup is to install the Factory Droid extension, open the Agent Panel, click +, and choose Factory Droid.

To configure Droid manually, install the CLI, then edit ~/.config/zed/settings.json:

JSON
{
  "agent_servers": {
    "Factory Droid": {
      "type": "custom",
      "command": "/path/to/droid",
      "args": ["exec", "--output-format", "acp"]
    }
  }
}

For API key authentication:

JSON
{
  "agent_servers": {
    "Factory Droid": {
      "type": "custom",
      "command": "/path/to/droid",
      "args": ["exec", "--output-format", "acp"],
      "env": {
        "FACTORY_API_KEY": "$FACTORY_API_KEY"
      }
    }
  }
}

Open the Agent Panel with Cmd+? on macOS or Ctrl+? on Linux and Windows, then start a new chat with Factory Droid.

Zed does not restore past Factory Droid sessions from the Agent Panel. For longer work, keep the panel open or start a new chat with a short recap. Use Zed's @-tagging to add file context:

Refactor the state management in @src/components/TodoList.tsx to use a reducer instead of multiple useState hooks.

Add MCP servers in Zed

Zed's context_servers can expose MCP tools to Droid. For example:

JSON
{
  "context_servers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools@latest"]
    }
  }
}

Settings

Set ideAutoConnect when you want Droid to reconnect to the most recent compatible IDE even from an external terminal:

JSON
{
  "ideAutoConnect": true
}

When ideAutoConnect is off, Droid only auto-connects from a detected IDE terminal. See Settings for the full configuration reference.

Troubleshooting