Skip to content

Releases: ThinkOffApp/ide-agent-kit

v0.8.2 — text-area-content wake skip (replaces frontmost over-skip)

03 May 09:36

Choose a tag to compare

@claudemm caught that v0.7.5's frontmost-app skip over-fired and made agents look offline whenever the user had Claude.app focused. Replaced with the precise text-area accessibility check claudemm originally proposed — skip only when prompt input is non-empty (user actively typing). Applied to all three osascript wake scripts.

v0.8.1 — per-agent author attribution

03 May 09:34

Choose a tag to compare

Per-agent API key map for the GroupMind announcer + from_handle override on POST /intent. Confirmation chat posts now show the originating agent (claudemm, CodexMB, etc.) rather than always the daemon owner. Configure via mcp.confirmations.api_keys = { '@handle': 'xfb_...', ... }.

v0.7.5 — skip wake when target app frontmost

03 May 08:53

Choose a tag to compare

@claudemm caught: auto-wake injected keystrokes mid-typing if user was already in the target Claude app, garbling the in-flight prompt. Fix: AppleScript checks if frontmost is the target before sending; skip if yes. The user's eventual submit will surface queued /tmp messages via UserPromptSubmit hook.

v0.7.4 — wake: 250ms delay between text and Enter

03 May 08:13

Choose a tag to compare

@Petrus reported 'tmux check rooms with no Enter' — typed text appears in Claude desktop app's prompt input but Enter doesn't actually submit the turn. Same class of bug @claudemm fixed in Feb 2026 for the CLI tmux Claude TUI: keystroke text and key code 36 (Return) fired back-to-back inside a single AppleScript tell-block sometimes meant the Enter landed before the typed text was processed.

Fix: split into two tell-blocks with a 250ms delay between. Applied across all three osascript wake scripts (claudemb-wake, codex_gui_nudge, gemini_gui_nudge).

v0.8.0 — wake-on-mention auto-path

02 May 21:56

Choose a tag to compare

Per @Petrus's ask: when a new room message contains @<peer> for any handle in mcp.confirmations.peers, the poller automatically fires POST /wake on that peer's daemon URL. Sub-second cross-machine nudge with no manual MCP call needed.

Configure in ide-agent-kit.json:

"mcp": {
  "confirmations": {
    "peers": {
      "@claudemm": "http://192.168.50.105:8788",
      "@CodexMB":  "http://192.168.50.105:8788"
    }
  }
}

And set IAK_SELF_HANDLE=@claudeMB (or your handle) on the poller to skip self-mentions.

Logs to /tmp/iak-wake-on-mention.log.

v0.7.3 — wake fix coverage for tools/codex_gui_nudge.sh

02 May 21:55

Choose a tag to compare

Final straggler from the grep — tools/codex_gui_nudge.sh had the same osascript race bug as the other two wake scripts. Same fix pattern. All three are now consistent.

v0.7.2 — wake fix coverage for tools/gemini_gui_nudge.sh

02 May 21:54

Choose a tag to compare

Patch on v0.7.1. Apply the same process-targeted keystroke fix to tools/gemini_gui_nudge.sh, which @claudemm flagged still had the System Events race bug. Identical pattern: tell process appName / set frontmost / keystroke + try/log fallback. Diagnosis: @claudemm.

v0.7.1 — fix silent osascript wake keystroke race

02 May 21:52

Choose a tag to compare

Patch release.

Bug: claudemb-wake.sh used tell application "System Events" to keystroke which routes to whichever process is frontmost at execution time. If Claude.app didn't fully take focus during the 0.3s activation delay (multi-window, focus contention), keystrokes landed in the user's actual foreground app with NO error logged. @claudemm observed ~10 lost wakes in a 16-min window on the mini.

Fix: bind the keystroke target to the process explicitly via tell process "$APP_NAME" / set frontmost to true / keystroke. Plus a post-keystroke verify check that logs WARN when finalFront != target for any remaining edge cases.

Affected: anyone using the AppleScript wake path (claudemb-wake.sh in the IAK poller). The Stop hook path (claudecode-stop-resume.sh) was unaffected — it uses exit code 2 + stderr, no keystroke.

Diagnosis credit: @claudemm. Fix design: @claudemb.

v0.7.0 — MCP server + confirmations + easy install

02 May 20:29

Choose a tag to compare

First release with the full IAK confirmation pipeline + the matching CodeWatch app integration.

Highlights

MCP server

New iak-mcp-server (stdio) and long-running iak-mcp-daemon (HTTP). Tools:

  • wake_ide, wake_all, wake_remote — nudge agent sessions locally and across machines.
  • request_confirmation — block until the user approves / denies, surfaced via GroupMind chat, the daemon's web UI on port 8788, and CodeWatch on Android.
  • tmux_run, read_session, list_sessions, list_intents, approve_intent, deny_intent.

Confirmation registry

  • HTTP server on port 8788: POST /intent, GET /intents, POST /intent/<id>/decision, POST /wake.
  • Browser UI at / with Approve/Deny buttons (works on Wear OS / phone / Mac).
  • Chat-reply poller catches /approve <id> and /deny <id> from any subscribed room member.
  • GroupMind announcements include metadata.actions + metadata.intent_id so the chat UI renders inline buttons (matching antfarm PR #13).

One-shot macOS installer

curl -fsSL https://raw.githubusercontent.com/ThinkOffApp/ide-agent-kit/main/scripts/install.sh | bash

Idempotent. Installs prereqs via brew, clones, npm install, writes starter config, wires UserPromptSubmit + Stop hooks into ~/.claude/settings.json, starts daemon in tmux, prints LAN URL to paste into CodeWatch.

Auto-wake mechanisms

  • scripts/claudemb-poll.sh — room poller that drops new messages into /tmp/iak-new-messages.txt.
  • scripts/claudemb-wake.sh — osascript injector that types check rooms into the Claude desktop app (focus-preserving).
  • scripts/claudecode-stop-resume.sh — Stop hook that resumes a turn with new messages, no Accessibility permission required.
  • scripts/check-rooms-hook.sh — UserPromptSubmit hook that prepends new room messages to user prompts.

Docs

docs/auto-wake.md — full setup with ASCII diagram and troubleshooting.

Companion repos

  • CodeWatch — phone app, Settings + Setup card + notification action buttons end-to-end.
  • antfarm (GroupMind) PR #13 — inline Approve/Deny buttons on chat messages.

Tests

76 / 76 passing across 13 suites on Node 18, 20, 22.

v0.5.0 - User Intent & Claude-Mem Integration

30 Mar 23:52

Choose a tag to compare

What's New

  • User Intent Kit (UIK) Integration: Full support for intent enrichment vectors on incoming queue events (e.g., urgency_mode) using standard Bearer token authentication via GroupMind.
  • Claude-Mem Context Integration: Full multi-agent memory ingestion into queue events via local search retrieval, cleanly parsing MCP-style array formats directly into session payloads for immediate local context.
  • Stability & Reliability: Fixed background process lifecycles (GUI nudge bindings properly isolated to tmux, preventing host agents from abruptly killing them) and normalized local notification paths.