> ## Documentation Index
> Fetch the complete documentation index at: https://docs.randomlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Hotkey Reference

> Complete reference of all commands and keyboard shortcuts available in Slate CLI

<Info>
  This reference covers all available commands and hotkeys in Slate CLI, with interaction commands prioritized for quick access.
</Info>

## Quick Reference

<Tabs>
  <Tab title="Essential Shortcuts">
    <AccordionGroup>
      <Accordion title="Agent Interaction" defaultOpen>
        <Steps titleSize="p">
          <Step title="Ctrl+X then E">
            **Open external editor** - Compose long prompts in your preferred editor
          </Step>

          <Step title="Ctrl+X then M">
            **Open model picker** - Switch between available models
          </Step>

          <Step title="Ctrl+X then P">
            **Open providers** - Manage provider connections
          </Step>

          <Step title="Ctrl+B">
            **Toggle session sidebar** - Show or hide the session sidebar
          </Step>

          <Step title="Ctrl+R">
            **Rename session** - Rename the current session
          </Step>

          <Step title="Ctrl+T">
            **Cycle model variant** - Switch to the next model variant
          </Step>

          <Step title="Shift+Tab">
            **Toggle permission mode** - Switch the current session permission mode
          </Step>

          <Step title="Enter">
            **Send / Enter action** - Sends your prompt normally; if the agent is already running, it performs the current Enter mode action
          </Step>

          <Step title="Tab">
            **Queue while busy** - Queues the current message under the `Queued` section when the agent is running
          </Step>

          <Step title="/enter-mode-next">
            **Cycle Enter mode** - Cycles `steer`, `queue`, and `interrupt` for Enter while Slate is working
          </Step>

          <Step title="/steer / /queue / /interrupt">
            **Set Enter mode directly** - Sets the active Enter mode without cycling
          </Step>

          <Step title="Ctrl+- / Super+Z">
            **Undo** - Undo the last input edit (on Windows, Ctrl+Z also works as undo)
          </Step>

          <Step title="Ctrl+L">
            **Focus input** - Move focus back to the input box from dialogs or other UI regions
          </Step>

          <Step title="Ctrl+Shift+S">
            **Show shell output** - Expand the shell output panel
          </Step>

          <Step title="Ctrl+Shift+B">
            **Hide shell output** - Collapse the shell output panel
          </Step>

          <Step title="Ctrl+C">
            **Clear input / Exit** - Clears the composer when it has text; exits the application when the composer is empty
          </Step>

          <Step title="Ctrl+D">
            **Exit** - Exits the application when the composer is empty
          </Step>
        </Steps>
      </Accordion>

      <Accordion title="Shell Mode">
        <Steps titleSize="p">
          <Step title="!">
            **Enter shell mode** - Type `!` to enter bash command mode
          </Step>

          <Step title="↑/↓ arrows">
            **Navigate history** - Browse through previous commands
          </Step>

          <Step title="Tab">
            **Autocomplete** - Complete commands and file paths
          </Step>
        </Steps>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="All Shortcuts">
    <AccordionGroup>
      <Accordion title="Text Editing">
        <CodeGroup>
          ```text Movement theme={null}
          Ctrl+A          Move to beginning of line
          Ctrl+E          Move to end of line
          ←               Move left one character
          →               Move right one character
          Alt+B           Move back one word
          Alt+F           Move forward one word
          ↑               Move up one line
          ↓               Move down one line
          Shift+Arrows    Extend selection
          ```

          ```text Deletion theme={null}
          Ctrl+K          Delete to line end
          Ctrl+U          Delete to line start
          Ctrl+W          Delete word backward
          Alt+D           Delete word forward
          Backspace       Delete character before cursor
          Delete          Delete character under cursor
          ```

          ```text Special theme={null}
          Ctrl+L          Focus input box
          Ctrl+P          Open command list / command palette
          Ctrl+V          Paste
          Ctrl+-          Undo
          Ctrl+.          Redo
          Enter           Submit input; while Slate is working it follows the current Enter mode
          Shift+Return    Insert newline
          Tab             Queue current message while the agent is busy
          Escape          Cancel current operation
          Double Escape   Enter chat reverse search mode
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="Navigation & UI">
        <CodeGroup>
          ```text Dialog Navigation theme={null}
          ↑/↓             Navigate options in dialogs
          Enter           Select current option
          Escape          Cancel/close dialog
          Ctrl+C          Cancel/close dialog
          ```

          ```text Input Navigation theme={null}
          Tab             Queue current message while busy; otherwise autocomplete commands and file paths when suggestions are open
          Escape          Cancel/clear input or interrupt agent
          Double Escape   Enter chat reverse search mode
          ```

          ```text Leader Chords theme={null}
          Ctrl+X then N   New session
          Ctrl+X then L   Open session list
          Ctrl+X then T   Open themes
          Ctrl+X then P   Open providers
          Ctrl+X then K   Cycle main model
          Ctrl+X then M   Open model list
          Ctrl+X then Y   Copy message
          Ctrl+X then R   Redo message
          Ctrl+X then E   Open external editor
          Ctrl+X then H   Toggle tips
          Ctrl+X then Q   Edit queued messages in external editor
          ```

          ```text Single Keys theme={null}
          Ctrl+B          Toggle session sidebar
          Ctrl+R          Rename session
          Ctrl+T          Cycle model variant
          Shift+Tab       Toggle permission mode
          Ctrl+Shift+S    Show shell output
          Ctrl+Shift+B    Hide shell output
          ```

          ```text Message Scrolling theme={null}
          PageUp          Scroll messages up
          PageDown        Scroll messages down
          Home            Jump to first message
          End             Jump to last message
          ```

          ```text Session Management theme={null}
          /sessions       Switch between sessions
          /enter-mode-next Cycle Enter between steer, queue, and interrupt while Slate is working
          /steer          Set Enter to steer while Slate is working
          /queue          Set Enter to queue while Slate is working
          /interrupt      Set Enter to interrupt and send next while Slate is working
          Alt+Up          Pop the latest queued message back into the composer
          /exit           Exit application
          Ctrl+C          Graceful shutdown
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Slash Commands

<Info>
  All commands start with `/` and support autocomplete with Tab
</Info>

<Note>
  Slate includes built-in program commands `/goal` and `/deep-research`; this page only notes their availability, not a full per-command reference.
</Note>

### Core Commands

<Cards cols={2}>
  <Card title="/help" icon="question">
    Show the manual page with common commands
  </Card>

  <Card title="/sessions" icon="folder">
    Switch to a different session or view available sessions
  </Card>

  <Card title="/models" icon="robot">
    Open the model picker to change the active model
  </Card>

  <Card title="/providers" icon="plug-circle-check">
    Manage provider connections for provider-backed models
  </Card>

  <Card title="/retry" icon="rotate">
    Retry the last message
  </Card>

  <Card title="/subagents" icon="sitemap">
    View subagent sessions for the current parent session, including details, status, trace, and changed-file summaries
  </Card>

  <Card title="/usage" icon="chart-bar">
    Show credit usage (remaining and used)
  </Card>

  <Card title="/billing" icon="credit-card">
    Switch between personal and organization billing contexts
  </Card>

  <Card title="/docs" icon="book">
    Open Slate documentation in your browser
  </Card>

  <Card title="/new" icon="plus">
    Start a new chat session
  </Card>

  <Card title="/mcps" icon="plug">
    Manage MCP servers and tools
  </Card>

  <Card title="/bug-report" icon="bug">
    Submit a bug report
  </Card>

  <Card title="/exit" icon="door-open">
    Exit the application
  </Card>

  <Card title="/enter-mode-next" icon="layer-group">
    Cycle what Enter does while Slate is working: steer, queue, or interrupt
  </Card>

  <Card title="/steer / /queue / /interrupt" icon="sliders">
    Set what Enter does while Slate is working without cycling
  </Card>

  <Card title="/queue-edit" icon="pen-to-square">
    Edit queued messages in external editor as --- separated markdown blocks
  </Card>
</Cards>

### Agent & Session Controls

<AccordionGroup>
  <Accordion title="/rename - Rename the current session">
    Rename the active session.
  </Accordion>

  <Accordion title="/timestamps - Toggle message timestamps">
    Show or hide message timestamps in the current session.
  </Accordion>

  <Accordion title="/permission-mode - Toggle session permission mode">
    Toggle between default permission prompts and session yolo mode.
  </Accordion>

  <Accordion title="/model-next - Cycle the main model">
    Switch to the next configured main model.
  </Accordion>

  <Accordion title="/effort-next - Cycle thinking level">
    Switch to the next available thinking/effort level for the current model.
  </Accordion>

  <Accordion title="/providers - Manage providers">
    Connect provider accounts, then use `/models`, `/model-next`, or `/effort-next` for provider-backed model workflows.
  </Accordion>

  <Accordion title="/editor - Open external editor">
    Open your configured external editor for composing a prompt.
  </Accordion>

  <Accordion title="/config - Open workspace config">
    Open workspace configuration and permissions.
  </Accordion>
</AccordionGroup>

### Workspace Management

<AccordionGroup>
  <Accordion title="/workspace - Manage workspace directories">
    Open the workspace manager to add, remove, and review workspace directories.
  </Accordion>

  <Accordion title="/add-dir - Quick workspace addition">
    Open workspace management with quick-add flow for directories.
  </Accordion>
</AccordionGroup>

### Theme Commands

<Cards cols={2}>
  <Card title="/theme" icon="palette">
    Open the theme picker and switch themes
  </Card>

  <Card title="/man" icon="wand-magic-sparkles">
    Open the built-in manual page
  </Card>
</Cards>

### System Commands

<AccordionGroup>
  <Accordion title="Authentication & Account">
    <Steps titleSize="p">
      <Step title="/auth">
        Login to your Slate account
      </Step>

      <Step title="/logout">
        Logout from your current account
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Application Management">
    <Steps titleSize="p">
      <Step title="/version">
        Check the current version of Slate CLI
      </Step>

      <Step title="/docs">
        Open Slate documentation in your browser
      </Step>

      <Step title="/config">
        Open workspace configuration and permissions
      </Step>

      <Step title="/man">
        Open the built-in manual page
      </Step>

      <Step title="/usage">
        View credit usage and remaining balance
      </Step>

      <Step title="/billing">
        Switch billing context (personal/organization)
      </Step>

      <Step title="/mcps">
        Manage MCP servers and tools
      </Step>

      <Step title="/workspace">
        Open workspace manager
      </Step>

      <Step title="/add-dir">
        Quick-add a workspace directory
      </Step>

      <Step title="/enter-mode-next">
        Cycle what Enter does while Slate is working
      </Step>

      <Step title="/steer / /queue / /interrupt">
        Set the Enter mode directly
      </Step>

      <Step title="/exit">
        Exit the application gracefully
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

## Shell Mode

<Info>
  Type `!` at the beginning of a line to enter shell mode for direct command execution
</Info>

### Shell Mode Features

<Columns cols={2}>
  <div>
    **Command Execution**

    * Run any shell command directly
    * Commands execute in the current workspace
    * Output is captured and displayed
    * Exit codes are reported
  </div>

  <div>
    **History & Completion**

    * Full command history with **↑/↓** arrows
    * **Tab** completion for commands and paths
    * Persistent history across sessions
  </div>
</Columns>

### Common Shell Operations

<CodeGroup>
  ```bash File Operations theme={null}
  !ls -la              # List files in detail
  !pwd                 # Show current directory
  !cd src              # Change directory
  !cat README.md       # Display file contents
  !mkdir new-folder    # Create directory
  ```

  ```bash Git Operations theme={null}
  !git status          # Check git status
  !git diff            # Show changes
  !git add .           # Stage changes
  !git commit -m "msg" # Commit changes
  !git push            # Push to remote
  ```

  ```bash Development theme={null}
  !npm install         # Install dependencies
  !npm test            # Run tests
  !npm run build       # Build project
  !python script.py    # Run Python script
  !cargo build         # Build Rust project
  ```
</CodeGroup>

## Special Key Combinations

<Tabs>
  <Tab title="Dialog Controls">
    | Key | Action |
    | - | - |
    | **Enter** | Confirm/Select |
    | **Escape** | Cancel/Close |
    | **Ctrl+C** | Force close/Cancel |
    | **↑/↓** | Navigate options |
    | **Tab** | Move to next field |
  </Tab>

  <Tab title="Paste Mode">
    <Note>
      Slate automatically detects when you're pasting content and handles it appropriately
    </Note>

    * **Paste detection** is automatic
    * **Multi-line pastes** are preserved
    * **File paths** are automatically referenced when dragged and dropped
    * **Code blocks** maintain formatting
  </Tab>
</Tabs>

## Tips & Tricks

<AccordionGroup>
  <Accordion icon="book-bookmark" title="Efficient Navigation">
    * Press **Tab** after typing `/` to see commands with autocomplete
    * Use the **up arrow** in shell mode to quickly find previous commands
    * Drag and drop files directly into the prompt for automatic path references
  </Accordion>

  <Accordion icon="head-side-gear" title="Productivity Shortcuts">
    * **Ctrl+X then E** opens your system's default editor for composing complex prompts
    * **Ctrl+X then M** opens the model picker to switch models without leaving the chat
    * Use `/workspace` to manage workspace directories, or `/add-dir` to start the quick-add flow
    * Chain shell commands with `!command1 && command2`
  </Accordion>

  <Accordion icon="code" title="Advanced Usage">
    * Use `/subagents` to inspect subagent sessions while they run or after they complete
    * Theme switching persists across sessions
  </Accordion>
</AccordionGroup>

## Exit Codes

<Note>
  Understanding exit codes helps diagnose issues when commands fail
</Note>

| Code | Description |
| - | - |
| **0** | Success |
| **1** | General error or invalid usage |
| **2** | Misuse of shell command |
| **126** | Command found but not executable |
| **127** | Command not found |
| **128** | Invalid exit argument |
| **130** | User interrupted (**Ctrl+C**) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.