## Changelog

Netro CLI — a private, terminal-native AI coding agent. Real-time HUD, self-verifying workflows, an extensible skills system, and a stealth privacy layer. Everything below ships in the current release.

v1.0.23 — 2026-08-06 latest

Fix /goal not pausing when user stops netro
  • FIXED: /goal continued running after user stopped — when user pressed Ctrl+C or sent a new message to stop netro, the /goal extension detected the real user message but only reset turnsUsed = 0 — it did NOT set state.active = false. The goal kept injecting [Continuing toward your standing goal] prompts, forcing the agent to keep working even after the user explicitly stopped. Users saw /goal continuing (6/20) appearing after they had already stopped.
  • Now: any real user message pauses the goal — when the user sends a message that is NOT a continuation prompt, the goal is immediately paused (state.active = false). The user's message runs, but the goal does NOT auto-continue after. User must explicitly run /goal resume to restart the loop.
  • Includes all fixes from v1.0.22: timeout 5→10min, SSL error handling (from Claude Code), duplicate write loop guard with split-chunks message.
  • Includes all fixes from v1.0.21: delegate tool disabled by default (agent no longer tries to run external CLIs).

v1.0.22 — 2026-08-06

Timeout fix + SSL error handling (from Claude Code) + duplicate write loop guard
  • FIXED: Large file write timeout — HTTP idle timeout increased from 5 min → 10 min (DEFAULT_HTTP_IDLE_TIMEOUT_MS 300k → 600k). When writing 700+ line files, the model needed more than 5 minutes to stream the full output. After timeout, the agent would retry the same large write, creating an infinite loop: read file → “Sekarang saya punya cukup pemahaman” → write 700 lines → timeout → repeat.
  • FIXED: Duplicate write loop guardwrite/edit tools now skip after 2 failures (was 3) with a specific message: “Do NOT retry the same content. Instead: write the file in SMALLER chunks (use multiple write/edit calls with ~200 lines each), or split into separate files.” This prevents the agent from wasting 15+ minutes retrying the same large file.
  • NEW: SSL/TLS error classification (adapted from Claude Code's errorUtils.ts) — SSL errors now have specific actionable messages instead of generic Connection error: certificate expired, self-signed certificate, hostname mismatch, TLS handshake timeout, etc. Suggests NODE_EXTRA_CA_CERTS for corporate proxy users. Claude Code has SSL_ERROR_CODES set with 17 codes; netro now matches this.
  • All 3 binaries rebuilt fresh: windows-x64, linux-x64, linux-arm64.

v1.0.21 — 2026-08-06

Disable delegate tool by default — agent stays focused on netro
  • FIXED: agent trying to run external CLIsnetro-delegate.ts was injecting a DELEGATE_PROMPT into the system prompt whenever ANY external CLI (claude, codex, gemini) was detected on PATH. This caused the agent to proactively try running claude -p or codex exec for “cross-model verification” instead of doing the work itself. Users without Claude/Codex accounts saw the agent waste turns trying to delegate to CLIs they don't have.
  • Now: delegate OFF by default — the delegate tool is no longer registered in the API, and the DELEGATE_PROMPT is not injected. The agent will not attempt to run external CLIs. Only activates when user explicitly sets NETRO_DELEGATE=1 env var. The /delegate command still works for manual ad-hoc use.
  • Verified: 97 extensions load with 0 errors. Tool count: 24 (was 25 — delegate removed from API). Agent no longer mentions or attempts to use external CLIs.

v1.0.20 — 2026-08-06

Multi-agent fix + all 3 binaries rebuilt fresh
  • FIXED: subagent fallback commandsubagent/index.ts fallback was "pi" (old name), changed to "netro". In node/npm mode, subagents would fail to spawn because pi is not in PATH. This broke multi-agent orchestration (parallel/chain subagent delegation) for all npm installs — equivalent to Claude Code's AgentTool failing to spawn sub-agents.
  • FIXED: gateway headless agent — same "pi""netro" fix in netro-gateway.ts. Telegram/Discord gateway couldn't spawn headless agents to respond to messages.
  • FIXED: doc paths~/.pi/ references in claude-rules + prompt-customizer changed to ~/.netro/ so users copy extensions to the right directory.
  • All 3 binaries rebuilt fresh — windows-x64, linux-x64, linux-arm64 (via WSL). Linux binaries now include ALL fixes from v1.0.16-v1.0.20 (previously linux was stuck at v1.0.15 — missing security hardening, compaction fixes, error classification, and loader fixes).
  • Multi-agent stack verified — 10 multi-agent extensions load with 0 errors, 0 conflicts: subagent (Claude Code AgentTool equivalent), netro-swarm (agent-swarm pattern), netro-coordinator (Claude Code coordinator), netro-delegate (Claude-Code-Workflow multi-CLI), netro-agent-messaging (AurixAgent observer bus), netro-agent-sync, netro-agent-new (Claude Code agent architect), netro-handoff, netro-task (Claude Code TaskCreate/Update/List), netro-observer-bus (AurixAgent AgentObserverBus pattern).

v1.0.19 — 2026-08-05

Actionable error messages + error classification (adapted from AurixAgent)
  • Error classification system — provider/transport errors now classified into types (rate_limit, auth, context_length, network, server_error, proxy_error, tool_timeout) and mapped to actionable user-facing messages. Instead of generic Connection error, users now see specific fix suggestions. Adapted from AurixAgent's AgentLoop.ts classifyError() + FINAL_MESSAGES pattern.
  • Rate limit: Rate limit exceeded. Try: wait a few minutes, /login with a different key, or /model <id>.
  • Auth: Authentication failed. Fix: run /login to re-enter your API key.
  • Context: Context too long. Fix: run /compact or /model <id> for larger context.
  • Network: Network connection failed. Fix: check your internet and provider URL.
  • Server: Provider server unavailable. Try: wait 30s and retry.
  • Proxy: Proxy returned malformed response. Fix: check proxy URL and model ID.
  • Adapted from AurixAgent's AgentLoop.ts classifyError() + FINAL_MESSAGES pattern. Existing retry system (exponential backoff, similar to Hermes agent's retry loop) preserved — this only improves the final error message shown when retries are exhausted.

v1.0.18 — 2026-08-05

Remove premature compaction trigger + compaction hardening (reference: Claude Code + Hermes)
  • REMOVED: netro-trigger-compact.ts — this extension had a hardcoded 100,000 token threshold that triggered compaction at 100k regardless of context window. On a 1M context model, this caused premature compaction at 10% usage — the root cause of sessions stopping mid-task. Users reported Compact skipped: not enough older messages to summarize appearing at 100k context. Neither Claude Code nor Hermes use a flat token threshold — both scale to the model's context window.
  • REPLACED WITH: netro-context-budget.ts — non-intrusive context usage HUD. Shows a warning at 85% context usage (with 5-min cooldown so it doesn't spam). Does NOT trigger compaction — only adds visibility. The built-in compaction system (fixed in v1.0.17) handles auto-compaction with proper 10% scaling.
  • Empty summary guardcompact() now throws if the LLM returns empty/whitespace summary instead of destroying context. Previously, an API error that returned an empty response would save a blank summary, wiping the conversation history.
  • Circuit breaker — after 3 consecutive compaction failures, stops retrying (matches Claude Code's MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES=3). Prevents hammering the API with doomed compaction attempts when context is irrecoverably over the limit.
  • Verified: 97 extensions load with 0 errors, 0 conflicts (tools, commands, shortcuts, flags).

v1.0.17 — 2026-08-05

Bugfix release — compaction threshold + agent stop fix (reference: Claude Code autoCompact.ts)
  • Premature compaction fix — the compaction threshold used a flat 32,768 token reserve. On a 1M context model, this meant compaction at ~967k — but on cached/old models with contextWindow=128k, it triggered at ~96k, cutting sessions short far too early. Now uses max(reserveTokens, 10% of contextWindow) as the effective reserve, so the threshold scales: 1M context compacts at ~900k, 128k compacts at ~115k.
  • Agent stop after compaction fix — after threshold compaction, the code returned hasQueuedMessages(). If no messages were queued, the agent loop ended, abandoning unfinished work mid-task. Now always returns true after threshold compaction so the agent continues with the compacted context (matching Claude Code behavior).
  • Reference: Claude Code's autoCompact.ts uses effectiveContextWindow - 13000 buffer and always continues the agent loop after compaction.

v1.0.16 — 2026-08-05

Security hardening — 3 vulnerability fixes from deep-dive stress scan (reference: Claude Code BashTool security model)
  • CRITICAL: settings-manager.tsJSON.parse(settings.json) without try/catch. A corrupted settings file (e.g. crash during write) would crash the entire CLI on startup with no recovery path. Now wrapped in try/catch — returns empty settings on parse failure so netro starts cleanly.
  • HIGH: auth-storage.tsreadStoredCredential() used readFileSync without lockfile, causing a race condition with concurrent writes. If another process was writing auth.json while this read, it could get partial/corrupt JSON and silently lose the API key. Now uses FileAuthStorageBackend.withLock() for atomic, race-free reads.
  • MEDIUM: 5 fire-and-forget async calls without .catch() → unhandled promise rejections that could crash the process. Added .catch(() => {}) to: abort(), refresh() ×3, emit() ×2, refreshGitBranchAsync(), computeEditsDiff().
  • Stress scan confirmed SECURE: no eval()/new Function() (RCE), no hardcoded secrets, SQL uses prepared statements, server socket 0o600/dir 0o700, session file atomic write (renameSync), bash/installer spawn arrays (no shell injection), no path traversal, no XSS.

v1.0.15 — 2026-08-04

Bugfix release — extension loader crash fix (helper modules + .d.ts) — matches Claude Code plugin loader resilience
  • Extension loader crash fix — netro crashed with Extension does not export a valid factory function when it encountered helper modules (swarm-memory-store.ts, todo-store.ts, mailbox-store.ts) or type declaration files (.d.ts). Two fixes:
  • isExtensionFile() now skips .d.ts declaration files AND files without a netro-/pi- prefix (helper modules). Previously isHelperModule() existed but was never called during discovery — all .ts files were loaded as extensions.
  • loadExtension() now silently skips any file that lacks a default export, instead of surfacing an error that blocks the entire CLI from starting. The old heuristic (regex for pi.register/pi.on) was unreliable and matched false positives.
  • This means stale helper files left over from old installs no longer crash netro on startup — they are simply skipped.
  • Includes all v1.0.14 fixes (postinstall stale cleanup), v1.0.13 (clear screen, /update now), v1.0.12 (403 UA fix), v1.0.11 (Shift+Enter TEDI).

v1.0.14 — 2026-08-04

Bugfix release — postinstall crash
  • postinstall-extras.ps1 crash fix — the stale-extension cleanup crashed with A parameter cannot be found that matches parameter name 'and' because PowerShell parsed -and as a Test-Path parameter instead of a binary operator. Fixed with parentheses: (Test-Path X) -and (Test-Path Y).
  • The extras step now runs cleanly — pruning stale files (old netro-tasks.ts, mailbox-store.ts, etc.) before copying the new bundle. Resolves the Tool "send_message" conflicts with netro-tasks.ts error on fresh install.
  • Includes all v1.0.13 fixes: clear screen on startup, /update now detached installer, stale extension pruning.

v1.0.13 — 2026-08-04

Clear screen + /update now + stale extension cleanup
  • Clear screen on startup — netro now enters the alternate screen buffer and clears it on start, so the terminal begins on a clean canvas (no leftover output from previous commands). On exit, the primary buffer is restored, preserving your scrollback history.
  • /update now fixed — the installer previously ran inline and would kill the running netro mid-install (the installer stops any running netro before replacing files), causing a self-kill crash and half-replaced binaries. The installer now runs detached in the background; netro exits gracefully after ~2s so files can be replaced cleanly. After it finishes, open a new terminal and run netro.
  • Stale extension cleanup — on fresh install/upgrade, the postinstall step now prunes installed extension files that no longer ship in the bundle (e.g. the old netro-tasks.ts plural, mailbox-store.ts, netro-telegram.ts, task-store.ts) before copying the new set. Resolves Tool "send_message" conflicts with netro-tasks.ts and similar stale-file conflicts on upgrade.
  • Verified conflict-free — deep-dive scan of all 99 repo extensions: 0 inter-extension tool/command conflicts. netro-ssh-remote re-registers core tools only when --ssh is set (by design).

v1.0.12 — 2026-08-04

Bugfix release — 403 gateway block
  • 403 gateway block fix — Cloudflare-fronted OpenAI-compatible gateways (e.g. api.kamiroleplay.com) block the OpenAI SDK default User-Agent (OpenAI/JS 4.x) with 403. Added User-Agent: netro-cli/<version> header override for all OpenAI-compatible requests (openai-completions + openai-responses).
  • Verified: same request with OpenAI UA → 403 blocked; with netro-cli UA → 401 (gateway accepts, auth proceeds).

v1.0.11 — 2026-08-03

Bugfix release — Shift+Enter newline
  • Shift+Enter newline in TEDI terminal — TEDI (Electron-based, TEDI_TERMINAL=1) sends ESC+j (\x1bj) for Shift+Enter, which netro previously parsed as Alt+J. Added terminal-specific input normalization: \x1bj is remapped to the Kitty shift+enter sequence (\x1b[13;2u) which the keybindings already handle.
  • Alt+Enter as newline keybinding — works on MinTTY/Git Bash and most terminals that send \x1b\r for Alt+Enter.
  • Follow-up message moved from Alt+Enter to Ctrl+Shift+Enter to free Alt+Enter for newline.
  • Diagnostic tool — added diagnose-keys.mjs (shows raw byte sequence per keypress; helps debug terminal-specific key issues).

v1.0.10 — 2026-08-03

Bugfix release — Windows path utilities
  • fileInfoFromStatssplit("/") returned the full path as name on Windows (backslash paths). Fixed: split on both / and \.
  • basenameEnvPath (2 files: prompt-templates, skills) — lastIndexOf("/") only → returned full path as basename on Windows. Fixed: handle both separators.
  • dirnameEnvPath — same forward-slash-only bug → returned wrong dirname, causing false "name does not match parent directory" warnings. Fixed.
  • relativeEnvPath — returned Windows paths with backslashes, passed to the ignore library matcher which expects POSIX paths → RangeError: path should be a path.relative()'d string crash. Fixed: normalize \/.
  • Tests — 7 agent harness test failures eliminated (16 → 9, remaining all Windows-env). Cumulative across v1.0.9-v1.0.10: 14 real bugs fixed, ~72 test failures eliminated.

v1.0.9 — 2026-08-03

Bugfix release
  • TUI stale content — ghost text (stale chat lines) no longer left on screen after content shrinks (branch switch, compaction, tool-output collapse). Realign path now triggers a full redraw when previously-visible rows fall past the new content end.
  • Extension discovery over-filter — user extensions with plain filenames (no netro-/pi- prefix) were silently skipped. Removed the isHelperModule name-prefix heuristic; helper modules (no pi.* API usage, no default factory) are now skipped by content inspection instead.
  • Skills/Extensions listing suppressed — the Context/Skills/Prompts/Extensions/Themes startup listing was hidden unless --verbose (regression). Now shows whenever not in quiet startup.
  • Stale regression snapshot — builtin tool surface grew to 12 (plan, subagent, todo, web added in prior releases); updated the no-builtin-tools regression test.
  • Tests — 65 test failures eliminated (112 → 47, all remaining Windows-env/stale-mock).

v1.0.8 — 2026-08-03

Core loop intelligence (new — always-on)
  • Evidence gate — blocks false "done / selesai / beres" claims on mutating work without passing verification. Like Aurix EvidenceGate, embedded in the core loop, always-on (no extension dependency).
  • Empty-response recovery — nudges empty turns so the model continues the task. Like Aurix EmptyResponseRecovery.
  • Verify tracking — tracks edit/write mutations and bash verify commands (test / typecheck / build / lint); a new code edit after a passing test invalidates the result.
  • New filepackages/agent/src/brain.ts (197 LOC), bilingual regex (EN + ID).
First-class tools (7 → 11)
  • subagent — delegate a focused subtask to a sub-agent (like Claude AgentTool).
  • plan — propose a structured plan before executing a multi-step task (like Claude EnterPlanModeTool).
  • todo — task checklist (Claude-style TodoWrite).
  • web — HTTP fetch for documentation, APIs, web research.
  • Previous: read, bash, edit, write, grep, find, ls.
Provider config
  • NetroCLI providerbaseUrl: https://api.kamiroleplay.com/v1, api: openai-completions. Models: kr/claude-sonnet-4.5, kr/claude-haiku-4.5, kr/deepseek-3.2, kr/glm-5, kr/qwen3-coder-next.
  • 403 gateway block fix — added User-Agent: netro-cli/1.0.8 header override for OpenAI-compatible providers.
  • Default model upgrade — radius tier now deepseek-v4-pro; xai now grok-beta.
Stability fixes
  • Extension load crashisHelperModule() skips non-netro-/pi- prefixed helper modules.
  • netro-agent-sync stub — created swarm-memory-store.ts stub.
UI/UX (website)
  • Mobile nav — hamburger menu for <720px.
  • Scroll reveal — sections fade+slide up on entry.
  • Hero terminal — subtle green glow on the top edge.
  • Pricing cards — hover lift + transform; softer featured glow.
  • Typography — body text uses sans font for readability; code stays JetBrains Mono.
Multi-Agent Sync (from earlier v1.0.8)
  • Cross-agent observer bus — in-process pub/sub + durable ~/.netro/agent/sync/activity.jsonl.
  • Automatic context injection — recent sibling activity prepended as <sync_context> block.
  • Durable agent inboxsend_agent_message / read_agent_inbox tools.
  • /sync — status, watch, memory, clear.
Safety: Destructive Command Guard
  • 22-pattern bash safety net — scans for rm -rf, mkfs, dd, DROP DATABASE, git push --force, curl | sh, fork bombs.
  • Fail-safe headless behavior — interactive prompts; headless blocks by default.
Installer hardening
  • install.sh / install.ps1 — validate NETRO_INSTALL_DIR.
  • SHA-256 checksum verification — refuse to install on mismatch.
  • Session atomicity — write-then-rename.

v1.0.7 — 2026-08-01

NetroCLI Provider & Cloudflare Fix
  • Built-in NetroCLI provider/login now registers the netro provider (server2.kamiroleplay.com/v1) with 6 models (Claude Sonnet 4, Claude 3.5, GPT-4o, GPT-4o-mini, DeepSeek Chat, DeepSeek Reasoner).
  • Cloudflare 403 fix — all NetroCLI API requests now include proper User-Agent, Accept, and X-Netro-Client headers to bypass Cloudflare bot detection.
  • API key validation/login validates the key against /v1/models before storing. Periodic re-validation every 30 minutes with auto-logout on revoked keys.
  • Secure key storage — keys stored hashed in ~/.netro/agent/netro-auth.json with SHA-256 fingerprint.
Tool Conflict Fixes
  • Fixed netro-style.ts tool conflicts — no longer re-registers read/bash/edit/write tools (which conflicted with core tools and netro-bash-spawn-hook). Now uses tool_result event overlay for Claude Code-style formatting.
  • Fixed netro-ssh-remote.ts tool conflicts — SSH remote tools now only register when --ssh flag is set, preventing conflicts with core tools.
  • Fixed netro-bash-spawn-hook.ts conflict — now only activates when NETRO_BASH_SPAWN_HOOK=1 env var is set.
  • Fixed todo-store.ts load error — added no-op default export so extension loader doesn't error on this helper module.
New Tools (100% Claude Code Parity)
  • task tool — background task lifecycle: create, update, get, list, stop.
  • notebook tool — Jupyter notebook (.ipynb) editing: read, add, edit, delete, insert cells.
  • worktree command — git worktree isolation: create, list, enter, exit, remove.
  • sleep tool — abortable delay for polling and rate-limit timing.
  • repl tool — persistent REPL sessions (node, python, bun) with state preservation.
  • tool_search tool — semantic tool discovery by natural language query.
  • send_message tool — inter-agent messaging with queue-based delivery.
  • ask_user tool — ask user questions with multiple choice or free-text.
  • brief tool — structured task briefs with objective, constraints, success criteria.
  • config tool — configuration management: get, set, list, reset settings.
  • mcp-auth command — full OAuth flow for remote MCP servers with PKCE and token storage.
  • structured_output tool — structured JSON output for SDK/RPC mode.
  • remote_trigger tool — remote agent trigger management: create, list, run, delete.
  • lsp tool + command — Language Server Protocol integration (TypeScript, Python, Go, Rust) with diagnostics, hover, definition, symbols.
  • voice command — speech-to-text via OpenAI Whisper API, local whisper-cli, or Windows SAPI.
Agent Intelligence
  • Credential pool rotation — multi-key API rotation with auto-rotate on 429/402/401/403. Exponential backoff, provider-specific cooldowns. Wired via before_provider_headers + after_provider_response.
  • Iteration budget — hard cap per turn (parent: 200, subagent: 50) with stop nudge when exhausted.
  • Vector search swarm memory — cosine similarity + reranking (recency × access × source quality × usefulness). Optional OpenAI embedding upgrade.
  • Context window fixmaxTokens default now proportional to contextWindow (25%, max 32K) instead of hardcoded 16384.
  • Compaction settingsreserveTokens raised to 32K, keepRecentTokens to 32K.
  • Context budget — now uses actual model contextWindow instead of hardcoded 200K.
Agent Sync & Coordination
  • All 10 follow-up extensions synced — every extension that injects follow-up messages now has hasPendingMessages() guard to prevent race conditions.
  • Goal loop improvements — judge timeout (30s), completion signal end-of-response check, fingerprint normalization (strips timestamps/line numbers), configurable NETRO_GOAL_MAX_TURNS, explicit /goal resume command.
MCP Server
  • Env var expansion${VAR} and ${VAR:-default} in command/args/env.
  • Cursor paginationtools/list handles nextCursor.
  • Abort signal wiring — pending RPC requests rejected on abort.
  • Description truncation — tool descriptions capped at 2048 chars.
  • Image content support — image results with size info.
  • Protocol version updated to 2025-06-18.

v1.0.4 — 2026-07-31

Agent Swarm
  • /swarm mode — lead orchestrator fans out to dozens of workers in batched parallel waves (~10/wave). Lead is a pure coordinator: decompose → fan out → harvest → synthesize → verify.
  • Shared swarm memory — new swarm_memory tool: workers append learnings to a per-session scratchpad; the lead folds them into the next wave's specs so the swarm compounds instead of repeating work.
  • swarm-lead + swarm-worker agents — lead has no edit/write tools (can't \"cheat\" and code itself); workers report RESULT / FILES / VERIFICATION / LEARNINGS.
  • Adversarial verification agent — read-only specialist that tries to BREAK the implementation, ends with machine-parseable VERDICT: PASS|FAIL|PARTIAL backed by command output evidence.
  • Coordinator verification gate (default-ON) — FAIL verdict blocks \"done\" reports: fix root cause, re-verify, repeat until PASS. Goal loop is verification-aware too: bare \"done\" without test/build evidence = CONTINUE.
Wiring Fixes
  • 56 agents had ZERO tools — they declared legacy capitalized tools (Read/Grep/Glob) that netro's case-sensitive registry never matched. New normalizeAgentTools lowercases + maps aliases (Glob→find, WebSearch→web_search, Task→subagent). All 93 agents now resolve to real tools.
  • Full resource sync — 93 agents, all extensions, 120 prompts, 1100+ skill files, soul, operator verified identical between runtime and bundle. 0 duplicate tool/command/agent/skill names.
Platforms
  • NEW: linux-arm64 — native build for ARM64 servers (Raspberry Pi, AWS Graviton, Oracle Ampere, Termux-ARM).
  • linux-x64 fully rebuilt native — no longer a repackage of an older base; fresh v1.0.4 binary.

Full feature catalog

Everything bundled with Netro CLI today.

Core tools
  • read, write, edit — file operations with read-before-write and stale-write protection.
  • bash — run commands with destructive-command detection and confirmation.
  • grep, glob, ls — fast code and file search.
  • web_fetch, web_search — bring the live web into the session.
  • todo — structured task planning inside a run.
Agents & delegation
  • 50+ specialist agents — including a verifier and a silent-failure hunter, spawned with an explicit delegation contract.
  • Subagent orchestration — single / parallel / chain modes; hand off isolated subtasks and get back only the result.
  • /agent-new — scaffold your own custom agent.
Skills system
  • 110+ built-in skills — deployment, dev stacks (Python, Go, Rust, React, Next.js, TypeScript), DevOps (Docker, Kubernetes, CI/CD, monitoring), and more.
  • Self-growing skills — the agent proposes and saves new skills as it learns (/learn, /curator, /evolve).
  • /skill-install — add skills from a source on demand.
Workflow & sessions
  • Multi-phase workflows — structured, resumable sessions with checkpoints (/checkpoint).
  • Goals — set a standing objective the agent works toward across turns (/goal).
  • Handoff & compaction — summarize and continue long sessions without losing the thread (/handoff, /summarize, /trigger-compact).
  • Scheduled runs — cron-style recurring jobs (/cron).
  • Bookmarks & naming — mark and title important points in a session (/bookmark, /session-name).
Git & safety
  • Auto-commit — optional automatic commits as work progresses (/autocommit).
  • Dirty-repo guard — warns before actions that could clobber uncommitted work.
  • Protected paths — guardrails around sensitive files and directories.
  • Permission gate — explicit approval for high-impact operations.
Productivity
  • Memory — durable facts that persist across sessions (/memory).
  • Model & provider control — switch models/providers and tune thinking effort live (/provider, /effort, /thinking).
  • Health & stats — environment diagnostics and usage stats (/health, /doctor, /stats).
  • Export — save a session to Markdown or HTML (/export-md).
  • Notifications — desktop alerts when long runs finish (/notify).
  • Copy code — one-key copy of the last code block (/copy-code).
  • Hooks — turn any repeatable action into a reusable hook (/hookify).
  • Soul — a configurable agent identity/persona framework (/soul).
Install & distribution
  • Standalone binary — one download, no npm or Node required.
  • One-line installcurl on macOS/Linux, irm on Windows.
  • Self-contained extras — extensions, agents, skills, and prompts ship with the binary.