Claude Code
Approvals in the bubble, session status at a glance — over the hooks API, with a timestamped settings backup and a byte-identical revert.
Kobun is the face for whatever you already run. Agents drive it over MCP, scripts drive it with one command, and every inbound event is receipted with its source. Badges mean what they say: we only mark works today on things we watched work.
Approvals in the bubble, session status at a glance — over the hooks API, with a timestamped settings backup and a byte-identical revert.
Give Claude the pet's own tools — say, ask, set_state, reminders, Pomodoro, the pinned note.
claude mcp add kobun -- kobun mcpOne line puts a human in the loop. Exit codes: 0 yes, 1 no, 2 timeout, 3 Kobun not running (within 200 ms — your script never hangs).
kobun ask "Deploy to prod?"kobun mcp is a standard stdio MCP server. Anything that can register a stdio server — agents, editors, launchers — gets the pet as a tool.
kobun mcpCodex's notify hook fires on turn completion, so the pet shows done / waiting. Approvals aren't exposed to external hooks yet (openai/codex#11808).
notify = [".../kobun-hook", "codex-notify"]The open door is a local Unix socket — no TCP, no server. Three ops: say, state, ask. Plain text, rate-limited, one ask at a time, every knock receipted.
{"v":1,"op":"say","text":"build done"}Has a hooks surface we haven't verified against current docs. If you wire it to kobun say / ask, send the recipe and we'll publish it with credit.
Same deal: plausible via its extension points, untested by us today. We'd rather say that than fake a logo wall.
Windsurf, Zed, Raycast, a cron job, a build server — if it can run a command or speak MCP, it can drive the pet. recipes@kobun.xyz
sayput a line in the pet's bubble
askyes/no question — blocks until the human clicks
set_stateworking · waiting · done · error · idle
reminder_*create, list, cancel reminders
pomodoro_*start and stop focus timers
note_*pin and read the pinned note
Exact setup lines, exit codes, and the wire protocol live on /recipes. Sideloaded MCP servers inside the app stay behind a strict allowlist — the door is open, not unguarded.