- Dual agent timeout replaces the old single 30-min timer:
- Idle timeout (10 min default,
AGENT_IDLE_TIMEOUTenv var): reset on any stdout activity. An agent that produces no output for 10 minutes is considered stuck and killed. This catches the "hung waiting on API" case that was causing 30-40 min hangs. - Absolute ceiling (45 min default,
AGENT_ABSOLUTE_TIMEOUTenv var): never resets, regardless of any activity. Hard cap for runaway agents producing garbage output.
- Idle timeout (10 min default,
- Both timeouts log their reason (
idlevsabsolute) to make post-mortems easier.
- Infinite retry loop eliminated:
scheduleRetryno longer resetsretryCountafterMAX_RETRIES. Previously, a group that hit max retries would silently reset the counter and retry forever. - Orphaned agent processes from previous runs are now killed on startup. PIDs are tracked in
data/agent-pids.jsonand cleaned up on boot, preventing slot starvation and timeout cascades after a crash or forced restart.
/statuscommand: shows active agents per group, queue depth (pending tasks + messages), and uptime. Available via Telegram./skillscommand: lists all installed skills with descriptions, read live from.claude/skills/. Available via Telegram.- Telegram command menu:
setMyCommands()called at startup so all commands appear with descriptions when the user types/. GroupQueue.getStatus(): exposes live queue state (active count, waiting groups, per-group task/message queues) for external consumers.
/resetnow clears the pending task and message queue, not just kills the current agent. Previously, resetting would immediately drain the next queued item, making it impossible to stop a runaway queue remotely./resetreply updated to confirm both kill and queue clear.
/updatecommand: pulls latest code from git, rebuilds, and restarts via launchd. Allows remote updates over Telegram without SSH access. This is a bootstrapped command — requires one manualgit pull && npm run buildto get it onto a running instance, after which all future updates can be done via Telegram.
First public beta release. GhostClaw is feature-complete and ready for testing.
- Mission Control dashboard with live status, chat management, task scheduling, soul editing, logs, and research tabs
- Research tab with inline file editor (click to view/edit output, download links)
- Ralph autonomous task loop — run multi-step research and task checklists overnight
- Telegram file delivery — research output sent as documents after Ralph completion
- Queue acknowledgment — "Got it, finishing a task first..." when messages arrive during tasks
- Typing indicator stays alive during long agent responses
- Voice transcription via ElevenLabs Scribe (replaced OpenAI Whisper)
- Ghost personality throughout dashboard (loading quips, save feedback, footer rotation)
- Ralph task ID collisions on retry
- Error alert spam from transient WhatsApp disconnections
- Research tab no longer shows unrelated project files (README, CHANGELOG, etc.)
- Removed experimental
add-parallelskill - Consolidated Gmail skills (single
add-gmail-agentskill) - Updated voice transcription skill code package to ElevenLabs
- Updated all docs: README, CLAUDE.md, .env.example, SKILL.md files
- Debug skill rewritten for direct process model (no more Docker references)
- PID file lock prevents duplicate instances (fixes Telegram 409 and WhatsApp conflict errors)
- Mission Control dashboard (built-in web UI)
- Branded README with GhostClaw mark
- Repo transferred to b1rdmania/ghostclaw
GhostClaw identity release. Full independence from NanoClaw naming and architecture.
- Complete rename: all env vars, MCP servers, directories, package names now
ghostclaw/GHOSTCLAW_* - Settings-based MCP server configuration — agents install MCP servers via standard
settings.json, no code changes needed - Agent environment model:
CLAUDE_CONFIG_DIRfor session isolation,HOMEleft untouched so tools find credentials naturally - Reserved MCP server names, shape validation, source-of-truth global sync
- Ralph autonomous task loop — run multi-step tasks overnight from a checklist
- Telegram formatting (bold, italic, code blocks)
- Morning briefing skill
- Cleaned up stale NanoClaw assets, docs, and duplicate files
- Gmail integration via MCP
- Voice transcription (Whisper)
- Heartbeat monitoring
- Skills engine with security scanning
- Initial fork from NanoClaw
- Containers removed — agents run as direct Node.js child processes
- Telegram as primary channel
- WhatsApp group chat support
- Scheduled tasks (cron, interval, one-shot)
- Per-group personality system