Skip to content

Releases: b1rdmania/ghostclaw

v0.7.7 — Orphaned MCP server fix

09 Apr 19:11

Choose a tag to compare

What's new

Fix

  • Orphaned MCP servers eliminated — when a session ended via SIGKILL (idle/absolute timeout or `/reset`), only the top-level agent-runner process was killed. MCP servers spawned inside it by the Claude Agent SDK had no parent and were left running, accumulating over time as stale processes.

    Agent processes now spawn with `detached: true`, creating a dedicated process group. Timeout kills and `/reset` now use `process.kill(-pid, signal)` to tear down the entire group at once — agent-runner and all MCP children together.

To update: run `/update-ghostclaw` in your main chat.

v0.7.6 — SDK auto-update + broken session recovery

06 Apr 15:40

Choose a tag to compare

What's new

New

  • Weekly SDK auto-update — launchd job runs every Monday at 3am, updates @anthropic-ai/claude-agent-sdk to latest, rebuilds the agent-runner, and restarts GhostClaw only if the version changed. Keeps the SDK current so new models are always available. Logs to logs/sdk-update.log.

Fixes

  • Broken session auto-recovery — when a session transcript is missing from disk (e.g. after a data directory wipe or path migration), the SDK returns error_during_execution on resume. The orchestrator now detects this and clears the bad session ID automatically, so the next message starts fresh. Previously required manual DELETE FROM sessions in the DB.
  • SDK updated — bumped @anthropic-ai/claude-agent-sdk from 0.2.34 → 0.2.92.

v0.7.5 — Heartbeat + session validation path fix

04 Apr 19:48

Choose a tag to compare

Fixes

  • Agent-runner heartbeat — writes a keepalive marker to stdout every 2 minutes. The container-runner already resets the idle timer on any stdout data, so this prevents false stall timeouts during Task sub-agent waits (which produce no other stdout). The task_notification SDK event only fires on sub-agent completion, not during execution — meaning the stderr-based idle reset in v0.7.4 was insufficient for long Task waits specifically.

  • Session validation path bug fixed — the leading slash in the CWD was being stripped when constructing the session .jsonl path, causing validation to always miss the file and silently do nothing. Claude Code keeps the leading dash in the project directory name (e.g. -Users-ziggy-nanoclaw-groups-main). Now constructed correctly.

v0.7.4 — Idle timeout architecture fix

04 Apr 19:45

Choose a tag to compare

Fixes

  • Idle timer now tracks agent activity, not user-facing output — the idle timer previously only reset on stdout (user-facing results). All internal activity — tool calls, Task sub-agent progress, SDK messages — logs to stderr and was invisible to the timer. A research task using a Task sub-agent would always hit the idle timeout because the parent session is silent while waiting for the sub-agent result. The stderr handler now also resets the idle timer, so "idle" correctly means "no activity at all" rather than "no output to Birdmania."

  • Session validation before resume — before passing a session ID to the SDK, the agent-runner scans the session .jsonl for unmatched tool_use entries. A broken session (parent timed out mid-Task) caused the SDK to hang silently on resume. Now detected and cleared before the hang, starting fresh instead.

  • Clear session on no-output idle timeout — if the orchestrator receives an idle timeout with no streaming output and no new session ID, it clears the stored session before retrying. Belt-and-suspenders with session validation above.

  • Stderr in timeout logs — timeout log files now include stderr output, making stall diagnosis significantly easier.

  • Model updatedGHOSTCLAW_MODEL bumped from claude-sonnet-4-5-20250929 to claude-sonnet-4-6.

v0.7.3 — Anti-duplicate research

04 Apr 11:19

Choose a tag to compare

What's new

  • Recent files context injection — every agent prompt now includes a listing of files modified in the last 20 minutes. Agents see what was recently created and build on it rather than producing duplicate research docs across sessions.
  • CLAUDE.md dedup instruction — templates now tell agents to search for existing files before creating new ones.

Bug fixes

  • Prevents the duplicate research file problem when conversations span multiple agent sessions (e.g. two research docs on the same topic from the same chat).

v0.7.2 — Unified reset command

04 Apr 09:44

Choose a tag to compare

What's new

  • /reset is now a full reset — kills all agents, clears scheduled tasks, wipes session files, kills orphan processes, and restarts. Previously /reset only cleared the queue and killed the active agent, leaving stale session context behind.
  • /hardreset removed — one command, no confusion. Users see one chat, they need one reset.
  • /model session reset preserved — switching models still does a lightweight session-only reset internally.

Breaking changes

  • /hardreset command no longer exists. Use /reset instead — it now does everything /hardreset used to do.

v0.7.1 — Hard reset, enriched status, Ralph safeguards

04 Apr 09:44

Choose a tag to compare

What's new

  • /hardreset command — nuclear reset that kills all agents, clears scheduled tasks, wipes sessions, kills orphan processes, and restarts.
  • Enriched /status command — now shows version, scheduled tasks count, running processes, memory usage, session size, and categorized error summary for today.
  • Memory reliability improvements — session file cleanup on reset, preventing ghost context from old conversations.
  • Ralph safeguards — better failure handling and complexity-based iteration limits.
  • Fast-path routing — infrastructure for lightweight API calls on simple messages (mothballed pending API key support).
  • PID lock hardening — prevents duplicate process spawning.
  • Session auto-prune — stale sessions cleaned up automatically.

v0.7.0 — Bounded message history

04 Apr 09:44

Choose a tag to compare

What's new

  • Bounded message history queries — prevents memory/token overflow when context grows large. Previously unbounded queries could cause agent crashes and ballooning token usage.
  • Ralph complexity estimation — Ralph now estimates iterations needed based on task complexity before starting.
  • Startup notification — GhostClaw sends version info to main group on boot.
  • Ralph iterations reduced — default dropped from 50 to 10, now configurable.

Bug fixes

  • Fixed unbounded message history queries that caused 79% timeout rate during heavy Ralph usage (March 30 incident).

v0.6.9 — Structured memory + process watchdog

29 Mar 11:38

Choose a tag to compare

New

Structured memory system — replaces the monolith CLAUDE.md with three files:

  • memory/identity.md — who the agent is (read once per session)
  • memory/state.md — active projects, current status (read every message)
  • memory/log.md — append-only decisions and completed work

CLAUDE.md becomes pure instructions — no project data. New installs get this from /setup-ghostclaw. Existing installs can migrate with /migrate-memory (non-destructive, backs up first).

Runaway process watchdog — heartbeat now auto-kills zombie Chrome/agent-browser processes consuming >90% CPU. Also monitors load average and alerts if >4. Run /add-heartbeat to get the updated checks.

Remote debug via Telegram — text your agent "check load", "check memory", "what's eating CPU", or "kill chrome" and it runs the commands and reports back.

Upgrade

Send /update in Telegram, or manually:

cd ghostclaw && git pull origin main && npm install && npm run build

Then restart your service. The memory migration is optional — run /migrate-memory when you're ready.

v0.6.8 — Clean session lifecycle

27 Mar 10:03

Choose a tag to compare

Fixes

  • Sessions now exit cleanly after 2 minutes of inactivity — previously the agent held its session open for 30 minutes after responding, then got killed by the 10-minute idle timeout. This caused error logs on every single response and wasted resources. Now the host sends a _close signal after 2 minutes of no follow-up messages, and the agent exits gracefully.

  • If a follow-up arrives within 2 minutes, it's handled in the same session with full conversation context. No change to how conversations work — just faster cleanup when you're done.

  • The 10-minute idle timeout in the container-runner remains as a safety net for truly stuck agents, but should no longer fire during normal operation.

Upgrade

Send /update in Telegram, or manually:

cd ghostclaw && git pull origin main && npm install && npm run build

Then restart your service.