Skip to main content

Slash Commands

Slash commands are control surfaces available inside an active EstaCoda session. They inspect state, switch models, manage approvals, and manipulate sessions without leaving the conversation. Some slash commands have equivalent CLI forms; behavior differences are noted where they exist.

Not all slash commands are available in all contexts. Gateway remote sessions and CLI local sessions may expose different subsets. Commands that require a TTY or interactive picker degrade gracefully when run non-interactively.


How to use​

Type a slash command at the session prompt:

/status
/model set openai/gpt-4o
/approvals
/exit

Bare / opens the slash menu.


Session control​

/sessions or /session​

List recent sessions for the active profile.

State touched: None (read-only).

Gateway difference: Gateway /sessions lists recent sessions for the channel user.

/switch <session-id>​

Switch the current runtime to an existing session.

State touched: SQLite session DB (active session pointer).

Failure modes:

  • Rejects if the session does not exist in the active profile.
  • Rejects if switchRuntime is not available in the current context.

/reset or /new​

Start a fresh session and refresh the skill/config snapshot.

State touched: Creates a new session record; old session remains in the DB.

Failure modes: Rejects if refreshRuntime is not available.

/search <query> or /find <query>​

Search session history.

State touched: None (read-only).

/compact [topic]​

Compact the current in-session context through semantic session compression.

State touched: SQLite session DB (compaction event written).

Behavior: Non-rotating in the CLI implementation. It does not create or adopt a compacted child session. Gateway /compact has separate adoption logic and can preserve the parent transcript by switching the channel to a compacted child session.

Failure modes: If compaction fails, the original context is preserved.


Model switching​

/model​

Show the active model and provider without changing saved setup state.

State touched: None (read-only).

/model <provider>/<model> or /model set <provider>/<model>​

Set a session-scoped model override.

State touched: SQLite session DB (session model override).

Behavior:

  • Session-scoped by default. The override persists with the session and is revalidated when a runtime is created.
  • Stale or invalid overrides are ignored non-fatally; the runtime falls back to the configured primary route.
  • Fallback routes and auxiliary routes are preserved by session switching.
  • The picker only presents ready, runnable model choices. Credentialed routes missing required credentials are rejected with terminal setup guidance.

/model --global <provider>/<model> or /model set --global <provider>/<model>​

Persist the selected route as the profile primary model.

State touched:

  • ~/.estacoda/profiles/<id>/config.json
  • SQLite session DB (clears session override)

Behavior: Requires a trusted workspace. Does not collect credentials inline. Rejected if workspace is not trusted.

/model clear​

Clear the session-scoped model override.

State touched: SQLite session DB.

Failure modes: /model --global clear is rejected. Clearing the profile primary route has no product-defined meaning.


Trust and workspace​

/trust​

Trust the current workspace for proactive local work.

State touched: ~/.estacoda/profiles/<id>/trust.json.

/untrust​

Revoke workspace trust.

State touched: ~/.estacoda/profiles/<id>/trust.json.

/workspace.trust.status​

Show whether the current workspace is trusted.

State touched: None (read-only).


Security and approvals​

/approvals​

Show current one-time, session, and persistent approvals.

State touched: None (read-only).

/revoke <approval-id>​

Revoke a persistent approval by ID.

State touched: Runtime approval store.

Failure modes: Rejects if revokeApproval is not available in the current runtime.

/security or /security debug​

Inspect recent security decisions. debug includes detailed audit data.

State touched: None (read-only).

/yolo​

Toggle session YOLO/open approval mode.

State touched: Runtime session state.

Behavior: Auto-approves eligible actions for the current session. Hard safety blocks still apply. Optimism is not a provider strategy.


Information​

/status​

Show runtime, model, context, trust, memory, and skill status.

State touched: None (read-only).

/tools [filter]​

Browse available tools grouped by toolset.

State touched: None (read-only).

/skills [filter]​

Browse commands and available skills.

State touched: None (read-only).

/memory​

Inspect and manage memory curation.

/memory mode [auto|review|manual]
/memory recent [limit]
/memory review [limit]
/memory apply <record-id> [candidate-id|all]
/memory reject <record-id> [candidate-id|all]
/memory undo <record-id>
/memory forget <USER.md|MEMORY.md> <exact text>
/memory populate
/memory edit
/memory clear [USER.md|MEMORY.md|all] --yes

State touched:

  • ~/.estacoda/profiles/<id>/config.json for mode changes
  • USER.md / MEMORY.md for successful populate writes
  • memory-curation.json for curation history

Behavior: Uses the same shared operator path as estacoda memory ... and Telegram /memory .... auto is the default mode. populate runs an explicit curation checkpoint for the active session. review shows pending-review records; apply, reject, undo, and forget mutate learned memory through the shared memory mutation path.

/resume or /continue​

Show the latest interrupted-turn resume note.

State touched: None (read-only).


Cron​

/cron <subcommand>​

Manage scheduled tasks from within a session.

/cron list
/cron add --schedule <schedule> --command "<prompt>"
/cron edit <job-id> [flags]
/cron show <job-id>
/cron history [job-id]
/cron run <job-id>
/cron pause <job-id>
/cron resume <job-id>
/cron remove <job-id>
/cron tick

State touched:

  • ~/.estacoda/profiles/<id>/cron/jobs.json
  • ~/.estacoda/sessions.sqlite

Behavior: Uses the active profile's CronStore. Manual tick runs due jobs immediately in isolated cron runtimes. Cron add/edit supports the same advanced controls as CLI cron, including skills, scripts, no-agent mode, context chaining, model/tool controls, and trusted contained --workdir.

See Scheduled Jobs for details.


Browser​

/browser <subcommand>​

Manage local browser/CDP connection.

/browser status
/browser connect
/browser connect http://127.0.0.1:9222
/browser disconnect

State touched: Runtime browser state.

Behavior: This slash command is the in-session local CDP control surface. It can inspect status, configure a local CDP endpoint, refresh the runtime when available, or disconnect the browser backend for the active profile.

Cloud browser note: Browserbase setup and spend approval are CLI commands, not slash commands: use estacoda browser setup --backend browserbase --cloud-provider browserbase --hybrid-routing, estacoda browser approve-cloud, and estacoda browser revoke-cloud.

Failure modes: Degrades if no browser backend is configured. Browserbase spend approval is not handled through slash commands.


Durable Tasks​

/task <subcommand>​

/task begin [--background] <objective>
/task list [limit]
/task show <task-id>
/task pause <task-id>
/task resume <task-id>
/task cancel <task-id>
/task retry <task-id> [step-id]
/task result <task-id>

State touched: Profile-scoped durable Task records. Result bodies remain in the profile's private result store.

Behavior: /task begin creates and links a conservative Task to the active session. By default the interactive process starts it immediately and the gateway can take over later. --background durably sends it to the gateway from the beginning. Status distinguishes lifecycle state from live foreground/background/waiting ownership and reports bounded continuation readiness without owner identities. In-session reads require a Task/session link; lifecycle mutations require the creator link.


Handoff​

/handoff [surface]​

Generate a handoff code to share this session with a channel surface.

State touched: ~/.estacoda/profiles/<id>/gateway-state/handoff-codes.json.

Behavior: Currently only telegram is supported. Codes expire after 10 minutes.


System​

/reload-mcp​

Reload MCP configuration and refresh MCP tools for this session.

State touched: Runtime tool registry (rebuilt from current config).

Behavior: Requires refreshRuntime. One-shot CLI commands see current MCP config automatically without manual reload.

/doctor​

Run a quick in-session health check.

State touched: None (read-only).

/clear or /cls​

Clear the terminal.

State touched: None.

/exit or /quit​

End the session.

State touched: None (ends the process).


Approval prompt aliases​

When a CLI tool execution reaches an active approval prompt, these answers are accepted:

  • once — grant this exact action one time and retry
  • session — grant matching actions for the current session and retry
  • always — persist a workspace approval for matching actions and retry
  • deny, reject, no, n — deny without retry

Slash-style aliases inside the same prompt:

  • /approve once
  • /approve session
  • /approve always
  • /deny

These normalize into the same choices as the bare answers. Invalid input such as /approve banana follows the existing invalid-answer guidance path.