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 cli <input...> # One-shot run, requires per-tool confirmation
agen run <input...> # One-shot run, auto-approves tools for that request
agen stop # Stop the running daemon
agen update # Download the latest release and rebuild
agen --daemon # Start the daemon directly
Model, session, and MCP management moved into the TUI (/model, /switch, /new, /bot, /mcp) and the local HTTP API — there are no agen model / agen session / agen mcp subcommands.
agen run
run bypasses per-call confirmation only; the sandbox, denied paths, exclusions, and runtime limits still apply.
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 stop # Stop the running daemon
make update # = agen update
make test # Run all unit tests
make setup # Cross-compile the setup binaries into dist/
make cli <input...> # agen cli <input...>
make run <input...> # agen run <input...>
make build also refreshes the bundled skills and tools: extensions/skills/ → ~/.config/agenvoy/skills/.system/ and extensions/scripts/ → ~/.config/agenvoy/tools/.system/.
Input prefixes
Resolution order inside exec.Run():
| Order | Prefix | Effect |
|---|---|---|
| 1 | :name |
Route this one input to the named session without moving the primary pointer |
| 2 | /<skill-name> |
Activate a matching skill; the remaining text becomes its binding context |
| 3 | model:<hint> |
Bias dispatcher routing toward a model; the hint is folded into the routing input, not the prompt |
They compose left to right:
make cli ":ship-v0.30 /commit-generate"
make cli "model:claude summarize today's commits"
An unknown :name fails fast with session "<name>" not found. 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; it can also be set at launch with agen --allow-all. 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.