After running npx sentoagent init once, the sento binary is globally installed and in your PATH (you may need to source ~/.bashrc or start a new shell). Everything after setup uses sento <command>.

Setup

npx sentoagent init

One-time. Installs Claude Code, the chosen channel plugin, ClawMem, Guardian, the cron entries, and launches the agent. Asks a few questions interactively.

Process control

sento status           # Is the agent alive? Linked? How many restarts?
sento start            # Start the agent (tmux session + Guardian)
sento stop             # Stop cleanly (SIGTERM, graceful)
sento restart          # stop + start

sento status prints agent health, channel connection state, Guardian restart count for the current window, and the last heartbeat timestamp.

Configuration

sento config           # Change model, OAuth token, channel tokens, keys
sento channels         # Add / remove / list channels on this agent
sento channels add discord
sento channels remove telegram

sento config walks you through the same prompts as init, but only re-asks the keys you want to change.

Observability

sento logs             # Last 100 lines of agent output (tmux capture)
sento logs -n 500      # Last 500 lines
sento logs --watchdog  # Guardian's own log, separate from the agent

Skills

sento skills           # List installed skills
sento skills install <path>
sento skills export <name>
sento skills import <tarball>

Skills are Markdown-based extensions that teach your agent new capabilities. Share them between your agents or publish them as gists.

Maintenance

sento update           # Update CLI + Claude Code + plugins + re-apply patches
sento doctor           # Run 12 health checks
sento doctor --fix     # Run checks and auto-fix what can be fixed

sento doctor checks: Node version, Claude Code installed, OAuth token present, tmux session alive, Guardian process alive, cron entries installed, channel plugin patched, access.json valid JSON, disk space, memory, and more.

Agent-to-agent

sento pair             # Start pairing with another agent (generates code)
sento agents           # List this agent's info and paired agents

Pairing is interactive: one agent runs sento pair, shares the SENTO-XXXX code, the other agent owner types it in, both agents exchange an HMAC secret, and from then on they can message each other over HTTP. See agent-to-agent.

Everything the CLI does, the agent can do

When you install Sentō, the agent's CLAUDE.md includes a "self-administration" section that authorizes it to run any sento command on itself. So instead of SSHing in, you can message the agent:

"restart yourself"

"add telegram as a channel"

"run doctor and tell me what's broken"

It'll do it. This is documented under self-administration.