Skip to content

Releases: AdamMagued/kim

v0.9.2 β€” Headless fix & chat UI polish

Choose a tag to compare

@AdamMagued AdamMagued released this 04 May 12:00

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 so isVisible() works offscreen
  • fix(chat) β€” welcome section permanently hides after first message sent
  • fix(chat) β€” scroll reset after task completion resolved as side-effect of above
  • fix(ui) β€” cancel widget only shown when agent is taking screenshots
  • fix(browser) β€” stop re-injecting system prompt on every task
  • fix(ci) β€” stable Node 20 + improved npm cache in GitHub Actions
  • fix(rust) β€” clippy warnings cleaned up

v0.9.1

Choose a tag to compare

@AdamMagued AdamMagued released this 02 May 00:22

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, /status endpoint 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

Choose a tag to compare

@AdamMagued AdamMagued released this 28 Apr 08:22
v0.9.0 β€” bridge hardening, kimctl, test suites, Bloop, chat-save fix