Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Tool Permissions

Kimaki shows OpenCode's permission prompts in Discord. When the agent tries something that needs approval, you get buttons in the thread. The rules that decide what needs approval come from your OpenCode config.

Approval buttons

When a tool call needs permission (a shell command, files outside the project, and so on), Kimaki posts one message with three buttons:
agent wants to run a command │ ▼ ┌──────────┐ ┌────────────────┐ ┌────────┐ │ Accept │ │ Accept Always │ │ Deny │ └──────────┘ └────────────────┘ └────────┘ │ │ │ run once remember rule reject + tell agent
  • Accept: allow this one call.
  • Accept Always: allow it and remember the rule, so similar calls don't ask again.
  • Deny: reject the call. The agent is told and continues.
Prompts from subagents show up in the same thread. A prompt has no timeout: it waits until you click, or until you send a new message, which denies it and interrupts the run.
OpenCode fixes a permission's scope when it asks. A reply can allow or deny, but it cannot widen the requested pattern.

Rules in your OpenCode config

Kimaki adds no permission rules of its own. Sessions follow your OpenCode config, the same as in the TUI. Rules are evaluated in order and the last matching rule wins:
{ "$schema": "https://opencode.ai/config.json", "permission": { "bash": { "*": "ask", "git status": "allow", "pnpm test*": "allow" }, "external_directory": { "~/.ssh/*": "deny" } } }
OpenCode 2 also reads this OpenCode 1 permission format. See the OpenCode permissions docs for every action and pattern.
Agent files can carry rules too, which is handy for an agent that never stalls on prompts:
--- description: Build agent that does not ask before running tests mode: primary permission: bash: 'pnpm test*': allow ---

Locking down a single session

When you start a session with kimaki send, add rules for that session only with repeatable --permission tool[:pattern]:allow|deny|ask flags:
# Read-only review session kimaki send -c <channel-id> -p 'Review this code' \ --permission 'shell:deny' \ --permission 'edit:deny'
OpenCode 2 names the shell tool shell (it was bash in OpenCode 1), and edit also covers file writes and patches. --permission only works for new sessions. This is ideal for CI, routines, or sandboxed runs; see CI & Automation.