Use this command to install GGCode Desktop with WinGet:
winget install --id=gg.ai.ggcode-desktop -e
GGCode Desktop is a native graphical interface designed to provide developers with a terminal-native coding experience while leveraging AI-driven assistance. It serves as a visual counterpart to ggcode, an AI coding agent, enabling users to interact with codebases, execute commands, manage checkpoints, and utilize advanced workflows directly within a polished desktop environment.
Key Features:
Visual Chat Interface: Supports Markdown rendering, including GFM tables and Mermaid diagrams for clear communication.
Workspace Browser: Allows file search, filtering, and preview capabilities to navigate projects efficiently.
Code Editing & Preview: Includes line numbers for code files and word wrap for text files, enhancing readability and productivity.
IM Platform Integration: Connects with popular platforms like WeChat, Feishu, and DingTalk via a settings panel for seamless communication.
Permission Controls: Offers tool approval dialogs and permission mode switching (Supervised, Auto, Bypass, Autopilot) to maintain control over AI actions.
Session History & Resumption: Maintains a sidebar with session history, enabling users to resume past work effortlessly.
Audience & Benefit:
Ideal for developers and coders seeking to integrate AI-driven coding workflows into their daily routines. GGCode Desktop eliminates the need for context-switching between terminal tasks and visual tools by combining them in a single, intuitive interface. It enhances productivity by streamlining interactions with codebases, commands, and AI-assisted operations while maintaining control over critical functions.
Available for installation via winget, GGCode Desktop is designed to fit seamlessly into existing development workflows, offering a modern and efficient coding experience.
An AI coding agent for the terminal. Understands your codebase, edits files, runs commands, and ships code — with a polished TUI, resumable sessions, and multi-agent support.
> All install scripts default to non-privileged (no sudo / admin required).
Quick Start
# 1. Run ggcode in your project
cd your-project
ggcode
# 2. On first launch, configure your API key (interactive prompt)
# Or set it directly:
# Or set up via the interactive wizard on first launch
# 3. Start coding — just type your request
Codebase-aware — reads, understands, and edits your entire project
Full dev toolkit — file edits, shell commands, Git, LSP, search, batch operations
Semantic code search — BM25-based code_search finds conceptually related code, not just keyword matches
Code health analysis — cyclomatic complexity, function length, nesting depth metrics via code_health
Tech-debt scanner — scan_todos surfaces TODO/FIXME/HACK markers with severity ranking and git-blame staleness
Browser automation — Go-native CDP for SPA/JS testing without Node.js or Playwright
Screenshot capture — full screen, window, or region screenshots for visual debugging
Clipboard integration — read from and write to the system clipboard
Editor launcher — open_editor opens files in the user's IDE (VS Code, Cursor, JetBrains, Vim, etc.) at a specific line/column, auto-detected from env vars
Agent-accessible undo — undo_edit lets the LLM revert its own file edits via checkpoints, avoiding error-prone fix-forward when a previous change was wrong
Batch file operations — file_ops (delete, move/rename, mkdir with sandbox enforcement and file-tracker integration) and batch_replace (regex/literal find-and-replace across many files in one call) replace unsafe run_command("rm/mv") with first-class protected tools
Schema-constrained tool validation — pre-execution pipeline that validates enum values, numeric bounds (min/max), string length constraints, and strips hallucinated parameters — saving wasted iterations on weak models
Adaptive tool timeout — per-tool category-based timeout that adapts to observed latency, replacing a flat 5-minute default with sensible bounds (30–180s per category) so hung tools fail fast instead of wasting minutes
Exit code intelligence — when commands fail with signals (137=OOM, 139=segfault, 134=abort, 130=SIGINT, 143=SIGTERM), the agent receives an actionable diagnostic hint instead of a bare exit code, enabling immediate root-cause diagnosis
PTC (Programmatic Tool Calling) — the agent writes JavaScript in a sandboxed VM to batch-call read-only tools (read_file, grep, git_log, web_search, etc.) in a single round-trip, dramatically reducing context window consumption for multi-step analysis
MCP integration — connect external tools and data sources, with dynamic tool refresh, server logging, full capability detection, and MCP sampling (servers can request LLM completions)
gRPC plugins — extend ggcode with custom tools in Go, Python, Node.js, or any language
Multi-agent — spawn parallel workers, delegate to teammates, A2A protocol
Multi-provider — OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Copilot, and more; configurable reasoning effort and tool choice across all protocols
Adaptive sampling — per-turn temperature adjustment based on task phase: low temperature for precise code edits and error recovery, higher for exploration and creative writing
LAN Chat — zero-config P2P real-time messaging between instances on your LAN
Editor integration — JetBrains, Zed, and ACP-compatible editors via ACP
WebUI — built-in web interface accessible from any browser
IM integration — control from QQ, Telegram, Discord, Slack, Feishu, DingTalk
Scheduled tasks — cron jobs, reminders, and background automation
Resumable sessions — pause and resume any conversation
Cross-session search — /search finds messages by content across all saved sessions, with snippet preview and quick-resume
Desktop + Mobile — native apps for macOS, Windows, Linux, iOS, Android