Hanzo
Hanzo Skills Reference

Hanzo Editor

Hanzo Editor (`hanzoai/code`) is an open-source AI-native code editor -- a VS Code fork (originally "Void Editor") with LLM chat, autocomplete, inline diffs, and agent tool use built directly into ...

Overview

Hanzo Editor (hanzoai/code) is an open-source AI-native code editor -- a VS Code fork (originally "Void Editor") with LLM chat, autocomplete, inline diffs, and agent tool use built directly into the editor core. It is the open-source Cursor alternative. Ships as a standalone Electron desktop app.

Note: This skill documents the same repo as hanzo/hanzo-code.md. The repo is hanzoai/code, not hanzoai/editor (which does not exist). This file exists as a convenience alias.

What it actually is

  • VS Code fork (v1.94.0 base) rebranded as "Code"
  • Custom AI code lives in src/vs/workbench/contrib/void/
  • Electron app: main process (Node.js, LLM API calls) + browser process (UI, React)
  • Multi-provider LLM: OpenAI, Anthropic, Gemini, Mistral, Groq, Ollama (local)
  • Fast Apply: search/replace-based diffs for large files
  • MCP tool use for agent capabilities
  • Full VS Code extension/theme/keybinding compatibility
  • React 19 UI bundled to browser process

Upstream references

  • Product identity: product.json has applicationName: "void", dataFolderName: ".code-editor", darwinBundleIdentifier: "com.hanzoai.code"
  • Internal docs still reference "Void" (VOID_CODEBASE_GUIDE.md, .voidrules, void_icons/)
  • Upstream trusted domains include voideditor.com, voideditor.dev

When to use

  • Contributing to the Hanzo Code editor
  • Adding new LLM providers or models
  • Extending AI chat, autocomplete, or apply features
  • Creating agent tools or MCP integrations
  • Packaging the editor for distribution

Quick reference

ItemValue
Repogithub.com/hanzoai/code
Branchmain
LicenseApache-2.0 (+ MIT for VS Code portions)
StackTypeScript, Electron 34, React 19, Tailwind CSS 3
Node20.18.x (.nvmrc)
Package Managernpm (not pnpm -- VS Code convention)
Custom Codesrc/vs/workbench/contrib/void/
Data Folder~/.code-editor
Bundle IDcom.hanzoai.code
URL Protocolcode-editor://
Websitecode.hanzo.ai

Quickstart

git clone https://github.com/hanzoai/code.git
cd code
npm install

# Build React UI
npm run buildreact

# Watch-compile (wait for two checkmarks)
npm run watch

# Launch editor (separate terminal)
./scripts/code.sh         # macOS/Linux
./scripts/code.bat        # Windows

# Package for distribution
npm run gulp vscode-darwin-arm64   # macOS ARM
npm run gulp vscode-darwin-x64     # macOS Intel
npm run gulp vscode-win32-x64     # Windows
npm run gulp vscode-linux-x64     # Linux

Architecture

┌─────────────────────────────┐
│     Browser Process         │
│  (React UI, Monaco editor)  │
│                             │
│  src/.../void/browser/      │
│  chatThreadService          │
│  autocompleteService        │
│  editCodeService            │
│  toolsService               │
└────────────┬────────────────┘
             │ IPC channels
┌────────────▼────────────────┐
│     Main Process            │
│  (Node.js, LLM SDKs)       │
│                             │
│  sendLLMMessage             │
│  Anthropic, OpenAI, Gemini  │
│  Mistral, Groq, Ollama      │
└─────────────────────────────┘

Directory structure

hanzoai/code/
  src/vs/workbench/contrib/void/browser/   # All custom AI features
    react/              # React UI (chat sidebar, settings)
    chatThreadService   # Chat + agent orchestration
    editCodeService     # Apply, Cmd+K, Edit tool
    autocompleteService # Inline completions
    inlineDiffsService  # Diff visualization
    toolsService        # Agent tool system
  extensions/           # Built-in VS Code extensions
  build/                # Gulp build scripts
  cli/                  # CLI tool
  remote/               # Remote dev server
  test/                 # Test infrastructure
  void_icons/           # Editor icons
  product.json          # Editor identity/branding
  package.json          # Dependencies
  .voidrules            # AI assistant rules for this codebase

Development rules

From .voidrules:

  • Never modify files outside src/vs/workbench/contrib/void/ without consulting first
  • Never cast to any -- find the correct type
  • Do not change semicolons -- follow existing convention
  • Type naming: bOfA pattern (e.g., toolNameOfToolId)

Key services

ServicePurpose
chatThreadServiceChat sidebar, streaming, agent mode
editCodeServiceFast/Slow Apply, Cmd+K, Edit tool
autocompleteServiceInline LLM completions
inlineDiffsServiceRed/green diff rendering
toolsServiceAgent tool registration and execution
voidSettingsServiceProvider/model configuration
  • hanzo/hanzo-code.md -- Comprehensive version of this skill (same repo)
  • hanzo/hanzo-extension.md -- VS Code / browser extension (separate product)
  • hanzo/hanzo-mcp.md -- MCP tools used by the editor's agent mode
  • hanzo/hanzo-llm-gateway.md -- LLM proxy (api.hanzo.ai)

How is this guide?

Last updated on

On this page