Skip to Content
ReferenceCommands

Commands

Commands in proto fall into three categories based on their prefix.

Slash commands (/)

Session management

CommandDescription
/initAnalyse current directory and create initial context file
/summaryGenerate project summary from conversation history
/compressReplace chat history with summary to save tokens
/resumeResume a previous conversation session
/restoreRestore files to state before tool execution
/exportExport session to file (html, md, json, jsonl)

Interface

CommandDescription
/clearClear terminal screen (Ctrl+L)
/contextShow context window usage breakdown
/themeChange visual theme
/vimToggle Vim editing mode
/directoryManage multi-directory workspace
/editorSelect preferred editor

Language

CommandDescription
/languageShow current language settings
/language ui [lang]Set UI language (e.g. zh-CN, en-US, de-DE)
/language output <lang>Set LLM output language (e.g. Chinese, English)

Tools & models

CommandDescription
/mcpList configured MCP servers and tools
/toolsList available tools
/skills [name]List or invoke skills
/approval-mode <mode>Change approval mode (plan, default, auto-edit, yolo)
/modelSwitch model
/model --fast <model>Set fast model for background tasks
/extensionsList active extensions
/memoryManage memory
/agents createGuided sub-agent creation wizard
/agents manageView, edit, delete sub-agents
/teamManage agent teams
/arenaStart an Agent Arena session
/lsp statusShow LSP server status

Information & settings

CommandDescription
/help or /?Display help
/aboutDisplay version information
/statsShow session statistics (tokens, costs, cached tokens)
/settingsOpen settings editor
/authChange authentication method
/permissionsManage folder trust
/bug <description>Submit a bug report
/copyCopy last output to clipboard
/quit or /exitExit proto

Auth CLI subcommands (terminal, outside session)

CommandDescription
proto authInteractive auth setup
proto auth statusShow current auth status

@ commands — inject files

FormDescription
@<file>Inject content of a file into the conversation
@<directory>Recursively read all text files in a directory

Escape spaces in paths with backslash: @My\ Documents/file.txt.

! commands — shell execution

FormDescription
!<command>Execute in a subshell
! (standalone)Toggle shell mode — all input goes directly to the shell

Shell commands set PROTO_CODE=1 in the environment.

Custom commands

Save frequently-used prompts as slash commands.

  • Global commands: ~/.proto/commands/<name>.md
  • Project commands: .proto/commands/<name>.md

Project commands take priority over global when names conflict.

Subdirectories create namespaced commands: .proto/commands/git/commit.md/git:commit.

File format

--- description: Optional description shown in /help --- Your prompt content here. Use {{args}} for parameter injection.

Special syntax

SyntaxEffect
{{args}}Inject user-provided arguments
@{file path}Inject file content
!{shell command}Execute and inject output (requires confirmation)
Last updated on