OpenCode,
in your notch.

OpenCode notifications, approvals and replies on your Mac

Gnista shows every OpenCode session in your MacBook’s notch. Allow its requests and reply to it from there, whichever model it’s running, local ones included.

Try free for 7 days No account, no card · then €19 once
01At a glance

Gnista with OpenCode, at a glance.

Where it runs
OpenCode in any terminal, VS Code’s included, and on a Linux server, over SSH.
Setup
One plugin file at ~/.config/opencode/plugins/gnista.js; nothing else changes.
Needs you
Permission requests, with the command, file or diff, its questions, and its plan once it’s finished.
Answer from the notch
Allow, Always or Deny, answers to its questions, and Approve or Keep planning, sent through Gnista’s plugin inside OpenCode.
Reply from the notch
Yes, wherever OpenCode runs: it arrives as your message, with the session’s agent and model kept.
In the row
The title, the agent (build or plan), your prompt, the answer, the running tool and the todos.
Subagents
Folded into the row of the session that started them, which shows what they ask.
Cost and limits
OpenCode’s own cost and token count, and the context used; no plan limits, since OpenCode keeps none.

Answers that land in OpenCode itself.

Gnista’s plugin runs inside OpenCode, so Allow, Always and Deny, answers to its questions and a finished plan’s Approve go through OpenCode’s own client, not a keystroke in a terminal. OpenCode’s own prompt stays up too, and whichever you answer first counts.

Replies that look like you typed them.

When a session is idle, a reply from the notch goes in as a real prompt, with the agent and model the session was using, and shows in OpenCode as your message. In any terminal, VS Code’s included.

Subagents, on one row.

When OpenCode hands work to a subagent, that session folds into the one that started it. Its requests show on the parent’s row, so you answer them in the same place.

Any model. Even yours.

OpenCode runs anything from Claude to GLM to a model on your own Mac. The row shows a badge for the model and OpenCode’s own cost figure. For a model Gnista doesn’t know, a small model file gives it a context size and an icon.

What it can’t do with OpenCode, and why.

  • A finished plan takes only Approve or Keep planning: what to change goes in as your next prompt once the session stops.
  • No plan limits: OpenCode doesn’t record any. The row shows its cost instead.
  • A model Gnista doesn’t know shows no context bar until you describe it in a model file.
02Setup

Connected in a minute.

  1. Open Gnista and tick OpenCode.
  2. Gnista writes one new file, ~/.config/opencode/plugins/gnista.js, and leaves your OpenCode config alone, so there’s nothing to back up. If another plugin already has that name, Gnista stops and says so.
  3. To answer from the notch, turn on Answer prompts in Gnista (Settings ▸ General).
  4. Start OpenCode. One already open picks up the plugin when you restart it.
03FAQ

OpenCode, asked and answered.

Can I approve OpenCode from the notch?

Yes: Allow, Always or Deny, its questions and its finished plans, once Answer prompts in Gnista is on. OpenCode only asks about what its own permission config says to ask about, and by default that’s little, so you may see few requests.

Why don’t I see any requests from OpenCode?

OpenCode allows most things by default. Set a permission to ask in your OpenCode config and its requests show in the notch.

Can I reply to OpenCode from the notch?

Yes, once a turn is done. The reply goes in as a real prompt with the session’s agent and model, and shows as your message.

Does it work with local models?

Yes. OpenCode works with any provider, Ollama and LM Studio included, and Gnista shows those sessions like any other. For a model it doesn’t know, describe it in a model file.

What does Gnista change, and how do I remove it?

Only its plugin file, ~/.config/opencode/plugins/gnista.js. Settings ▸ Agents ▸ OpenCode ▸ Disconnect deletes it; your OpenCode config is never touched.

Does it work with OpenCode on a server, over SSH?

Yes, on a Linux server. Connect the server in Settings ▸ Remote, with a host from your ssh config: Gnista puts its helper there and its plugin in OpenCode’s plugins folder on the server. Its sessions show with the machine’s name, answers from the notch reach OpenCode there, and a click brings up the terminal tab you ssh’d in from, tmux pane included, or your editor’s Remote-SSH window. Gnista can’t read OpenCode’s records on the server yet, so those rows show no title or cost. Step by step: agents over SSH.

Gnista also keeps an eye on

Wrote your own? It can report to Gnista with one line of JSON: custom agents.