3.1.0
GitHub and email connectors, schedules, and work that survives a runner restart.
Reach your agent from more places
- GitHub. Mention Evident in an issue, a pull request or a Discussion and your agent picks it up. Inline review comments on a PR all land in the same conversation, and you can choose which OpenCode agent answers.
- Email. Send your agent an email and it replies. Create named inboxes, each with its own OpenCode agent and model, and attach images for the agent to look at.
- Slack. Images you attach are now forwarded to the agent, every message is attributed to the person who sent it, replies render as proper Markdown (including tables), and you can override the agent or model inline in a message. Direct messages start a fresh conversation per thread.
A runner page that tells you what’s going on
- We are settling on runner for the machine your agent runs on: the new runner page and the CLI’s output now use that name.
- The runner page leads with status, lists the sessions currently running, and shows which connectors (Slack, GitHub, email) are wired up to that runner.
- One composer with OpenCode agent and model pickers, wherever you start a conversation.
- A stopped runner can be woken automatically when a message arrives, shuts down gracefully by finishing its in-flight work first, and shows a friendly page instead of an error while offline.
Schedules
- Send a recurring message to your agent on a schedule, with a log of every run.
- Trigger a schedule by hand without waiting for its next slot.
- Pick your timezone from a searchable list instead of typing it.
Models and providers
- The model dropdown puts the providers you have actually connected first.
- The default OpenCode model and agent autocomplete from what your runner really has available.
Analytics and webhooks
- An organisation analytics page with active users across every source, a per-source breakdown, top users per source, day/hour precision and a three-month range. Slack users show their display name rather than a raw ID.
- Outbound event webhooks, with a list of recent deliveries — full URL, status and time, expandable to headers and body.
Reliability
- Messages survive a runner restart: work that was in flight is picked back up instead of hanging.
- Queued messages are visible and get run when the runner reconnects; you can delete the ones you no longer want.
- Replies are delivered durably, so an answer is not lost if something fails mid-delivery.
- Permission and question prompts from sub-agents now reach the channel you asked from.
- The CLI has log levels (
--log-level) so you can turn the noise up or down. - Security updates across our dependencies.