## 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
/goalextension detected the real user message but only resetturnsUsed = 0— it did NOT setstate.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 resumeto 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_MS300k → 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 guard —
write/edittools 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 genericConnection error: certificate expired, self-signed certificate, hostname mismatch, TLS handshake timeout, etc. SuggestsNODE_EXTRA_CA_CERTSfor corporate proxy users. Claude Code hasSSL_ERROR_CODESset 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 CLIs —
netro-delegate.tswas injecting aDELEGATE_PROMPTinto the system prompt whenever ANY external CLI (claude, codex, gemini) was detected on PATH. This caused the agent to proactively try runningclaude -porcodex execfor “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
delegatetool is no longer registered in the API, and theDELEGATE_PROMPTis not injected. The agent will not attempt to run external CLIs. Only activates when user explicitly setsNETRO_DELEGATE=1env var. The/delegatecommand still works for manual ad-hoc use. - Verified: 97 extensions load with 0 errors. Tool count: 24 (was 25 —
delegateremoved 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 command —
subagent/index.tsfallback was"pi"(old name), changed to"netro". In node/npm mode, subagents would fail to spawn becausepiis not in PATH. This broke multi-agent orchestration (parallel/chain subagent delegation) for all npm installs — equivalent to Claude Code'sAgentToolfailing to spawn sub-agents. - FIXED: gateway headless agent — same
"pi"→"netro"fix innetro-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'sAgentLoop.tsclassifyError()+FINAL_MESSAGESpattern. - 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.tsclassifyError()+FINAL_MESSAGESpattern. 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 summarizeappearing 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 guard —
compact()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 usesmax(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 returnstrueafter threshold compaction so the agent continues with the compacted context (matching Claude Code behavior). - Reference: Claude Code's
autoCompact.tsuseseffectiveContextWindow - 13000buffer 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.ts —
JSON.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.ts —
readStoredCredential()usedreadFileSyncwithout lockfile, causing a race condition with concurrent writes. If another process was writingauth.jsonwhile this read, it could get partial/corrupt JSON and silently lose the API key. Now usesFileAuthStorageBackend.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 socket0o600/dir0o700, 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 functionwhen 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.tsdeclaration files AND files without anetro-/pi-prefix (helper modules). PreviouslyisHelperModule()existed but was never called during discovery — all.tsfiles 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 forpi.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-andas aTest-Pathparameter 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 theTool "send_message" conflicts with netro-tasks.tserror on fresh install. - Includes all v1.0.13 fixes: clear screen on startup,
/update nowdetached 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.tsplural,mailbox-store.ts,netro-telegram.ts,task-store.ts) before copying the new set. ResolvesTool "send_message" conflicts with netro-tasks.tsand 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-remotere-registers core tools only when--sshis 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. AddedUser-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-cliUA → 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) sendsESC+j(\x1bj) for Shift+Enter, which netro previously parsed as Alt+J. Added terminal-specific input normalization:\x1bjis 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\rfor Alt+Enter. - Follow-up message moved from
Alt+EntertoCtrl+Shift+Enterto 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
- fileInfoFromStats —
split("/")returned the full path asnameon 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
ignorelibrary matcher which expects POSIX paths →RangeError: path should be a path.relative()'d stringcrash. 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 theisHelperModulename-prefix heuristic; helper modules (nopi.*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 file —
packages/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 provider —
baseUrl: 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.8header override for OpenAI-compatible providers. - Default model upgrade — radius tier now
deepseek-v4-pro; xai nowgrok-beta.
Stability fixes
- Extension load crash —
isHelperModule()skips non-netro-/pi- prefixed helper modules. - netro-agent-sync stub — created
swarm-memory-store.tsstub.
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 inbox —
send_agent_message/read_agent_inboxtools. /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— validateNETRO_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 —
/loginnow registers thenetroprovider (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, andX-Netro-Clientheaders to bypass Cloudflare bot detection. - API key validation —
/loginvalidates the key against/v1/modelsbefore storing. Periodic re-validation every 30 minutes with auto-logout on revoked keys. - Secure key storage — keys stored hashed in
~/.netro/agent/netro-auth.jsonwith SHA-256 fingerprint.
Tool Conflict Fixes
- Fixed
netro-style.tstool conflicts — no longer re-registersread/bash/edit/writetools (which conflicted with core tools andnetro-bash-spawn-hook). Now usestool_resultevent overlay for Claude Code-style formatting. - Fixed
netro-ssh-remote.tstool conflicts — SSH remote tools now only register when--sshflag is set, preventing conflicts with core tools. - Fixed
netro-bash-spawn-hook.tsconflict — now only activates whenNETRO_BASH_SPAWN_HOOK=1env var is set. - Fixed
todo-store.tsload error — added no-op default export so extension loader doesn't error on this helper module.
New Tools (100% Claude Code Parity)
tasktool — background task lifecycle: create, update, get, list, stop.notebooktool — Jupyter notebook (.ipynb) editing: read, add, edit, delete, insert cells.worktreecommand — git worktree isolation: create, list, enter, exit, remove.sleeptool — abortable delay for polling and rate-limit timing.repltool — persistent REPL sessions (node, python, bun) with state preservation.tool_searchtool — semantic tool discovery by natural language query.send_messagetool — inter-agent messaging with queue-based delivery.ask_usertool — ask user questions with multiple choice or free-text.brieftool — structured task briefs with objective, constraints, success criteria.configtool — configuration management: get, set, list, reset settings.mcp-authcommand — full OAuth flow for remote MCP servers with PKCE and token storage.structured_outputtool — structured JSON output for SDK/RPC mode.remote_triggertool — remote agent trigger management: create, list, run, delete.lsptool + command — Language Server Protocol integration (TypeScript, Python, Go, Rust) with diagnostics, hover, definition, symbols.voicecommand — 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 fix —
maxTokensdefault now proportional tocontextWindow(25%, max 32K) instead of hardcoded 16384. - Compaction settings —
reserveTokensraised to 32K,keepRecentTokensto 32K. - Context budget — now uses actual model
contextWindowinstead 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 resumecommand.
MCP Server
- Env var expansion —
${VAR}and${VAR:-default}in command/args/env. - Cursor pagination —
tools/listhandlesnextCursor. - 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
/swarmmode — 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_memorytool: 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-workeragents — 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|PARTIALbacked 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. NewnormalizeAgentToolslowercases + 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 install —
curlon macOS/Linux,irmon Windows. - Self-contained extras — extensions, agents, skills, and prompts ship with the binary.