v0.8.0 — API-direct, fast-path, budget cap, KISS sweep
What's new
Breaking
- OAuth/Max removed.
ANTHROPIC_API_KEYis now the only supported auth path. The keychain read,CLAUDE_CODE_OAUTH_TOKEN, and the.envwrite-back fallback are all gone. Every agent turn is now real dollars — see new cost controls below.
New
- Fast-path triage layer. Simple chat answers via the raw Anthropic SDK with no agent spawn, no tools, no session state. Returns
[HANDOFF]when tools are needed, falling through to the full agent. Memory-write phrases (remember,save this,log that,keep in mind, …) always bypass. - Default fast-path model:
claude-sonnet-4-6. Haiku flunked the[HANDOFF]contract — leaked preamble, occasionally hallucinated tool calls. Sonnet costs ~3x per triage call but is still ~25–100x cheaper than spawning the full agent. SetGHOSTCLAW_FAST_PATH_MODEL=claude-haiku-4-5to opt back in. - Per-turn usage tracking. Every turn (agent or fast-path) writes a row into a new
usage_eventstable. - Daily budget cap.
GHOSTCLAW_DAILY_BUDGET_USDenv var. When today's spend hits the cap, the orchestrator forces fast-path-only mode until UTC midnight and sends one Telegram alert. Manage from Telegram with/budget,/budget set N,/budget off. /modellists current generation:sonnet → claude-sonnet-4-6,opus → claude-opus-4-7,haiku → claude-haiku-4-5. Default Sonnet.
KISS cleanup
- Container architecture fully removed. Renames sweep:
container/agent-runner/→agent-runner/,container/dashboard.html→public/dashboard.html,src/container-runner.ts→src/agent-spawner.ts. TypesContainerInput/Output→AgentInput/Output.MAX_CONCURRENT_CONTAINERS→MAX_CONCURRENT_AGENTS. - WhatsApp removed. Telegram-only.
- Slash commands extracted to
src/channels/telegram-commands.ts. Hard-reset, status report, PID lock, run-agent wrapper each get their own module. - Dead code removed:
routeOutbound(),CONTAINER_IMAGE/CONTAINER_TIMEOUT, the orphanedx-integrationskill,RALPH-PROGRESS.md,fetch_tweets.{js,mjs}. - Skill drift fixed in
add-discord/add-telegram/add-slacktemplates.
Migrating from v0.7
- Get an API key at console.anthropic.com.
- In
.env, replaceCLAUDE_CODE_OAUTH_TOKEN=...withANTHROPIC_API_KEY=sk-ant-.... - Set
GHOSTCLAW_DAILY_BUDGET_USD=5(or/budget set 5from Telegram) — surprise API bills are no fun. /update(or pull, build, restart manually)./budgetafter a day to sanity-check spend.
TELEGRAM_ONLY=true is now a no-op; can be dropped.
To update: run /update-ghostclaw in your main chat.