CLI Commands
Top-level dispatch
agen parses os.Args[1] and dispatches to one of the subcommands below. With no subcommand it attaches the TUI (and fork-execs a daemon if none is running); with a non-TTY stdin it serves MCP JSON-RPC over standard I/O instead.
agen # Attach TUI; spawn daemon if not running
agen stop # Stop the running daemon
agen update # Download the latest release and rebuild
agen --daemon # Start the daemon directly
That is the whole surface. Anything else prints the usage block and exits 1. The one-shot agen cli <input> / agen run <input> forms were removed — a single request now goes through the TUI, the local HTTP API (POST /v1/send), or a chat channel.
The short-lived agen startup <enable|disable> subcommand was removed; toggle launch-on-login with Startup on login in the TUI /config.
Model, session, and MCP management live in the TUI (/model, /sessions, /new, /bot, /mcp), the web dashboard at http://127.0.0.1:17989, and the local HTTP API — there are no agen model / agen session / agen mcp subcommands.
agen stop
SIGTERM the running daemon, then clear its runtime record. Prints No daemon running. and exits 0 when nothing is alive; a stale PID record is cleared instead of killed.
agen update
Always-overwrite update to the latest release. Downloads https://agenvoy.com/scripts/update.sh into /tmp/agenvoy-update-*.sh, executes it with bash, and removes the temp file on completion (SIGINT / SIGTERM also clean up). The running daemon keeps the old binary inode — run agen stop and re-attach to pick up the new build.
make shortcuts
make build # Compile and install to /usr/local/bin/agen (needs sudo)
make app # stop + build + attach TUI
make dev # Same as app, but serves page/ from disk (AGENVOY_PAGE_DIR)
make stop # Stop the running daemon
make update # = agen update
make test # Run all unit tests
make build stamps the current exact-match git tag into internal/runtime.CurrentVersion ((dev) when HEAD carries no tag); GET /v1/info/version reads it back.
make build also refreshes the bundled skills and tools: extensions/skills/ → ~/.config/agenvoy/skills/.system/ and extensions/scripts/ → ~/.config/agenvoy/tools/.system/.
Input prefixes
One prefix is recognized, in exec.Prepare():
| Prefix | Effect |
|---|---|
/<skill-name> |
Activate a matching skill; the remaining text becomes its binding context |
/commit-generate
The :self-id and model:<hint> prefixes were removed; switch sessions with /sessions and choose models with /model or the session_id / model fields on POST /v1/send. External-CLI prefixes (/claude, /codex, /gemini, /gh) were removed along with the external agent invocation tools.
Modes
Press Shift+Tab in the TUI to toggle auto mode ([safe] ↔ [auto]), Shift+F for fast mode. Auto mode is session-local and resets on TUI restart. POST /v1/send has no allow_all field; auto mode is a TUI toggle only. See the TUI Guide for the full shortcut and slash-command list.
Configuration
Runtime limits live in ~/.config/agenvoy/config.json under limits; there are no environment-variable overrides. See the Configuration page.