Skip to content

OpenCode

Vendor: sst | Homepage: https://opencode.ai/docs/ | CLI Command: opencode | Version Detection: opencode --version

ComponentSupport LevelNotes
SkillsNativeReads .claude/skills/ for compatibility
MCP ServersNative
LSP ServersNative24+ languages with auto-download
HooksNativeTypeScript plugin system, 24+ events
AgentsNative
CommandsNative
InstructionsNative
ComponentScopePath
Skillsuser~/.config/opencode/skills/{name}/SKILL.md
Skillsproject.claude/skills/{name}/SKILL.md
Agentsuser~/.config/opencode/agents/{name}.md
Agentsproject.opencode/agents/{name}.md
Commandsuser~/.config/opencode/commands/{name}.md
Commandsproject.opencode/commands/{name}.md
InstructionsprojectAGENTS.md
ComponentScopeFileFormatKey
Hooksuser~/.config/opencode/opencode.jsoncjsoncplugins
Hooksprojectopencode.jsoncjsoncplugins
MCP Serversuser~/.config/opencode/opencode.jsoncjsoncmcpServers
MCP Serversprojectopencode.jsoncjsoncmcpServers
LSP Serversuser~/.config/opencode/opencode.jsoncjsonclsp
PropertyValue
FilenameAGENTS.md
Content Formatmarkdown
FallbacksCLAUDE.md
ScopePath
projectAGENTS.md

Scatter — components installed to individual paths defined in Component Paths.

Canonical EventHost Event
pre-tool-usetool.execute.before
post-tool-usetool.execute.after
session-startsession.created
pre-compactexperimental.session.compacting
  • stop — Fires when the assistant stops generating.
  • event — Generic event hook for custom event handling.
  • experimental.chat.system.transform — Allows transforming the system prompt before it is sent.
  • experimental.chat.messages.transform — Allows transforming chat messages before they are sent.
  • config — Fires during configuration loading for dynamic config.
  • auth — Fires during authentication flow.
  • chat.message — Fires when a chat message is received.
  • chat.params — Fires to allow modification of chat request parameters.
  • permission.ask — Fires when the assistant requests permission for an action.

typescript-plugin

PropertyValue
Supportedtrue
Transportsstdio, streamable-http
Env PrefixNone
ScopePath
user~/.config/opencode/opencode.jsonc
projectopencode.jsonc
PropertyValue
Default~/.config/opencode
Env OverrideNone
CapabilitySupported
Lazy Loadingfalse
Hot Reloadfalse
Managed Settingsfalse