Releases: AdamMagued/kim
Release list
v0.9.2 β Headless fix & chat UI polish
What's new in v0.9.2
π Bug Fixes
Headless mode β Gemini prompts now always send
The browser window was being resized to 1Γ1 px when hidden offscreen. This collapsed CSS layout so Gemini's <rich-textarea> got offsetParent = null, causing isVisible() to return false, findGeminiInput() to return null, and prompts to silently never be sent.
Fix: the hidden browser window is now set to 1024Γ768 while remaining at position (β10000, β10000) β invisible to the user, but with a valid viewport that keeps the DOM layout intact.
Fixes #1.
Chat UI no longer refreshes after Kim answers
After Kim completed a task, the welcome section (browser provider picker, What Kim can do, example prompts, keyboard shortcuts) was re-appearing at the top of the scroll container. This pushed the conversation messages down, creating a visible "scroll reset" that forced the user to scroll back down.
Fix: a hasSentMessageRef now latches to true the moment the user sends their first message and stays true for the entire new-chat session. The welcome section is permanently hidden from that point on.
Cancel widget scoping
The cancel widget (stop button overlay) now only appears when Kim actually takes a screenshot β simple tasks run without it.
Browser provider β no system prompt re-injection
The system prompt was being re-injected into the browser LLM on every task iteration. Fixed to inject once per session.
π¦ Changelog since v0.9.1
fix(headless)β browser window viewport 1Γ1 β 1024Γ768 soisVisible()works offscreenfix(chat)β welcome section permanently hides after first message sentfix(chat)β scroll reset after task completion resolved as side-effect of abovefix(ui)β cancel widget only shown when agent is taking screenshotsfix(browser)β stop re-injecting system prompt on every taskfix(ci)β stable Node 20 + improved npm cache in GitHub Actionsfix(rust)β clippy warnings cleaned up
v0.9.1
Kim v0.9.1
What's new
Window dragging fixed
The app window can now be moved around your screen by dragging the title bar. Previously it was stuck in place.
Cancel Task widget
When Kim starts a task and hides itself, a small floating "Cancel Task" button now appears on screen so you can stop the agent at any time. The main window comes back automatically when the task finishes or is cancelled.
Task failure no longer hides the app
If a task failed to start, the main window would stay hidden with no way to get it back. Fixed.
Under the hood
- Security hardening β shell command injection prevention, path traversal guards on file imports, sensitive directory protection (
.ssh,.aws,.kube, etc.), restricted CORS on the relay server - Claude parallel tool calls β when Claude returns multiple tool actions in one response, all of them now execute instead of only the first
- Smarter Gemini provider β model instance is cached between calls, empty response edge cases handled, errors properly surfaced
- MCP subprocess now inherits the full system environment (previously stripped PATH and other variables, causing tools to fail silently)
- Extension MutationObserver debounced to prevent high-frequency re-triggers during long tasks
- Relay server β WebSocket auth moved to headers,
/statusendpoint requires authentication, database path always absolute - Tray app β config writes are now atomic (no corruption if process dies mid-save)
Full Changelog: v0.9.0...v0.9.1
v0.9.0
v0.9.0 β bridge hardening, kimctl, test suites, Bloop, chat-save fix