Koda 0.9.1 — first public release
Koda is out of beta. Until today npm i -g @openadapter/koda gave you
1.0.0-beta.13 — latest had been frozen there for months while the real work happened
on @beta. This release moves latest onto current code:
npm i -g @openadapter/kodaDebugging — new
Koda speaks the Debug Adapter Protocol. It can set a breakpoint, launch or attach, then read the real stack and actual variable values at the moment things broke — step through, and evaluate expressions in the paused frame.
It discovers 14 adapters on your PATH, with an xcrun fallback for the lldb-dap
Xcode hides. It registers the tool only when an adapter genuinely exists on your machine,
and never loads the engine until you actually debug.
This is the difference between reading a stack trace and watching the value change.
Delegation — new
A task tool with context-isolated subagents — general, explore, or your own in
.koda/agents/*.md. They run in parallel and only their results come back, so the main
context stays clean. A live line under the input shows how many are working and for how long.
Skills — new
koda skill search / add / remove / list / update, against the open
skills.sh registry.
Editing — new
hashline_edit (vendored from oh-my-pi, MIT). Reads carry a content tag and line
numbers; edits are line-anchored operations that never echo old text back. A stale tag
fails closed with a re-read instruction rather than quietly corrupting the file.
Choose it in /settings → Edit tool, which enforces one or the other — running both just
hands the model a coin to flip.
Type errors in the loop
After an edit, the errors your change introduced — including the call sites you broke somewhere else — come back in the tool result, so the model fixes them in the same turn. TypeScript needs no install; Python, Go, Rust, Java and C/C++ work through their standard language servers.
Koda finishes what it starts
The big one if you have ever watched an agent stop halfway.
There is now a completion gate on every model tier, not just the ones running the overseer. The old check only fired when the model had made a todo list — which happened in 13.6% of multi-step tasks, so on a cheap model nothing was checking at all. The new gate costs zero extra model calls.
Todos can also carry a verify command, and marking one done is only a claim until Koda runs that command itself and sees it exit 0.
Fullscreen mode
KODA_FULLSCREEN=1 gives a live sidebar: session, context, model, LSP status, and the todo
plan marked [ ] / [x] / [✓] — that third mark meaning Koda verified it, not that
the model said so.
Plus 15 themes on a four-role colour system. The old palette used accent 102 times against text's 16, so everything read as important and therefore nothing did.
Fixed
- Theme changes apply instantly instead of needing a restart
- The sidebar scrolls
- A language server's stderr can no longer shred the fullscreen frame
- A deleted working directory explains itself instead of throwing
uv_cwd - Stray
...on fullscreen rows - Plan mode records a plan the gates can actually check
- The overseer toggle stops claiming to be on when it is suppressed
- Retried timeouts stay quiet
- A self-update rule that could have pulled beta users backwards onto
latest
