Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>Z.ai for CopilotNew to Visual Studio Code? Get it now.
Z.ai for Copilot

Z.ai for Copilot

The Self Agency LLC

|
4,047 installs
| (2) | Free
Access Z.ai (Zhipu) models within GitHub Copilot Chat
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Z.ai for Copilot

Tests codecov

Z.ai Logo

Access Z.ai (Zhipu) coding models within GitHub Copilot Chat

🌐 Z.ai • 📖 API Docs • 🔑 Get API Key

✨ Features

  • 🧠 Z.ai Models - Access Z.ai (GLM) models in Copilot Chat, including Coding Plan and general Z.ai API endpoints
  • 🔀 Model Picker - Select Z models via the model selector dropdown on any Copilot Chat conversation
  • 💬 Chat Participant - Invoke @z directly in Copilot Chat for a dedicated, history-aware Z conversation
  • 🔧 Tool Calling - Function calling support for agentic workflows
  • 🌐 First-Party Web Tools - webSearch and webFetch language model tools that call the Z.ai API directly
  • 🖼️ Vision via MCP - Image understanding is routed through the Vision MCP server
  • 🔒 Secure - API key stored using VS Code's encrypted secrets API
  • ⚡ Streaming - Real-time response streaming for faster interactions
  • 📊 Usage Status Bar - Status bar item tracks subscription usage limits

🔧 Requirements

  • VS Code 1.120.0 or higher
  • GitHub Copilot Chat extension installed (required)
  • A valid Z.ai API key

🚀 Installation

  1. Install from VS Code Marketplace (or install the .vsix file)
  2. Open Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
  3. Run: Z: Manage API Key
  4. Enter your API key from z.ai

🔑 Getting Your API Key

  1. Go to Z.ai Console
  2. Sign up or log in with your account
  3. Navigate to API Keys section
  4. Click Create new key
  5. Copy the key and paste it into VS Code when prompted

💬 Usage

Model Picker

To use a Z model in an existing Copilot Chat conversation without the @z handle:

  1. Open GitHub Copilot Chat panel in VS Code
  2. Click the model selector dropdown
  3. Choose a Z.ai model
  4. Start chatting!

Chat Participant

Type @z in any Copilot Chat input to direct the conversation to Z.ai. The participant is sticky — once invoked, it stays active for the thread.

@z explain the architecture of this project

Usage Status Bar

When a Z_API_KEY is configured, the extension shows a usage item on the right side of the status bar. Click the status bar item to toggle between hourly and weekly views.

Tooltip includes:

  • Token quota windows and progress bars
  • MCP time-limit usage windows
  • Last updated time

You can also refresh usage manually via command palette:

  • Z: Refresh Usage Stats

Related settings:

  • zModels.usage.enabled
  • zModels.usage.refreshInterval

Advanced modelOptions support

This provider supports the following modelOptions keys (used internally by VS Code model requests and useful for extension contributors):

  • temperature: number
  • topP: number
  • safePrompt: boolean
  • doSample: boolean (alias: do_sample)
  • stop: string[] (only the first stop string is sent)
  • userId: string (alias: user_id; must be 6–128 characters)
  • reasoningEffort: string (alias: reasoning_effort; GLM-5.2+ only; values max|xhigh|high|medium|low|minimal|none; only applied when thinking is enabled)

Thinking controls:

  • thinking: boolean (false maps to thinking.type = "disabled")
  • thinkingType: "enabled" | "disabled"
  • clearThinking: boolean (alias: clear_thinking)

Structured output:

  • jsonMode: boolean (maps to response_format: { type: "json_object" })
  • responseFormat: "json_object" | { type: "json_object" }

Web search tool:

  • webSearch: boolean | object (alias: web_search)
    • true enables default web search tool config
    • object passes through as web_search tool configuration

Notes:

  • Requests use streaming (stream: true) and tool streaming (tool_stream: true) when tools are present.
  • Each chat request includes a generated request_id for tracing support.
  • Tool calls are assembled incrementally from SSE deltas and emitted as soon as arguments become valid JSON.
  • Cache usage is automatic server-side; cached prompt token counts are logged when returned by the API (usage.prompt_tokens_details.cached_tokens).
  • Token counting uses the Z.ai tokenizer API for supported GLM-4.5 / GLM-4.6 models and falls back to a compatible approximation (cl100k_base) for other models.

🛡️ Privacy & Security

  • Your API key is stored securely using VS Code's encrypted secrets API
  • No data is stored by this extension - all requests go directly to Z.ai
  • See Z.ai Privacy Policy for details

🎛️ MCP Servers

This extension supports Model Context Protocol (MCP) servers for enhanced capabilities:

  • Vision MCP: Image processing and analysis
  • Search MCP: Web and code search capabilities
  • Reader MCP: Document reading and PDF processing
  • ZRead MCP: Advanced reading and contextual analysis

When an image is attached in chat and Vision MCP is enabled, the extension prefers MCP-based image analysis.

Alternatively, the first-party webSearch and webFetch language model tools (see First-Party Web Tools) call the Z.ai API directly and work without MCP servers.

Configure MCP Servers

You can enable/disable MCP servers in VS Code settings:

  1. Open VS Code Settings (Ctrl+, or Cmd+,)
  2. Search for "Z.ai"
  3. Enable/disable individual MCP servers as needed

Troubleshooting

  • command 'z-chat.manageApiKey' not found

    • Ensure you are running the latest extension build and reload VS Code (Developer: Reload Window).
    • This usually indicates extension activation failed before command registration.
  • Selecting Z.ai in Model Manager does nothing

    • This is typically the same activation issue as above; update/reload the extension first.
  • No registered MCP servers

    • MCP server definitions are registered eagerly, but they are only resolvable/startable after a valid API key is stored.
    • MCP registration depends on VS Code builds that include MCP provider APIs. In builds without that API, the extension still works for chat/models, but MCP server registration is skipped.

🌐 First-Party Web Tools

Beyond the MCP servers, the extension registers two first-party language model tools that call the Z.ai API directly and can be referenced in prompts or used by agentic models:

  • z_webSearch (webSearch) - Search the web and return results using Z.ai's search engine.
  • z_webFetch (webFetch) - Fetch a URL and return its readable text content (bounded to ~200KB, http(s) only).

Both are enabled by default and can be toggled via settings:

  • zModels.tools.webSearch - Enable the webSearch language model tool
  • zModels.tools.webFetch - Enable the webFetch language model tool

🛠️ Development

Prerequisites

  • Node.js 20+
  • pnpm (version pinned in package.json)
  • VS Code 1.120.0+

Build

pnpm install
pnpm run compile        # type-check + lint + bundle
pnpm run watch          # parallel watch for type-check and bundle

Note: dist/ is gitignored. Rebuild (pnpm run compile or pnpm run package) before running the integration tests or launching the debug host, or you may load a stale bundle.

Testing

pnpm test               # unit tests (Vitest)
pnpm run test:coverage  # unit tests with coverage
pnpm run test:extension # VS Code integration tests

Debugging

Open the project in VS Code and press F5 to launch the Extension Development Host with the extension loaded.

📄 License

MIT License - See LICENSE for details.

Maintained by Daniel Sieradski (@selfagency).

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft