PAGES
← all tools
◆ UNCATEGORIZED

OpenCode

v1.18.31 open-source

The open source coding agent.

Summary

OpenCode is an open-source AI coding agent that works alongside a developer inside their own codebase, available at no cost and run from a terminal, though a desktop app and IDE extension are also offered. It installs as a command-line tool via a script, npm, Homebrew, or platform package managers, then connects to an LLMLLMA large language model, a neural network trained on large amounts of text to recognize patterns and generate language. Applications use it for tasks such as answering, summarizing and writing code. provider of the user's choosing, including a curated set called OpenCode Zen, before being initialized inside a project directory. It's aimed at software developers who want an agent that can read, edit, and act on their code directly from the shell rather than through a chat window bolted onto an editor. It supports subagents running in the background, session replay for auditing what the agent did, and MCPMCPModel Context Protocol, a standard for connecting AI applications to external tools and data sources. A compatible server exposes capabilities an assistant can use through a common interface. server integration for extending its tool access. With over a thousand contributors, more than 17,000 commits and 81 releases in the past year, and a release 14 days ago, it is under active development.

The open source coding agent.

How OpenCode helps

How do I get an agent to fix a bug directly in my own codebase without copying files into a chat window?

it runs from a terminal inside the project directory, reading and editing the actual files and acting on them through shell and editor tools rather than a pasted-in transcript

What did the agent actually change while I was away from the keyboard?

every session can be replayed step by step, showing each action the agent took so it can be audited after the fact

Can I have several coding tasks running at once without them stepping on each other?

subagents can be sent to the background to keep working in parallel while the main session continues

Which of my own tools and data sources can the agent reach while it works?

it connects to MCP servers, including ones scoped to a specific subdirectory or given the current workspace as a root, so external tool access is tied to the project rather than the whole machine

Am I stuck with one AI vendor for this project?

it connects to any LLM provider configured with an API key, including a curated set called OpenCode Zen, so the underlying model can be swapped without changing how the agent is used

Can I move a coding session to another machine or folder without losing my uncommitted work?

sessions and workspace clones can be moved between directories while preserving dirty and untracked files

all 34 features, with the evidence for each →

Languages

English, Arabic, Bengali, Bulgarian, Catalan, Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese Interface: English, Arabic, Bengali, Bulgarian, Catalan, Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese · Documentation: Arabic, Bengali, Chinese (Simplified), Danish, French, German, Greek, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Russian, Spanish, Thai, Turkish, Ukrainian, Vietnamese · Release notes: English, Arabic, Chinese (Simplified), Chinese (Traditional), Danish, French, German, Greek, Japanese, Korean, Norwegian, Polish, Portuguese, Russian, Spanish, Thai, Turkish, Ukrainian, Vietnamese Ukrainian added in v1.15.6 (May 20, 2026) · Spanish added in v1.2.27 (Mar 16, 2026) · Vietnamese added in v1.2.21 (Mar 7, 2026) · Greek, Polish, Turkish added in v1.2.16 (Mar 3, 2026) · Japanese, Korean added in v1.2.7 (Feb 19, 2026)

Features

34 capabilities across 8 areas · 16 backed by code, an API document or a real run

Built from OpenCode's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What OpenCode offers you

  • REST API10
  • Client SDKs2
  • JSON data export2
  • Plugin API support2
  • Built-in AI assistant1
  • Command-line interface1
  • MCP server1
  • Plugin system1
  • Scheduled jobs1
  • Single sign-on1
Session and Conversation Management 6 capabilities OpenCode organises work into persistent sessions that users can navigate, snapshot, and restore. This covers everything from creating a session to rolling back its conversation and file state to an earlier point.
Session management verified Create and navigate sessions with draft tabs, paged history, and progress indicators that persist across uses. 35 releases · 39 other sources · first seen Jun 2026

Also counts toward: REST API

release 35 total

  • Desktop terminals now belong to the session, survive server restarts with scrollback intact, and stay synchronized with the TUI and other windows; renamed terminals also keep their names across restarts. v2.2.4 · Oct 2026 · source · release history
  • GET /api/session: param archived (query) added 0.0.1 · Oct 2026 · source · release history
  • Adds Option+↑/↓ keyboard shortcuts to move between session tabs, with Shift+Option+↑/↓ to jump between unread tabs. v2.0.30 · Oct 2026 · source · release history
  • New endpoint DELETE /api/experimental/session/{sessionID}/instructions/entries/{key} 0.0.1 · Oct 2026 · source · release history
  • POST /api/session/{sessionID}/compact: request body changed; response schema changed 0.0.1 · Oct 2026 · source · release history
  • New endpoint DELETE /api/session/{sessionID} 0.0.1 · Oct 2026 · source · release history

api 39 total

  • GET /session/{sessionID}/message/{messageID} · source
  • POST /session/{sessionID}/prompt_async · source
  • POST /session/{sessionID}/abort · source
  • DELETE /session/{sessionID} · source
  • POST /session/{sessionID}/command · source
  • GET /api/session/{sessionID} · source
Real-time session event streaming verified Subscribe to a live event stream via the SDK to monitor session activity as it happens in real time. 11 releases · 4 other sources · first seen Jun 2026

release 11 total

  • The native compaction replay window moves to native.messages; providerContext is no longer present on completed compactions and session.compaction.ended. v2.1.0 · Oct 2026 · source · release history
  • The transitional session.compacted event is removed from the public event surface; event subscriptions must migrate to session.compaction.started and session.compaction.ended. v2.1.0 · Oct 2026 · source · release history
  • Summary compactions no longer expose recent on compaction messages or events; new compactions use metadata.keepID — provider replay data and compaction implementations must adopt the new field names and shapes. v2.1.0 · Oct 2026 · source · release history
  • providerState and providerResultState fields are removed from tool parts; integrations must read and write native using the shallow-merge contract. v2.1.0 · Oct 2026 · source · release history
  • Completed compactions and session.compaction.ended no longer carry providerContext; the replacement message window is now in native.messages. v2.1.0 · Oct 2026 · source · release history
  • Summary compactions now reference the first retained message via metadata.keepID instead of storing a duplicate, flattened copy; metadata.recent carries kept text from pre-2.1 compactions and V1 imports. v2.1.0 · Oct 2026 · source · release history

api

  • GET /api/session/{sessionID}/event · source
  • GET /event · source
  • GET /api/event · source
  • GET /global/event · source
Session snapshots and revert verified Capture a snapshot of a session at any message and roll back both the conversation and any file changes to that point. 4 releases · 5 other sources · first seen Jun 2026

Also counts toward: REST API

release

  • New endpoint DELETE /api/session/{sessionID}/revert 0.0.1 · Oct 2026 · source · release history
  • Removed endpoint POST /session/{sessionID}/revert 0.0.1 · Oct 2026 · source · release history
  • Restyled revert dock in v2 sessions for clearer restore actions, using v2 design tokens and a new outline-reset icon. v1.17.17 · Jul 2026 · source · release history
  • Adds session snapshots and revert controls, letting you roll back a session — including file changes — to any earlier message. v1.17.11 · Jun 2026 · source · release history

api

  • POST /session/{sessionID}/unrevert · source
  • POST /api/session/{sessionID}/revert/commit · source
  • POST /api/session/{sessionID}/revert/clear · source
  • POST /api/session/{sessionID}/revert/stage · source
  • POST /session/{sessionID}/revert · source
Session visibility controls verified Control who can see a session or project by setting visibility options from the desktop web app. 3 releases · 2 other sources · first seen Jun 2026

Also counts toward: REST API

release

  • GET /api/project: response schema changed 0.0.1 · Oct 2026 · source · release history
  • Removed endpoint DELETE /session/{sessionID}/share 0.0.1 · Oct 2026 · source · release history
  • Brings v2 visibility settings to the desktop web app, giving users control over session and project visibility from the browser interface. v1.17.5 · Jun 2026 · source · release history

api

  • POST /session/{sessionID}/share · source
  • DELETE /session/{sessionID}/share · source
Session export shipped Export a complete session transcript as a JSON file from the session dropdown, Context tab, or command palette. 1 release · 2 other sources · first seen Aug 2026

Also counts toward: JSON data export

release

  • Adds Export... option to the session 3-dot dropdown, an Export session button in the Context tab, and a session.export command palette action (/export) to export full session transcripts as JSON from the UI. v1.18.15 · Aug 2026 · source · release history

docs

  • Import session data from a JSON file. docs update · Oct 2026 · source

example

  • Copy the latest assistant reply to your clipboard mid-session without pulling the entire conversation transcript. /copy v2.0.32 · Oct 2026 · source
Usage and cost tracking shipped View stored token usage and cost totals for sessions directly in the desktop interface. 2 releases · first seen Jun 2026

Also counts toward: REST API

release

  • New endpoint GET /api/experimental/usage/limits 0.0.1 · Oct 2026 · source · release history
  • Shows stored token and cost totals in the Desktop session context. v1.17.12 · Jun 2026 · source · release history
AI Model and Provider Configuration 3 capabilities OpenCode connects to multiple AI providers and lets users choose and switch models without rebuilding their setup. Credential flows, OAuth, and dynamic model discovery are all handled here.
Provider and credential management verified Authenticate with AI providers using connector-based flows and OAuth, including SSO for Snowflake Cortex, with automatic refresh when integrations change. 19 releases · 20 other sources · first seen Jun 2026

Shared capability: Single sign-on

Also counts toward: Client SDKs, Single sign-on

release 19 total

  • A guided Claude Agent setup flow lets you select Claude Agent from the provider picker to copy claude auth login, install Claude Code, and verify the connection before proceeding to model selection. v2.2.4 · Oct 2026 · source · release history
  • Connect to Claude Code models by installing Claude Code, running claude auth login, and selecting Claude Agent in /connect to reuse your existing Claude Code login. v2.2.3 · Oct 2026 · source · release history
  • Public credential writes must now put setup-form answers in the existing metadata field; the Credential.Key.configuration field is removed. v2.1.0 · Oct 2026 · source · release history
  • Credential.Key.configuration is removed; public credential writes must place setup-form answers in the metadata field instead. v2.1.0 · Oct 2026 · source · release history
  • Enables opencode auth login to run in containers and headless environments that cannot open a browser, presenting a URL in the terminal instead of crashing. v2.0.32 · Oct 2026 · source · release history
  • New endpoint DELETE /api/integration/{integrationID}/connect/oauth/{attemptID} 0.0.1 · Oct 2026 · source · release history

docs

  • Poolside Poolside provides access to its models through an OpenAI-compatible API. platform.poolside.ai , sign in, open the New key to generate an API key. Poolside Enter your Poolside API key. Poolside deployment If your organization runs a Poolside deployment, configure it as a custom OpenAI-compatible provider. docs update · Aug 2026 · source

example

  • Use Claude Code's authenticated session and models inside OpenCode without a separate API key. claude auth login # then inside OpenCode: /connect # select: Claude Agent v2.2.3 · Oct 2026 · source

api 18 total

  • POST /api/integration/{integrationID}/connect/oauth · source
  • GET /provider · source
  • GET /config/providers · source
  • GET /api/provider/{providerID} · source
  • DELETE /api/credential/{credentialID} · source
  • POST /api/integration/{integrationID}/connect/key · source
Model selection verified Pick or switch AI models through a searchable picker, including high and max thinking variants and managed provider support. 14 releases · 13 other sources · first seen Jun 2026

release 14 total

  • Search favorites, recent models, providers, and variants from the redesigned model picker, now the default in Desktop. v2.2.1 · Oct 2026 · source · release history
  • Let model-list API requests filter by type. changelog · Oct 2026 · source · release history
  • Adds configurable prompt cache TTLs per provider/model. v2.2.0 · Oct 2026 · source · release history
  • Adds OPENCODE_DISABLE_FREE_MODELS=1 (or true) environment variable to remove zero-cost models from OpenCode and OpenCode Go catalogs, defaults, and fallbacks.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.1.2 · Oct 2026 · source · release history
  • Enables automatic response continuation when output-token limits are reached, preserving partial output instead of stopping abruptly. v2.0.29 · Oct 2026 · source · release history
  • Removed endpoint POST /tui/open-models 0.0.1 · Oct 2026 · source · release history

docs 9 total

  • GPT 6.1 Sol gpt-6.1-sol Claude Sonnet 5.5 claude-sonnet-5-5 Claude Haiku 5.5 claude-haiku-5-5 Mistral Large 4 mistral-large-4 Step 5 Preview Free step-5-preview-free Exo Free exo-free Ling 3.1 Flash Free ling-3.1-flash-free Step 5 Preview Free Exo Free Ling 3.1 Flash Free Mistral Large 4 (50% off) $1.36 $0.68 $4.18… docs update · Oct 2026 · source
  • GPT 6.1 Sol gpt-6.1-sol Claude Sonnet 5.5 claude-sonnet-5-5 Claude Haiku 5.5 claude-haiku-5-5 Mistral Large 4 mistral-large-4 Step 5 Preview Free step-5-preview-free Exo Free exo-free Ling 3.1 Flash Free ling-3.1-flash-free Step 5 Preview Free Exo Free Ling 3.1 Flash Free Mistral Large 4 (50% off) $1.36 $0.68 $4.18… docs update · Oct 2026 · source
  • GPT 6.1 Sol gpt-6.1-sol Claude Sonnet 5.5 claude-sonnet-5-5 Claude Haiku 5.5 claude-haiku-5-5 Mistral Large 4 mistral-large-4 Exo Free exo-free Fledge Alpha Free fledge-alpha-free Ling 3.1 Flash Free ling-3.1-flash-free Exo Free Fledge Alpha Free Ling 3.1 Flash Free Mistral Large 4 (50% off) $1.36 $0.68 $4.18 $2.09… docs update · Oct 2026 · source
  • GPT 6.1 Sol gpt-6.1-sol Claude Sonnet 5.5 claude-sonnet-5-5 Claude Haiku 5.5 claude-haiku-5-5 Mistral Large 4 mistral-large-4 Step 5 Preview Free step-5-preview-free Exo Free exo-free Fledge Alpha Free fledge-alpha-free Ling 3.1 Flash Free ling-3.1-flash-free Step 5 Preview Free Exo Free Fledge Alpha Free Ling 3.1… docs update · Oct 2026 · source
  • GPT 6.1 Sol gpt-6.1-sol Claude Sonnet 5.5 claude-sonnet-5-5 Claude Haiku 5.5 claude-haiku-5-5 Mistral Large 4 mistral-large-4 Exo Free exo-free Fledge Alpha Free fledge-alpha-free Ling 3.1 Flash Free ling-3.1-flash-free Exo Free Fledge Alpha Free Ling 3.1 Flash Free Mistral Large 4 (50% off) $1.36 $0.68 $4.18 $2.09… docs update · Oct 2026 · source
  • GPT 6.1 Sol gpt-6.1-sol Mistral Large 4 mistral-large-4 Exo Free exo-free Fledge Alpha Free fledge-alpha-free Ling 3.1 Flash Free ling-3.1-flash-free Exo Free Fledge Alpha Free Ling 3.1 Flash Free Mistral Large 4 (50% off) $1.36 $0.68 $4.18 $2.09 $0.07 GPT 6.1 Sol (≤ 272K tokens) GPT 6.1 Sol (> 272K tokens) Exo Free… docs update · Oct 2026 · source

example

  • Prevent zero-cost models from appearing in model selection — useful when enforcing paid-tier-only usage in a team environment. OPENCODE_DISABLE_FREE_MODELS=1 opencode v2.1.2 · Oct 2026 · source

api

  • POST /api/session/{sessionID}/model · source
  • PATCH /config · source
  • GET /api/model · source
Multimodal input shipped Include audio and video in agent prompts using Gemini protocol support for multimodal input. 4 releases · 1 other source · first seen Jun 2026

Also counts toward: REST API

release

  • New endpoint GET /api/experimental/media/{hash} 0.0.1 · Oct 2026 · source · release history
  • Adds an experimental API for session media with opt-in media URI support, and enables experimental content-addressed blob storage for session media via the experimental.media_blob config key. changelog · Oct 2026 · source · release history
  • New endpoint POST /api/experimental/voice/session 0.0.1 · Oct 2026 · source · release history
  • Adds Gemini audio and video media support via the Gemini protocol (contributed by @remorses). v1.17.10 · Jun 2026 · source · release history

example

  • Enable experimental content-addressed blob storage so session media is deduplicated and addressed by content hash. experimental: media_blob: true changelog · Oct 2026 · source
Agent Orchestration and Control 3 capabilities OpenCode gives users fine-grained control over how agents operate, what context they work with, and what actions they are permitted to take. This includes approval workflows, execution modes, and the references agents use.
Permission and approval controls verified Review and approve agent permission requests individually, auto-approve them, or enable unattended yolo mode via the API. 8 releases · 17 other sources · first seen Jun 2026

Also counts toward: REST API

release 8 total

  • DELETE /api/permission/saved/{id}: response schema changed 0.0.1 · Oct 2026 · source · release history
  • New endpoint PATCH /api/permission/saved/{id}⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 0.0.1 · Oct 2026 · source · release history
  • Removed endpoint POST /session/{sessionID}/permissions/{permissionID} 0.0.1 · Oct 2026 · source · release history
  • New endpoint DELETE /api/session/{sessionID}/inbox/{inboxID} 0.0.1 · Oct 2026 · source · release history
  • New endpoint DELETE /api/session/{sessionID}/form/{formID} 0.0.1 · Oct 2026 · source · release history
  • Deprecated endpoint POST /session/{sessionID}/permissions/{permissionID} (still works) 1.0.0 · Aug 2026 · source · release history

api 17 total

  • POST /api/session/{sessionID}/question/{requestID}/reject · source
  • GET /api/session/{sessionID}/question · source
  • POST /permission/{requestID}/reply · source
  • GET /permission · source
  • DELETE /api/permission/saved/{id} · source
  • GET /api/question/request · source
Code mode verified Run agents in a confined code mode that gates the execute tool and exposes controlled adapters for connected tools and APIs. 6 releases · 7 other sources · first seen Jul 2026

release

  • Toggle shell mode in the composer with ⌘⇧X on macOS or Ctrl+Shift+X on Windows and Linux. v2.2.5 · Oct 2026 · source · release history
  • Removed endpoint GET /file/content 0.0.1 · Oct 2026 · source · release history
  • Removed endpoint GET /formatter 0.0.1 · Oct 2026 · source · release history
  • Gates the execute tool behind a code-mode flag so it only surfaces when code mode is active. v1.17.14 · Jul 2026 · source · release history
  • Adds a code-mode MCP adapter enabling confined orchestration scripts to run against connected MCP tools. v1.17.14 · Jul 2026 · source · release history
  • Adds an OpenAPI tool adapter for code-mode, expanding available tool integrations. v1.17.14 · Jul 2026 · source · release history

api 7 total

  • GET /experimental/workspace/adapter · source
  • GET /api/command · source
  • GET /experimental/capabilities · source
  • POST /session/{sessionID}/shell · source
  • GET /pty/shells · source
  • GET /pty/{ptyID} · source
Agent references and context verified Define references with usage descriptions so agents have self-documenting context, with independent control over autocomplete visibility. 3 releases · 8 other sources · first seen Jun 2026

release

  • Enable experimental.todo: true in config to give models the todowrite tool and display their task list in the TUI session and sidebar.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.1.0 · Oct 2026 · source · release history
  • Enables references to be hidden from @ autocomplete while still remaining available to agents. v1.17.1 · Jun 2026 · source · release history
  • Adds support for usage descriptions on references, making agent context more self-documenting. v1.17.1 · Jun 2026 · source · release history

docs

  • Use these Agent Skills fields: Put OpenCode-specific behavior in instead of adding custom top-level fields. docs update · Oct 2026 · source

example

  • Let a model maintain a visible task list during a long session — useful when you want to track multi-step work in the sidebar. { "experimental": { "todo": true } } v2.1.0 · Oct 2026 · source

api

MCP Integration 2 capabilities OpenCode connects to MCP servers so agents can access external resources and tools without manual wiring. Configuration, working directories, server instructions, and logs are all surfaced inside the tool.
MCP server integration verified Connect and configure MCP servers with per-server working directories, workspace root passing, and in-app log surfacing. 10 releases · 9 other sources · first seen Jun 2026

Shared capability: MCP server

Also counts toward: MCP server

release 10 total

  • A bare integration.use rule no longer applies to MCP servers, skills, or plugins — you must now use mcp.use, skill.use, or plugin.use respectively (existing rules with the old mcp:, skill:, and plugin: resource prefixes are converted automatically). v2.2.3 · Oct 2026 · source · release history
  • Control which MCP servers, skills, and plugins are active with the new mcp.use, skill.use, and plugin.use rule actions — note that a bare integration.use rule no longer covers these resources.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.2.3 · Oct 2026 · source · release history
  • Expose MCP server titles from serverInfo. changelog · Oct 2026 · source · release history
  • Removed endpoint DELETE /mcp/{name}/auth 0.0.1 · Oct 2026 · source · release history
  • New endpoint DELETE /api/experimental/mcp/{server} 0.0.1 · Oct 2026 · source · release history
  • Upgrades the MCP client SDK to v2, improving compatibility with newer MCP servers and OAuth flows. v1.18.8 · Jul 2026 · source · release history

example

  • Anchor a local MCP server to a specific subdirectory of your workspace so its relative file paths resolve correctly. opencode --mcp-server '{"type":"local","command":"node","args":["server.js"],"cwd":"tools/mcp"}' v1.17.4 · Jun 2026 · source

api 8 total

  • POST /mcp/{name}/disconnect · source
  • POST /mcp · source
  • GET /mcp · source
  • POST /mcp/{name}/auth/authenticate · source
  • DELETE /mcp/{name}/auth · source
  • POST /mcp/{name}/connect · source
MCP resource and tool access verified Let agents fetch MCP resource content, list resource templates, and autocomplete MCP resources directly in the composer. 5 releases · 6 other sources · first seen Jun 2026

release

  • Removed endpoint GET /experimental/resource 0.0.1 · Oct 2026 · source · release history
  • Removed endpoint GET /experimental/tool 0.0.1 · Oct 2026 · source · release history
  • Autocompletes MCP resources directly in the Desktop composer. v1.17.12 · Jun 2026 · source · release history
  • Adds MCP resource read tools, enabling agents to fetch MCP resource content directly. v1.17.10 · Jun 2026 · source · release history
  • Adds MCP resource template listing so agents can discover available resource templates from connected MCP servers. v1.17.10 · Jun 2026 · source · release history

api

  • GET /experimental/tool/ids · source
  • GET /experimental/tool · source
  • GET /experimental/resource · source
  • GET /find/file · source
  • GET /file/content · source
  • GET /path · source
Interfaces and Access 4 capabilities OpenCode is accessible through a desktop browser app, a terminal UI, and a CLI, covering both graphical and resource-constrained environments. A WSL setup flow extends access to Windows users running Linux subsystems.
Desktop app verified Use a browser-based desktop app with tab management, file pickers, session controls, mobile navigation, and a project home screen. 34 releases · 9 other sources · first seen Jun 2026

release 34 total

  • Reduces highlighting time and memory use for large files and diffs in Desktop code blocks, file views, and review diffs by switching to Pierre Highlights. v2.1.3 · Oct 2026 · source · release history
  • Adds pinch-to-zoom and two-finger scroll panning for image and SVG previews, with a Fit action to reset the view. v2.0.29 · Oct 2026 · source · release history
  • Adds right-click on a project in the desktop Home screen to open the project menu. v1.18.16 · Aug 2026 · source · release history
  • Projects opened from the Home screen are now registered so they are available throughout the rest of the app. v1.18.16 · Aug 2026 · source · release history
  • Expands locale coverage across the desktop app with much broader language support. v1.18.15 · Aug 2026 · source · release history
  • Prevents duplicate attachments from being added in the desktop composer. v1.18.10 · Jul 2026 · source · release history

docs

  • Intro Get started with OpenCode. OpenCode is an open source AI coding agent. It’s available as a terminal-based interface, desktop app, or IDE extension. Let’s get started. seen 20260714T1 · source

api 8 total

TUI interface verified Interact through a terminal UI that includes a diff viewer, a debug info dialog with clipboard copy, and authenticated remote connections. 15 releases · 18 other sources · first seen Jun 2026

release 15 total

  • Adds /copy TUI command to copy the latest assistant message or completed compaction summary without copying the full transcript.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.0.32 · Oct 2026 · source · release history
  • New endpoint DELETE /api/experimental/persistent-pty/{ptyID} 0.0.1 · Oct 2026 · source · release history
  • New endpoint DELETE /api/debug/location⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 0.0.1 · Oct 2026 · source · release history
  • GET /api/pty/{ptyID}/connect: param location[workspace] (query) removed; response schema changed 0.0.1 · Oct 2026 · source · release history
  • Removed endpoint POST /tui/select-session 0.0.1 · Oct 2026 · source · release history
  • Removed endpoint GET /tui/control/next 0.0.1 · Oct 2026 · source · release history

docs

  • Intro Get started with OpenCode. OpenCode is an open source AI coding agent. It’s available as a terminal-based interface, desktop app, or IDE extension. Let’s get started. seen 20260714T1 · source
  • TUI Using the OpenCode terminal user interface. OpenCode provides an interactive terminal interface or TUI for working on your projects with an LLM. Running OpenCode starts the TUI for the current directory. Terminal window opencode Or you can start it for a specific working directory. docs update · Oct 2026 · source
  • cursor style block blinking - Controls the terminal cursor in TUI input fields. style defaults to block , can be underline line default ; blinking defaults to . When style is default , the terminal default cursor is restored, so blinking has no effect. docs update · Aug 2026 · source
  • cursor style block blinking When cursor.style is default , the terminal default cursor is restored, so cursor.blinking has no effect. docs update · Aug 2026 · source

example

  • Review all file changes made during a session without leaving the TUI — toggle full-screen for a wider view. /diff v2.0.30 · Oct 2026 · source

api 13 total

  • POST /log · source
  • POST /tui/open-themes · source
  • POST /tui/open-models · source
  • POST /tui/publish · source
  • POST /tui/append-prompt · source
  • GET /experimental/console · source
CLI interface verified Invoke OpenCode from the command line, including a lightweight mini mode for constrained environments and a raw API command for direct server requests. 8 releases · 12 other sources · first seen Jun 2026

Also counts toward: Command-line interface

release 8 total

  • Accept --server or --standalone anywhere in supported CLI commands, not just at the start. changelog · Oct 2026 · source · release history
  • Return opencode run --format json server connection errors as JSON instead of unstructured output.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ changelog · Oct 2026 · source · release history
  • Add the machine hostname to the /api/info endpoint. changelog · Oct 2026 · source · release history
  • Installer now creates ~/.zshrc or Fish's config.fish when missing, adds OpenCode to PATH, and prompts exec $SHELL for fresh installs. v2.1.2 · Oct 2026 · source · release history
  • Adds persistent PTY support on Windows, matching the terminal workflow already available on macOS and Linux. v2.1.0 · Oct 2026 · source · release history
  • Unknown top-level config fields are now silently ignored instead of failing config parsing, making config files forward-compatible. v1.18.16 · Aug 2026 · source · release history

example

  • Retrieve the machine hostname and other server metadata — useful for multi-node deployments that need to confirm which host is serving. curl http://localhost:<port>/api/info changelog · Oct 2026 · source
  • Get structured JSON output from a failed server connection when running OpenCode in CI or automation pipelines. opencode run --format json --server changelog · Oct 2026 · source
  • Launch OpenCode in mini mode for a lighter-weight session, e.g. in a resource-constrained CI step. opencode --mini v1.17.10 · Jun 2026 · source

api 9 total

WSL server setup shipped Set up the OpenCode server inside Windows Subsystem for Linux with guided distro checks and an install flow. 1 release · first seen Jul 2026

release

  • Streamlines WSL server setup with clearer distro checks and guided install flows. v1.17.13 · Jul 2026 · source · release history
Code Review and Diffing 1 capability OpenCode surfaces file differences so users can inspect what agents have changed before accepting those changes. Comparisons can be made against the working tree or the main branch.
Diff viewer verified View and compare file diffs in the TUI or desktop review panel, including working-tree versus main-branch comparisons with a configurable keybind. 10 releases · 9 other sources · first seen Jun 2026

release 10 total

  • While creating a worktree, open the base-branch chooser with ⌘⌥. on macOS or Ctrl+Alt+. on Windows and Linux, or reach it via the command palette and Settings › Shortcuts. v2.2.4 · Oct 2026 · source · release history
  • Adds /diff subcommand inside a session to open a docked diff viewer beside your work, with f to toggle between side-panel and full-screen layouts.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.0.30 · Oct 2026 · source · release history
  • Adds Settings → Preferences → Timeline → Changed files option to display each completed turn's changed files, line counts, and expandable diffs. v2.0.30 · Oct 2026 · source · release history
  • Removed endpoint POST /vcs/apply 0.0.1 · Oct 2026 · source · release history
  • Removed endpoint GET /vcs/diff/raw 0.0.1 · Oct 2026 · source · release history
  • Updates the review panel with persistent file browsing, improved file tabs, and easier open-in-app actions. v1.17.19 · Jul 2026 · source · release history

api 9 total

Extensibility 1 capability OpenCode exposes a plugin and extension API so developers can build on top of OpenCode using namespaced hooks and a versioned plugin interface. Both synchronous and effect-based plugin styles are supported.
Plugin and extension API verified Build extensions using namespaced hook APIs and a V2 plugin interface that supports both Effect and Promise plugin styles. 14 releases · 3 other sources · first seen Jun 2026

Also counts toward: Plugin API support, Plugin system

release 14 total

  • @opencode/plugin now requires @opentui/core and @opentui/solid 0.8.0 or later; in OpenTUI 0.8, a ScrollBox's wrapper, viewport, content, and scrollbars are facade objects instead of renderables, and a custom RenderContext must implement clock and onAnimationTick. v2.2.3 · Oct 2026 · source · release history
  • TUI plugins now require @opentui/core and @opentui/solid 0.7.0 (up from 0.6.8). Plugins depending on OpenTUI 0.6 fail to install until upgraded. changelog · Oct 2026 · source · release history
  • Let plugins filter event subscriptions by type. changelog · Oct 2026 · source · release history
  • The @opencode/ai package root now exports the Promise API; the Effect API moved to @opencode/ai/effect. Replace import { AI } from '@opencode/ai/promise' with import { AI } from '@opencode/ai' and import { LLM } from '@opencode/ai' with import { LLM } from '@opencode/ai/effect'. changelog · Oct 2026 · source · release history
  • New endpoint GET /api/plugin/gui 0.0.1 · Oct 2026 · source · release history
  • The wildcard subpath export on @opencode/ai is replaced with an explicit list of provider and protocol entry points; any code relying on wildcard imports must be updated. v2.2.0 · Oct 2026 · source · release history

example

  • Keep persistent per-session context in a plugin without invalidating the prompt cache on every update. ctx.session.instructions.entry.put('my-plugin-state', 'User prefers concise answers in TypeScript.'); // Later, update without triggering a new model turn:… v2.2.0 · Oct 2026 · source

api

Other 14 capabilities
Artifact publishing shipped Agents can publish, update, and serve live HTML or static artifacts during a session via a built-in local provider or plugin storage, enabled through the experimental artifacts flag in opencode.json. 8 releases · 1 other source · first seen Oct 2026

Also counts toward: REST API

release 8 total

  • New endpoint GET /api/experimental/artifacts/{artifactID} 0.0.1 · Nov 2026 · source · release history
  • New endpoint GET /api/experimental/artifacts 0.0.1 · Nov 2026 · source · release history
  • New endpoint PATCH /api/experimental/artifacts/{artifactID} 0.0.1 · Nov 2026 · source · release history
  • New endpoint GET /api/experimental/artifacts/providers 0.0.1 · Nov 2026 · source · release history
  • New endpoint GET /api/experimental/artifacts/{artifactID}/view/* 0.0.1 · Nov 2026 · source · release history
  • New endpoint DELETE /api/experimental/artifacts/{artifactID}⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 0.0.1 · Nov 2026 · source · release history

example

  • Allow an AI agent to publish and serve a live HTML report or static artifact during a session. { "experimental": { "artifacts": true } } v2.2.4 · Oct 2026 · source
JSON configuration shipped Configure the tool using a JSON or JSONC file. 4 releases · 4 other sources · first seen Oct 2026

release

  • Set a percentage-based compaction buffer with "compaction": { "buffer": "20%" } in opencode.json to reserve a share of each model's context window, covering models with both small and large windows.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.2.5 · Oct 2026 · source · release history
  • Adds experimental.background_compaction config key — set to true to pre-generate session summaries in the background before the compaction threshold is hit, reducing automatic compaction wait time.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.1.4 · Oct 2026 · source · release history
  • Adds experimental.location_idle_timeout config key accepting a duration string (e.g. '4 hours') or false to control when inactive location services unload. v2.1.2 · Oct 2026 · source · release history
  • Adds provider.*.models.*.reasoning_options config key to build model variants from configured reasoning controls, replacing catalog variants while preserving any configured variants overrides on top.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v1.19.3 · Oct 2026 · source · release history

docs

  • Config Using the OpenCode JSON config. You can configure OpenCode using a JSON config file. Format OpenCode supports both JSON and JSONC (JSON with Comments) formats. docs update · Oct 2026 · source

example

  • Reserve 20% of any model's context window as a compaction buffer so a single config works across models regardless of their window size. { "compaction": { "buffer": "20%" } } v2.2.5 · Oct 2026 · source
  • Enable background compaction so sessions near their token limit don't stall waiting for a summary to be generated at compaction time. experimental: background_compaction: true v2.1.4 · Oct 2026 · source
  • Keep location services alive longer (or disable auto-unload entirely) to avoid cold-start delays on slow machines. experimental: location_idle_timeout: "4 hours" v2.1.2 · Oct 2026 · source
Experimental generation APIs shipped Exposes experimental endpoints and plugin/SDK APIs for text generation, image generation, and decision model workflows. 6 releases · 2 other sources · first seen Oct 2026

Also counts toward: Plugin API support, REST API, Client SDKs

release

  • Configure a preferred image generation model with experimental.image_generate.model — agents now call experimental_image_generate automatically when the connected provider supports image models, with no extra configuration required.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.2.2 · Oct 2026 · source · release history
  • Enable experimental image creation and editing by setting experimental.image_generate in config, with an optional experimental.image_generate.model key to set the default model. v2.2.1 · Oct 2026 · source · release history
  • New endpoint POST /api/experimental/generate/text 0.0.1 · Oct 2026 · source · release history
  • New endpoint POST /api/experimental/generate/decisions 0.0.1 · Oct 2026 · source · release history
  • New endpoint POST /api/experimental/generate/image 0.0.1 · Oct 2026 · source · release history
  • Adds experimental image generation and decision generation APIs to plugins and the SDK, enabling image generation and decision model workflows (such as typesafe, clef). v2.2.0 · Oct 2026 · source · release history

example

  • Allow agents to generate or edit images in a session, pointing to a specific model. experimental: image_generate: model: dall-e-3 v2.2.1 · Oct 2026 · source
  • Point agents at a specific image model so image generation works out of the box with a capable provider. experimental: image_generate: model: dall-e-3 v2.2.2 · Oct 2026 · source
Voice session support shipped Interact with sessions using voice, with endpoints to retrieve available voice models and set instructions for a voice session. 6 releases · 2 other sources · first seen Oct 2026

Also counts toward: REST API

release

  • Add experimental Console voice calls in the Desktop beta. changelog · Oct 2026 · source · release history
  • Removed endpoint POST /api/experimental/voice/session/{sessionID}/instructions 0.0.1 · Oct 2026 · source · release history
  • Adds client.voice.models() SDK method to discover available experimental voice models and supported transports.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.1.3 · Oct 2026 · source · release history
  • Adds client.voice.session() SDK method to host GPT-Live sessions through connected OpenCode Console workspaces. v2.1.3 · Oct 2026 · source · release history
  • New endpoint POST /api/experimental/voice/session/{sessionID}/instructions 0.0.1 · Oct 2026 · source · release history
  • New endpoint GET /api/experimental/voice/models⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 0.0.1 · Oct 2026 · source · release history

example

  • Start a GPT-Live voice session through a connected OpenCode Console workspace. const session = await client.voice.session(); v2.1.3 · Oct 2026 · source
  • Enumerate which experimental voice models and transports your workspace supports before starting a session. const models = await client.voice.models(); v2.1.3 · Oct 2026 · source
Session scheduling shipped Provides experimental endpoints to create, retrieve, and delete scheduled session tasks. 3 releases · first seen Oct 2026

Also counts toward: Scheduled jobs

release

Unified comment editor shipped A single compact comment editor for quotes and annotations from the timeline, terminal, and browser, keeping source highlights attached to local drafts. 2 releases · first seen Oct 2026

release

  • Send a single quote and comment from the comment popup by holding ⌘ or Ctrl to switch the checkmark to send, or pressing ⌘Enter or Ctrl+Enter, without disturbing the rest of the composer. v2.2.5 · Oct 2026 · source · release history
  • Quotes and annotations from the timeline, terminal, and browser now share a single compact comment editor while keeping source highlights attached to local drafts. v2.2.2 · Oct 2026 · source · release history
Filesystem watch API shipped Provides experimental endpoints to subscribe to and cancel filesystem watch events on the server. 2 releases · first seen Oct 2026

Also counts toward: REST API

release

  • New endpoint POST /api/experimental/fs/watch 0.0.1 · Oct 2026 · source · release history
  • New endpoint DELETE /api/experimental/fs/watch⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 0.0.1 · Oct 2026 · source · release history
Goal mode shipped Run a persistent goal in the TUI or Desktop that keeps a session running until a reviewer confirms the objective is met, with commands to pause, resume, or clear the goal. 1 release · 1 other source · first seen Oct 2026

release

  • Run /goal <objective> in the TUI or Desktop to keep a session running until a reviewer confirms the objective is met; control it with /goal pause, /goal resume, or /goal clear.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.2.1 · Oct 2026 · source · release history

example

  • Keep an agent working toward a long-running task in the TUI until a reviewer confirms it is done. /goal implement the OAuth2 login flow and add tests v2.2.1 · Oct 2026 · source
Installation and upgrade management shipped Migrate from OpenCode 1 to OpenCode 2 or upgrade in place using a single command or the `--major` flag with whichever package manager was used to install the tool. 1 release · 1 other source · first seen Oct 2026

release

  • Adds --major flag to opencode upgrade to upgrade from OpenCode 1 to OpenCode 2 and remove OpenCode 1 in one step.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v1.19.0 · Oct 2026 · source · release history

example

  • Migrate an existing OpenCode 1 installation to OpenCode 2 in a single command, using whichever package manager you installed with. opencode upgrade --major v1.19.0 · Oct 2026 · source
MCP input forms shipped Surfaces interactive input forms (text, number, choice, multiselect, boolean, and URL types) during active MCP tool calls instead of silently waiting for timeout, available across desktop and web. 1 release · first seen Oct 2026

release

  • MCP input forms now surface during active tool calls instead of silently waiting until timeout, supporting text, number, choice, multiselect, boolean, and URL input types across desktop and web. v2.1.4 · Oct 2026 · source · release history
Plan agent documented A restricted built-in agent for planning and analysis that can read and suggest changes to code without making edits outside its designated plan directory. 1 other source · first seen Oct 2026

Also counts toward: Built-in AI assistant

docs

  • A restricted agent designed for planning and analysis. This agent is useful when you want the LLM to analyze code, suggest changes, or create plans without making any actual modifications to your codebase. By default, Plan: Denies file edits, writes, and patches outside its plan directory, ~/.opencode/plan/ . docs update · Oct 2026 · source
Session import documented Load session transcripts from a JSON file to restore conversation history and project state. 1 other source · first seen Oct 2026

docs

  • Import session data from a JSON file. docs update · Oct 2026 · source
Remote device pairing shipped Pair a remote device via Settings → Pairing to enable OpenTunnel remote access and share access via a generated QR code or copyable link. 1 release · first seen Oct 2026

release

  • Adds remote device pairing via Settings → Pairing — select Pair device to enable OpenTunnel remote access and generate a QR code or copyable link.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.0.29 · Oct 2026 · source · release history
Agent-readable session stats shipped Exposes session statistics in JSON and Markdown formats with canonical redirects so agents can programmatically read usage data. 1 release · first seen Oct 2026

Also counts toward: JSON data export

release

  • Adds canonical redirects and JSON and Markdown data formats for agent-readable stats.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v1.18.35 · Oct 2026 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Command line

29 commands for OpenCode, each with where it came from. This tool has no source analysis yet, so there is no option reference and no captured run beside them.

Source

Release-note detail over time

See how much detail OpenCode puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

340 entries

  1. September 20263
  2. August 202610
  3. July 202614
  4. June 202612
  5. May 202619
  6. April 202622
  7. March 202617
  8. February 202624
  9. January 202638
  10. December 202541
  11. November 202545
  12. October 202520
  13. September 202511
  14. August 202523
  15. July 202525
  16. June 202510
  17. May 20256
    Show

    340 entries

    Articles

    3 articles · updated Nov 4, 2026

    Where OpenCode turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.

    Tutorials & guides 3

    • OpenCode Explained: The Open-Source AI Coding Agent Analytics Vidhya
      What sets OpenCode apart is its architecture, and the trade-offs that come with it, especially if you are coming from Claude Code.
      2 more quotes
      In this article, we look at what OpenCode is, what makes its architecture different, what “free” really means once model costs enter the picture, and where its limits sit, focusing on the details that actually affect…
      What is OpenCode?
    • Coding With OpenCode: AI-Assisted Python Real Python
      OpenCode works as a conversational assistant you explicitly direct.
      2 more quotes
      If you’re a Python developer who prefers working in the terminal, OpenCode offers deliberate, context-aware assistance and a customizable AGENTS.md configuration file.
      OpenCode is an open-source AI coding agent that runs in your terminal and lets you analyze and refactor a Python project through conversational commands.
    • OpenCode: AI Agent That Reads and Edits Code in Terminal Tecmint
      OpenCode brings an AI coding agent right into your terminal.
      2 more quotes
      So when I first tried OpenCode , I didn’t expect much.
      OpenCode was different from the start.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →