Skip to main content
reference

Slash commands reference

Slash commands run synchronously inside ethos chat and do not count as a turn. They start with / as the first character; anything else is sent to the agent.

Source​

The readline mode (ethos chat) handles a subset of commands in apps/ethos/src/commands/chat.ts (handleSlashCommand). The full TUI mode handles the complete set in apps/tui/src/components/App.tsx (handleSlashCommand). Each command below notes which surface implements it.

/help​

Show the slash-command list. Available in both surfaces.

Synopsis: /help

/new​

Start a fresh session. Resets the session cost counter and (in the TUI) clears the visible message history, timeline, and file-activity panes. The session key gets :<timestamp> appended so the same working directory can host multiple parallel histories. /reset is an alias.

Synopsis: /new (alias: /reset)

> /new
[new session started]

/personality​

Show or switch the active personality. /personality prints the current id; /personality list prints built-ins; /personality <id> switches. In the TUI, switching also re-applies the personality's budget cap. The change is session-local — use ethos personality set <id> to persist.

Synopsis: /personality [list | <id>]

> /personality engineer
[personality: engineer]

/model​

In the readline CLI, prints the active model — switching takes effect only on next restart, so edit model: in ~/.ethos/config.yaml or set modelRouting.<personality> to persist. In the TUI, opens the model picker modal.

Synopsis: /model [<name>]

/sessions​

Open the session picker modal. TUI only.

Synopsis: /sessions

/memory​

Print ~/.ethos/MEMORY.md and ~/.ethos/USER.md (markdown mode) or recent chunks (vector mode).

Synopsis: /memory

/learn​

Run one agent turn that distills something into memory, a skill proposal, or both. With no argument it learns from the current conversation; with text it learns from that text. A remember: prefix routes the result to memory only; a skill: prefix routes it to a skill proposal only (parseLearnArgs, packages/core/src/learn.ts). Available in both surfaces, and in channel chats through the gateway.

Memory learning is private. In a group chat or any other shared room the gateway runs no turn and replies with a pointer to a direct message instead (LEARN_SHARED_ROOM_REPLY, extensions/gateway/src/index.ts); see Keep memory out of group chats.

Synopsis: /learn [remember: | skill:] [<text>]

> /learn remember: the deploy is on Fridays

In a shared room:

Memory learning works in a private chat with me — send /learn there.

/usage​

Print token counts and dollar cost for the current session.

Synopsis: /usage

> /usage
Tokens : 4,213 in · 1,180 out
Cost : $0.04826

/budget​

Show running spend against budgetCapUsd. reset clears the counter so the next turn can proceed past the cap.

Also available on channel bots (Telegram, Slack, Discord, WhatsApp, Email), where it reads and resets the chat's current session. In a group chat only the owner set in channel_filter.<platform>.ownerUserId can run /budget reset; a group on a platform with no owner refuses it (Gateway.handleBudgetCommand in extensions/gateway/src/index.ts).

When the cap stops a turn part-way, every surface shows the cap and the reset command in one notice (haltNotice in packages/core/src/agent-loop/budgets.ts).

Synopsis: /budget [reset]

/verbose​

Toggle the per-turn timing summary (LLM time, TTFT, tool wall-clock, tokens, cost). Session-local — set verbose: true in ~/.ethos/config.yaml to make it sticky.

Synopsis: /verbose

/readonly​

Toggle readonly mode. When on, write-side tools (write_file, patch_file, destructive terminal commands) are blocked. TUI only.

Synopsis: /readonly

/details​

Set the visibility for the four TUI detail panes (thinking, tools, subagents, activity). Each pane can be hidden, collapsed, or expanded. With no arguments, prints the current state. TUI only.

Synopsis: /details [hidden | collapsed | expanded] [thinking | tools | subagents | activity]

/skin​

List or pick a skin. Built-in names: default, mono, paper. reset clears the user pin and falls back to the engine default. Set skin: in ~/.ethos/config.yaml to persist a pin across sessions.

Synopsis: /skin [list | reset | <name>]

/tools​

List the tools available to the current personality, grouped by toolset. TUI only.

Synopsis: /tools

/skills​

List installed skills. TUI only.

Synopsis: /skills

/allow​

Approve a pending channel sender by pairing code. Readline CLI and chat channels only (surfaces: ['cli', 'gateway'] in packages/surface-kit/src/slash-commands.ts). The TUI has no pairing command and no pairing-approval modal. (Its tool-approval modal is a different thing: see Set up approval gates.)

Synopsis: /allow <code>

/deny​

Revoke an approved channel sender. Recognised platforms: telegram, discord, slack, whatsapp, email. Readline CLI only.

Synopsis: /deny <platform> <senderId>

/communications​

List approved senders and pending pairing codes. /comms is an alias. Readline CLI only.

Synopsis: /communications (alias: /comms)

/exit​

Quit the CLI. /quit is an alias; Ctrl+D does the same.

Synopsis: /exit (alias: /quit)

See also​