DEV Community

Muhammad Hammad Khan
Muhammad Hammad Khan

Posted on

Set Up Zoo Code in Android Studio (macOS and Windows)

By Muhammad Hammad Khan

A complete installation and first-run guide for macOS and Windows.

What this guide covers

Preparing Android Studio, downloading and installing the Zoo Code JetBrains plugin, opening its tool window, connecting an AI/API provider, choosing a model, running a first task, and configuring Auto-Approve permissions safely.

Important compatibility note — read before installing

As of 3 November 2026, the Zoo Code JetBrains project lists Android Studio 2026.1.4 or newer as required, and says 2026.1.4 is currently available through the preview channel. Zoo Code also requires a JCEF-enabled IDE runtime to display its interface. Do not assume that an older stable Android Studio build will work just because the plugin appears installable.

1. Before you begin

Zoo Code is an AI coding agent integrated into the IntelliJ platform. It is not itself an AI model: you connect it to a model provider (for example OpenAI, Anthropic, OpenRouter, Google Gemini, or a compatible/local provider) and normally supply an API key or other provider credentials.

  • Android Studio: install Android Studio 2026.1.4 or newer, with JCEF support enabled.
  • Internet: needed to download the plugin and, on first launch, its platform-specific Node.js runtime unless a suitable fallback is available.
  • Provider account: create an account with your chosen AI provider and generate an API key if that provider uses API-key authentication.
  • Project: have an Android project ready, or create/open one after installing Zoo Code.

You do not normally need to install Node.js manually. The JetBrains plugin automatically downloads a pinned, platform-specific Node.js runtime on first launch. If that download fails, it can fall back to bundled Node.js or Node.js 20.6.0+ on the IDE process PATH.

2. Install Android Studio

macOS

  1. Open the official Android Studio download page: developer.android.com/studio.
  2. Download the macOS build that matches your Mac (Apple silicon or Intel, where offered).
  3. Open the downloaded DMG and drag Android Studio into Applications, following the installer instructions.
  4. Launch Android Studio. If macOS asks whether to open an app downloaded from the internet, verify that you downloaded it from the official Android developer site before proceeding.
  5. Complete the first-run setup wizard and allow it to install the Android SDK and recommended components.
  6. For Zoo Code, make sure you are using Android Studio 2026.1.4 or newer. If that version is still marked Preview, select the appropriate preview channel/build from the official Android Studio download page.

Windows

  1. Open developer.android.com/studio.
  2. Download the Windows 64-bit installer.
  3. Run the installer and follow the setup wizard. Keep the Android Studio and Android Virtual Device components selected if you need them.
  4. Launch Android Studio and complete the first-run setup wizard, including Android SDK installation.
  5. Use Android Studio 2026.1.4 or newer for Zoo Code. If required, install the preview build from the official download page.

Version check: In Android Studio, open Help → About on Windows/Linux or Android Studio → About Android Studio on macOS. Confirm the installed version before proceeding.

3. Download the Zoo Code plugin

The JetBrains integration is distributed as a ZIP plugin from the official Zoo-Code-Org GitHub Releases page. This is different from installing the VS Code extension from the VS Code Marketplace.

  1. Open the official repository: github.com/Zoo-Code-Org/Zoo-Code-Jetbrains.
  2. Open its Releases page: GitHub Releases.
  3. Download the latest release asset that is the installable JetBrains plugin ZIP (the filename is typically similar to ZooCode-…zip). Do not unzip it.
  4. Keep the ZIP somewhere easy to find, such as Downloads.

Use the release ZIP for normal installation. The repository also documents a build-from-source workflow, but that is intended for developers contributing to or building the plugin and is not required for ordinary users.

4. Install Zoo Code in Android Studio

The following plugin installation steps are the same on macOS and Windows; only the name of the IDE settings menu differs.

  1. macOS: Android Studio → Settings/Preferences → Plugins. Windows: File → Settings → Plugins.
  2. In the Plugins screen, select the gear icon near the plugin search/results area.
  3. Choose Install Plugin from Disk….
  4. Browse to the Zoo Code plugin ZIP downloaded in the previous section and select it. Leave the ZIP compressed.
  5. Confirm installation if Android Studio prompts you.
  6. Restart Android Studio when prompted. A restart is important because the plugin loads into the IDE runtime.
  7. After restart, locate the Zoo Code tool window, usually on the right-hand tool-window stripe. Click it to open the chat panel.

If the tool window does not appear, first confirm that the plugin is enabled under Settings → Plugins → Installed, then restart the IDE. See the troubleshooting section for JCEF and runtime checks.

5. First launch and connect an API provider

Zoo Code needs an LLM inference provider before it can generate or edit code. Provider availability and exact fields depend on the provider and the Zoo Code version.

Create or obtain provider credentials

  1. Choose a provider. Examples include OpenAI, Anthropic, OpenRouter, Google Gemini, DeepSeek, xAI, or a compatible gateway. Local-model options include Ollama and LM Studio.
  2. Create/sign in to your account on that provider's official website.
  3. If required, open the provider's developer/API dashboard, create an API key, and copy it. Some providers require billing activation or account verification before API calls work.
  4. Treat the API key like a password. Do not paste it into source code, screenshots, public documentation, Git commits, or a shared settings export.

Configure the provider in Zoo Code

  1. Open the Zoo Code tool window in Android Studio.
  2. If a first-run welcome/setup screen appears, select the provider you intend to use and follow its prompts.
  3. If you are already inside the Zoo Code chat, click the gear icon to open Zoo Code settings.
  4. Open the Providers section.
  5. Use the + button beside the profile selector to create a new API configuration profile. Give it a descriptive name, such as OpenAI – Android Work or OpenRouter – Personal.
  6. In that profile, choose the API provider from the provider dropdown.
  7. Paste the API key into the provider's API-key field (or complete the provider's authentication flow if it uses another method).
  8. Choose a model supported by that provider. Check the provider's current model catalogue and ensure the selected model supports tool/function calling; coding-agent tasks rely on tool use.
  9. Review any provider-specific fields, such as base URL, deployment/region, organization, or model options. Only fill fields that the provider requires.
  10. Save/close settings if the interface offers a save action. Select the new profile in the profile selector so it is active.

You can switch profiles later from the Providers settings page or from the API Configuration dropdown in the chat interface. Profiles can store different providers, keys, models, and model settings. The exact options differ by provider.

Provider choice: OpenRouter can be convenient if you want to access models from multiple providers through one account/key. Direct provider integration is useful when you specifically want that vendor's own API. For local inference, configure Ollama or LM Studio and ensure the local model is running and reachable.

6. Start Zoo Code and run a first task

  1. Open an Android project in Android Studio and wait for Gradle sync/indexing to finish.
  2. Open the Zoo Code tool window.
  3. Check the active API configuration/profile and model in the chat interface.
  4. Choose a mode. Ask is suitable for questions and explanations; Architect is useful for planning; Code is for implementation; Debug is for diagnosing problems.
  5. Start with a low-risk request, for example: “Inspect this project and explain its main modules and entry points. Do not modify any files yet.”
  6. Review the response. Next, try a small implementation request on a branch or copy of the project.
  7. When Zoo Code proposes an action, inspect the proposed operation and approve or reject it as appropriate. Depending on the action, it may read files, edit files, or request a terminal command.

A useful first coding prompt is specific about the outcome, files or feature involved, constraints, and whether changes are allowed. Ask Zoo Code to explain its plan before making broad changes.

7. Configure Auto-Approve permissions

Auto-Approve controls which operations Zoo Code may perform without asking you to approve each one. This can make repetitive work faster, but it also removes an important safety checkpoint. Start with approvals disabled or narrowly scoped; do not select “All” simply to make the agent run unattended.

Quick controls in the chat panel

  1. In the Zoo Code chat panel, find the Auto-Approve dropdown beside the chat input.
  2. Open it. The dropdown contains permission tiles and an Enabled master switch.
  3. Keep Enabled off while reviewing the available permissions. Selecting permission tiles does not by itself activate auto-approval if the master switch is off.
  4. Select only the specific permissions you understand and want to allow. Use None to clear the selected permissions. Use All only if you deliberately want every listed category enabled.
  5. Turn Enabled on only when you are ready for the selected operations to be auto-approved. Turn it off to pause all auto-approval; your individual selections remain saved.

Detailed controls in Zoo Code settings

  1. Open the Auto-Approve dropdown in the chat panel.
  2. Click its gear/settings icon in the top-right area.
  3. Open Auto-Approve Settings (or the equivalent Auto-Approve section in the settings panel).
  4. Review each permission category below and enable only what is needed for your workflow.
  5. Return to the chat and confirm the global Enabled switch is in the intended state.

What the permission categories mean

Permission What it allows Risk / guidance
Read files and directories Read project files and folder contents without asking. Medium. A sensible starting point if restricted to the workspace.
Edit files Create or modify files without asking. High. Prefer manual approval until you trust the workflow.
Execute approved commands Run terminal commands that match your configured allowlist. High. Use narrow command prefixes; never allow all commands casually.
Use the browser Use browser-related tools without asking. Medium. Consider what sites and data the agent can access.
Use MCP servers Use configured Model Context Protocol tools. Medium–High. Requires the global setting and each tool's own Always allow checkbox.
Switch modes Switch between modes without asking. Low. Changes the agent's working mode.
Create & complete subtasks Manage subtasks without asking. Low. Workflow convenience.
Answer follow-up questions Choose the default suggested answer after a timeout. Low. Review the timeout and whether unattended continuation is appropriate.

Important details for command execution and file boundaries

  • Command allowlist: “Always approve allowed execute operations” is not a blanket permission to run every command. Add only specific, trusted command prefixes to Allowed Commands. Keep a Denied Commands list for dangerous operations; deny rules can take precedence over matching allow rules.
  • Never use * as an allow-all command prefix on a normal development machine. Commands such as destructive file deletion, disk formatting, privilege escalation, shutdown/reboot, publishing, and pushing code can have serious consequences.
  • Outside-workspace access: separate options control whether Zoo Code can read or write files outside the current project. Keep these disabled unless a task genuinely requires it.
  • Protected files: an additional option can allow changes to protected Zoo/Roo configuration files. Leave it off unless you understand why the agent needs to edit them.
  • MCP: enabling the global “Always approve MCP tools” setting is not enough by itself. You must also mark each individual MCP tool as “Always allow”.
  • Global Enabled switch: auto-approval only operates when Enabled is on and at least one permission is selected. Enabled off pauses all selected auto-approvals.

Recommended beginner setup: allow read-only access within the project if you are comfortable with it; keep automatic file writes, terminal execution, browser use, and MCP permissions off until you have reviewed how Zoo Code behaves. Approve edits and commands individually at first.

8. macOS and Windows keyboard shortcuts

The Zoo Code documentation lists these default shortcuts for toggling Auto-Approve:

  • macOS: Cmd + Option (Alt) + A
  • Windows: Ctrl + Alt + A

If a shortcut does not work in the JetBrains integration, use the Auto-Approve dropdown in the Zoo Code chat panel. Shortcut registration can vary by IDE keymap or plugin version. The VS Code documentation also describes a Command Palette toggle, but do not assume every VS Code command name or shortcut is exposed identically in Android Studio.

9. Troubleshooting

Zoo Code tool window is blank or does not render

  • Confirm that your Android Studio version is 2026.1.4 or newer and that the IDE runtime supports JCEF.
  • For IntelliJ Platform 2026.2 / build 262 and later, JCEF is distributed as a separate bundled plugin. Open Settings → Plugins → Installed, find the bundled JCEF plugin, enable it if disabled, and restart Android Studio.
  • On older supported IDE builds, JCEF is supplied by the IDE runtime; check the Zoo Code JetBrains repository's Known Issues page if rendering still fails.

Plugin fails to start or extension host fails

  • Restart Android Studio after installing the plugin.
  • Check the IDE progress/status area on first launch for a “Downloading Node.js runtime” task.
  • Allow Android Studio to reach nodejs.org. If using a local Node.js fallback, confirm Node.js 20.6.0 or newer is available on the IDE process PATH.
  • Inspect the Android Studio IDE log for Zoo Code or Extension Host errors.

Provider or model errors

  • Check that the API key is copied correctly and belongs to the selected provider.
  • Confirm that the provider account has API access, available credits/billing, and no account-level restrictions.
  • Confirm that the model identifier is valid for that provider and supports tool/function calling.
  • For an OpenAI-compatible endpoint, verify the base URL, authentication format, and model ID with that gateway's documentation.
  • Try a simpler supported model/provider profile to isolate whether the issue is provider-specific.

Plugin installation fails

  • Make sure you downloaded the JetBrains plugin ZIP from the Zoo Code JetBrains GitHub Releases page—not a VS Code .vsix file.
  • Do not extract the ZIP before selecting it in Install Plugin from Disk.
  • Check Android Studio compatibility and ensure the plugin is enabled after restart.

10. Final checklist

  • Android Studio 2026.1.4 or newer installed.
  • JCEF is available and enabled.
  • Latest Zoo Code JetBrains release ZIP downloaded from the official repository.
  • Plugin installed through Settings/Preferences → Plugins → Install Plugin from Disk.
  • Android Studio restarted and Zoo Code tool window opened.
  • Provider profile created with a valid API key or authentication.
  • A tool-capable model selected and active.
  • A harmless first task completed successfully.
  • Auto-Approve reviewed carefully; only necessary permissions enabled.
  • Automatic terminal execution and outside-workspace access left off unless specifically required.

Official references


A note on sources: Zoo Code’s general documentation is primarily written for its VS Code extension. This guide applies the documented provider-profile and Auto-Approve concepts to the JetBrains integration, while the plugin download/install path and Android Studio compatibility requirements come from the official JetBrains repository. Re-check the repository and documentation after major releases.

Muhammad Hammad Khan

Top comments (0)