Problem or use case
Orca currently shows live agent state for agents like Claude and Codex in the workspace sidebar. It would be useful to have the same visibility for OpenCode sessions, so users can see when an OpenCode agent is working, done, or waiting for input without opening each workspace.
OpenCode appears to support this through its plugin API. Plugins can subscribe to session and message events such as session.status, session.idle, permission.asked, question.asked, message.updated, and message.part.updated, which should be enough to map OpenCode activity into Orca's existing agent states.
Expected Behavior
- OpenCode sessions appear in the workspace sidebar like Claude and Codex sessions.
- Sidebar status reflects at least:
- working or running
- done or idle
- waiting for permission or user input
- Ideally, the sidebar can also show the latest prompt or assistant message preview if available.
I'm definitely up for working on this if an approach is determined.
Proposed solution
Bundled
Bundle an Orca-managed OpenCode plugin that is injected into OpenCode sessions launched from Orca.
Example of this is Emdash. They write a plugin and inject a OPENCODE_CONFIG_DIR env variable in the terminal session.
Downside of this is when a user already has a OPENCODE_CONFIG_DIR set, this gets overwritten. You can write in the OPENCODE_CONFIG_DIR if its present, but that might be unwanted.
Seperate publish
Publish a separate optional OpenCode plugin that reports state back to Orca. Plugin should be added by the user in their OpenCode config. Warp does this for notifications
Alternatives or additional context
No response
Problem or use case
Orca currently shows live agent state for agents like Claude and Codex in the workspace sidebar. It would be useful to have the same visibility for OpenCode sessions, so users can see when an OpenCode agent is working, done, or waiting for input without opening each workspace.
OpenCode appears to support this through its plugin API. Plugins can subscribe to session and message events such as
session.status,session.idle,permission.asked,question.asked,message.updated, andmessage.part.updated, which should be enough to map OpenCode activity into Orca's existing agent states.Expected Behavior
I'm definitely up for working on this if an approach is determined.
Proposed solution
Bundled
Bundle an Orca-managed OpenCode plugin that is injected into OpenCode sessions launched from Orca.
Example of this is Emdash. They write a plugin and inject a OPENCODE_CONFIG_DIR env variable in the terminal session.
Downside of this is when a user already has a OPENCODE_CONFIG_DIR set, this gets overwritten. You can write in the OPENCODE_CONFIG_DIR if its present, but that might be unwanted.
Seperate publish
Publish a separate optional OpenCode plugin that reports state back to Orca. Plugin should be added by the user in their OpenCode config. Warp does this for notifications
Alternatives or additional context
No response