Kimi Code,
in your notch.

Kimi Code notifications, todos and cost on your Mac

Gnista shows every Kimi Code session in your MacBook’s notch: working, done, or waiting for permission, with the command it wants to run. Its row reads Kimi’s own session: the prompt, the reply, the todos and what it cost. One click takes you to its tab.

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

Gnista with Kimi Code, at a glance.

Where it runs
Kimi Code in any terminal.
Setup
Its own hook blocks in ~/.kimi-code/config.toml, after a private backup.
Needs you
Permission requests, with the command Kimi wants to run, and its questions, with their options.
Answer from the notch
Allow, Always (for this session) or Deny with a reason, plans and questions too, with Answer prompts in Gnista on: Gnista types Kimi’s own menu keys, wherever it can type a reply.
Reply from the notch
Yes, typed into its terminal: Terminal, iTerm, Ghostty, a tmux pane, or an editor’s terminal with Gnista’s extension.
In the row
The session’s title, your prompt, Kimi’s reply, the tool in use, todo progress and context.
Subagents
Yes: the subagent, its current step and how many are done, on the session’s row.
Cost and limits
Cost priced by the model your alias stands for, none for Kimi’s own models on a membership; no plan limits.

Your API key stays put.

Kimi keeps your providers and API key in the same file as its hooks. Gnista adds and removes only its own hook blocks, as text, keeps the file’s permissions, and keeps its backups private.

Strict about hooks, so we are too.

Kimi ignores every hook in the file if one of them has a key it doesn’t know. Gnista writes only what Kimi accepts, and kimi doctor agrees.

Read from Kimi’s own session.

Gnista reads the session’s wire.jsonl: your prompt, the reply, the tool in use, the todo list and each model call’s tokens. Cost is priced by the model your alias stands for, and the context window comes from that alias’s max_context_size in config.toml.

Your own models, priced too.

Running a model Gnista doesn’t know? Describe it in a model file: which ids it matches, its price and its context window.

What it can’t do with Kimi Code, and why.

  • Kimi can’t take an answer from a hook, so Gnista answers by typing Kimi’s own menu keys. That works only on this Mac, where Gnista can type: Terminal, iTerm, Ghostty, a tmux pane, or an editor’s terminal with Gnista’s extension. Elsewhere you answer in Kimi.
  • No cost for Kimi’s own models under a Kimi Code membership: the membership pays for them, and Kimi publishes no per-token price.
  • Replies from the notch are typed into its terminal, so only in Terminal, iTerm, Ghostty, a tmux pane, or an editor’s terminal with Gnista’s extension.
02Setup

Connected in a minute.

  1. Open Gnista and tick Kimi Code.
  2. Gnista backs up ~/.kimi-code/config.toml, privately, and appends its own [[hooks]] blocks. Your providers, API key and the file’s permissions stay as they were.
  3. Start Kimi in your project. Kimi asks once whether to trust the folder.
03FAQ

Kimi Code, asked and answered.

Can I approve Kimi Code from the notch?

Yes, with Settings ▸ General ▸ Answer prompts in Gnista on: Allow, Always for this session, or Deny with a reason, and its plans and questions. Kimi can’t take an answer from a hook, so Gnista presses Kimi’s own menu keys in its terminal: Terminal, iTerm, Ghostty, a tmux pane, or an editor’s terminal with Gnista’s extension. Anywhere else, a click takes you to Kimi to answer there.

Why doesn’t my session show a cost?

Kimi’s own models under a Kimi Code membership have no published per-token price, so Gnista shows none. Other providers’ models are priced by the model the alias stands for; for one Gnista doesn’t know, add a model file.

Does Gnista read my Kimi API key?

No. It adds and removes only its own hook blocks in config.toml. From the rest it reads only your models’ context sizes and provider types, never your keys.

Can I reply to Kimi from the notch?

Yes, in Terminal, iTerm, Ghostty, a tmux pane, or an editor’s terminal with Gnista’s extension: Gnista types your reply into Kimi’s terminal.

How do I remove it?

Settings ▸ Agents ▸ Kimi Code ▸ Disconnect. Exactly Gnista’s blocks go, and the rest of the file stays as it was.

Gnista also keeps an eye on

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