# Table of Contents - [Quickstart - Slate](#quickstart-slate) - [Introduction - Slate](#introduction-slate) - [Introduction - Slate](#introduction-slate) - [Configuration - Slate](#configuration-slate) - [Troubleshooting - Slate](#troubleshooting-slate) - [The Basics - Slate](#the-basics-slate) - [Prompting Guide - Slate](#prompting-guide-slate) - [Hotkey Reference - Slate](#hotkey-reference-slate) - [Workspace Setup - Slate](#workspace-setup-slate) --- # Quickstart - Slate [Skip to main content](https://docs.randomlabs.ai/en/getting-started/quickstart#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Getting started Quickstart On this page * [Quickstart Guide](https://docs.randomlabs.ai/en/getting-started/quickstart#quickstart-guide) * [Installation](https://docs.randomlabs.ai/en/getting-started/quickstart#installation) * [Your First Task](https://docs.randomlabs.ai/en/getting-started/quickstart#your-first-task) * [Step 1: Start Slate in Your Project](https://docs.randomlabs.ai/en/getting-started/quickstart#step-1-start-slate-in-your-project) * [Step 2: Try a Simple Task](https://docs.randomlabs.ai/en/getting-started/quickstart#step-2-try-a-simple-task) * [Next Steps](https://docs.randomlabs.ai/en/getting-started/quickstart#next-steps) * [Need Help?](https://docs.randomlabs.ai/en/getting-started/quickstart#need-help) [​](https://docs.randomlabs.ai/en/getting-started/quickstart#quickstart-guide) Quickstart Guide ================================================================================================== Slate may not work on Windows. If you are on Windows, we recommend using WSL (Windows Subsystem for Linux). Significant flashing and flickering has been observed in the TUI when running Slate inside tmux. [​](https://docs.randomlabs.ai/en/getting-started/quickstart#installation) Installation ------------------------------------------------------------------------------------------ Run the following command to install Slate: Copy npm i -g @randomlabs/slate Once installed, run Slate with: Copy slate [​](https://docs.randomlabs.ai/en/getting-started/quickstart#your-first-task) Your First Task ------------------------------------------------------------------------------------------------ Let’s complete a simple task to get familiar with Slate. ### [​](https://docs.randomlabs.ai/en/getting-started/quickstart#step-1-start-slate-in-your-project) Step 1: Start Slate in Your Project Navigate to your project directory and initialize Slate: Copy cd /path/to/your/project slate This starts Slate in the target repo. ### [​](https://docs.randomlabs.ai/en/getting-started/quickstart#step-2-try-a-simple-task) Step 2: Try a Simple Task Ask Slate to help you with a specific task: Copy Please review the architecture of my entire codebase creating an ARCH.md and then give me ways I can improve it. Slate will search through your files and analyze the entire codebase, and then review the results to understand how to improve it. [​](https://docs.randomlabs.ai/en/getting-started/quickstart#next-steps) Next Steps -------------------------------------------------------------------------------------- Now that you’re up and running, explore Slate’s full capabilities: [Using Slate\ -----------\ \ Learn about all of Slate’s features and commands.](https://docs.randomlabs.ai/en/using-slate) [​](https://docs.randomlabs.ai/en/getting-started/quickstart#need-help) Need Help? ------------------------------------------------------------------------------------- If you encounter any issues: 1. Check the [troubleshooting section](https://docs.randomlabs.ai/en/using-slate/troubleshooting) 2. Reach out to our [team](mailto:team@randomlabs.ai) [Introduction](https://docs.randomlabs.ai/en/getting-started/introduction) [The Basics](https://docs.randomlabs.ai/en/using-slate) Ctrl+I --- # Introduction - Slate [Skip to main content](https://docs.randomlabs.ai/#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Getting started Introduction On this page * [What Makes Slate Different?](https://docs.randomlabs.ai/#what-makes-slate-different) * [Get Started](https://docs.randomlabs.ai/#get-started) * [Next Steps](https://docs.randomlabs.ai/#next-steps) Slate is the _first_ frontier agent in the wild to that is built for swarm orchestration. [​](https://docs.randomlabs.ai/#what-makes-slate-different) What Makes Slate Different? ========================================================================================== * Slate can work _with_ you for many hours in the same session. * Slate automatically selects the right model for the job. For example with slate you can plan/talk to claude and search with glm and execute with codex and slate handles it. * Have slate in parallel deeply research your problem * Parallelize working and orchetsration of many tasks at once. Copy "Slate is the best debugging tool I have." - Stealth founder, Fintech, NYC. [​](https://docs.randomlabs.ai/#get-started) Get Started ----------------------------------------------------------- Ready to try Slate? Follow our quickstart guide to install and run your first commands.[Quickstart Guide\ ----------------\ \ Install Slate and complete your first task.](https://docs.randomlabs.ai/en/getting-started/quickstart) [​](https://docs.randomlabs.ai/#next-steps) Next Steps --------------------------------------------------------- [Using Slate\ -----------\ \ Learn about Slate’s capabilities and commands in detail.](https://docs.randomlabs.ai/en/using-slate) [Quickstart](https://docs.randomlabs.ai/en/getting-started/quickstart) Ctrl+I --- # Introduction - Slate [Skip to main content](https://docs.randomlabs.ai/en/getting-started/introduction#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Getting started Introduction On this page * [What Makes Slate Different?](https://docs.randomlabs.ai/en/getting-started/introduction#what-makes-slate-different) * [Get Started](https://docs.randomlabs.ai/en/getting-started/introduction#get-started) * [Next Steps](https://docs.randomlabs.ai/en/getting-started/introduction#next-steps) Slate is the _first_ frontier agent in the wild to that is built for swarm orchestration. [​](https://docs.randomlabs.ai/en/getting-started/introduction#what-makes-slate-different) What Makes Slate Different? ========================================================================================================================= * Slate can work _with_ you for many hours in the same session. * Slate automatically selects the right model for the job. For example with slate you can plan/talk to claude and search with glm and execute with codex and slate handles it. * Have slate in parallel deeply research your problem * Parallelize working and orchetsration of many tasks at once. Copy "Slate is the best debugging tool I have." - Stealth founder, Fintech, NYC. [​](https://docs.randomlabs.ai/en/getting-started/introduction#get-started) Get Started ------------------------------------------------------------------------------------------ Ready to try Slate? Follow our quickstart guide to install and run your first commands.[Quickstart Guide\ ----------------\ \ Install Slate and complete your first task.](https://docs.randomlabs.ai/en/getting-started/quickstart) [​](https://docs.randomlabs.ai/en/getting-started/introduction#next-steps) Next Steps ---------------------------------------------------------------------------------------- [Using Slate\ -----------\ \ Learn about Slate’s capabilities and commands in detail.](https://docs.randomlabs.ai/en/using-slate) [Quickstart](https://docs.randomlabs.ai/en/getting-started/quickstart) Ctrl+I --- # Configuration - Slate [Skip to main content](https://docs.randomlabs.ai/en/using-slate/configuration#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Using Slate Configuration On this page * [File locations](https://docs.randomlabs.ai/en/using-slate/configuration#file-locations) * [Options](https://docs.randomlabs.ai/en/using-slate/configuration#options) * [Environment variables](https://docs.randomlabs.ai/en/using-slate/configuration#environment-variables) * [CLI flags](https://docs.randomlabs.ai/en/using-slate/configuration#cli-flags) We support `--dangerously-set-permissions` (see **Permissions** at bottom of page) Slate can be configured using a `slate.json` (or `slate.jsonc`) file placed in your project root or global config directory. Copy { "$schema": "https://randomlabs.ai/config.json", "permission": { "*": "allow", "bash": "ask" } } [​](https://docs.randomlabs.ai/en/using-slate/configuration#file-locations) File locations --------------------------------------------------------------------------------------------- Configuration files are **merged together**, not replaced. Settings from all sources are combined — later sources override only conflicting keys. 1 [](https://docs.randomlabs.ai/en/using-slate/configuration#) Global config User-wide preferences at `~/.config/slate/slate.json`. Applies to all projects. 2 [](https://docs.randomlabs.ai/en/using-slate/configuration#) Project config `slate.json` in your project root (or any parent up to the git root). Safe to check into git. 3 [](https://docs.randomlabs.ai/en/using-slate/configuration#) Inline override `SLATE_CONFIG_CONTENT` env var as a JSON string. Highest precedence. Project config applies only to that project. Global config applies everywhere. [​](https://docs.randomlabs.ai/en/using-slate/configuration#options) Options ------------------------------------------------------------------------------- General | Field | Type | Description | | --- | --- | --- | | `privacy` | `boolean` | Disables telemetry and logging when `true`. | Permissions Control which actions require your approval before Slate proceeds. Copy { "$schema": "https://randomlabs.ai/config.json", "permission": { "*": "allow", "bash": "ask", "read": { "*.env": "ask", "*": "allow" } } } Each permission key maps to an action (`"allow"`, `"ask"`, or `"deny"`), or a pattern object for fine-grained control. | Permission | Description | | --- | --- | | `*` | Wildcard — sets the default for all tools | | `read` | Reading files | | `edit` | Writing / editing files | | `bash` | Running shell commands | | `grep` | Searching file contents | | `webfetch` | Fetching web pages | | `websearch` | Web searches | Models Set preferred default models for each slot. Copy { "$schema": "https://randomlabs.ai/config.json", "default_agent": "build", "models": { "main": { "default": "claude-sonnet-4-5" }, "subagent": { "default": "claude-haiku-4-5" } } } | Field | Description | | --- | --- | | `default_agent` | Default agent. Must be a primary agent (`"build"` or `"plan"`). | | `models.main` | Main model for complex tasks. | | `models.subagent` | Model for subagent tasks. | | `models.search` | Model for search tasks. | | `models.reasoning` | Model for reasoning tasks. | MCP Servers Connect Model Context Protocol servers for additional tools. Local Server Remote Server Copy { "$schema": "https://randomlabs.ai/config.json", "mcp": { "my-tool": { "type": "local", "command": ["npx", "-y", "@my-org/mcp-server"], "environment": { "API_KEY": "{env:MY_API_KEY}" }, "enabled": true } } } Custom Commands Define custom `/commands` for repetitive tasks. Copy { "$schema": "https://randomlabs.ai/config.json", "command": { "commit": { "description": "Write a commit message for staged changes", "template": "Write a concise git commit message for these changes: $ARGUMENTS", "agent": "build" }, "review": { "description": "Review the code in a file", "template": "Review @$ARGUMENTS for correctness, clarity, and edge cases." } } } Invoke with `/commit` or `/review` in the TUI. `$ARGUMENTS` captures text typed after the command name. * * * [​](https://docs.randomlabs.ai/en/using-slate/configuration#environment-variables) Environment variables ----------------------------------------------------------------------------------------------------------- | Variable | Description | | --- | --- | | `SLATE_API_KEY` | Skip the authentication dialog on launch | | `SLATE_CONFIG` | Path to a custom config file | | `SLATE_CONFIG_DIR` | Path to a custom config directory | | `SLATE_CONFIG_CONTENT` | Inline JSON config (highest precedence) | | `SLATE_PERMISSION` | JSON permission config override | | `SLATE_DISABLE_PROJECT_CONFIG` | Disable project-level `slate.json` discovery | | `SLATE_DANGEROUS_SKIP_PERMISSIONS` | Set to `1` to bypass all permission checks. Set automatically by `--dangerously-set-permissions`. Intended for CI/automation. ⚠️ Skips all safeguards including destructive operations. | * * * [​](https://docs.randomlabs.ai/en/using-slate/configuration#cli-flags) CLI flags ----------------------------------------------------------------------------------- Run `slate --help` to see all available flags. Sessions | Flag | Alias | Description | | --- | --- | --- | | `--continue` | `-c` | Resume the most recent session instead of starting a new one. Useful for picking up where you left off. | | `--resume ` | | Resume a specific session by its session ID. | | `--recent` | `-r` | Open the session picker on launch so you can choose which past session to load. | Sending a prompt | Flag | Alias | Description | | --- | --- | --- | | `` | | Pass a prompt directly as a positional argument. Slate runs the prompt and exits unless `--prompt-interactive` is also set. | | `--question ` | `-q` | Equivalent to passing a positional prompt. | | `--prompt-interactive` | `-i` | When combined with `--question`, sends the prompt but keeps the TUI open for follow-up rather than exiting. | Workspace | Flag | Alias | Description | | --- | --- | --- | | `--workspace ` | `-w` | Add a directory to Slate’s workspace. Can be specified multiple times to add several directories at once. | Headless / scripting Headless mode lets you use Slate non-interactively — pipe in prompts, pipe out structured results — useful for CI or scripting. | Flag | Description | | --- | --- | | `--stream-json` | Run Slate headlessly with JSONL (newline-delimited JSON) output. Compatible with the Anthropic Claude Code SDK. Each agent event is emitted as a JSON object on stdout. | | `--output-format ` | Set the output format. `text` prints plain text, `stream-json` is equivalent to `--stream-json`. | | `--input-format ` | Set how stdin is interpreted. `stream-json` treats stdin as JSONL messages; `text` treats it as a plain text prompt. | Copy # Run a one-shot prompt and get JSONL output slate --stream-json "Summarize the changes in the last commit" # Pipe a prompt in as plain text echo "What does this codebase do?" | slate --stream-json --input-format text Server mode Server mode starts Slate as a standalone HTTP server without the TUI. The TUI (or another client) can then connect to it separately. | Flag | Default | Description | | --- | --- | --- | | `--server` | | Start Slate as an HTTP API server instead of launching the TUI. | | `--port ` | `7777` | Port to listen on in server mode. | | `--host ` | `0.0.0.0` | Host to bind to in server mode. | | `--url ` | | Connect the TUI to an already-running Slate server (e.g. `http://localhost:7777`). Useful for running the server and TUI on separate machines or in a container. | | `--directory ` | local cwd | When using `--url`, sets the working directory on the remote server for the session. | Copy # Terminal 1 — start the server slate --server --port 7777 # Terminal 2 — connect the TUI to it slate --url http://localhost:7777 Permissions | Flag | Default | Description | | --- | --- | --- | | `--dangerously-set-permissions` | `false` | Bypass all permission checks including config plan rules. Sets `SLATE_DANGEROUS_SKIP_PERMISSIONS=1` internally. Intended for CI pipelines and automation where interactive prompts are not possible. ⚠️ Auto-allows all tool calls including destructive shell commands and file writes. | Copy # Run non-interactively with all permissions bypassed slate --dangerously-set-permissions --stream-json "Run the test suite and fix any failures" [Workspace Setup](https://docs.randomlabs.ai/en/using-slate/workspace_setup) [Prompting Guide](https://docs.randomlabs.ai/en/using-slate/prompting_guide) Ctrl+I --- # Troubleshooting - Slate [Skip to main content](https://docs.randomlabs.ai/en/using-slate/troubleshooting#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Using Slate Troubleshooting On this page * [Reporting application bugs](https://docs.randomlabs.ai/en/using-slate/troubleshooting#reporting-application-bugs) * [Reporting issues where the agent is not working](https://docs.randomlabs.ai/en/using-slate/troubleshooting#reporting-issues-where-the-agent-is-not-working) This project is early, but quite a few of the edge cases are solved. The best bet for solving issues while using Slate is by: * submitting a `/bug-report` in the tui * emailing us at `team@randomlabs.ai` * reaching out to us on X: `@0xrandomlabs` [​](https://docs.randomlabs.ai/en/using-slate/troubleshooting#reporting-application-bugs) Reporting application bugs ----------------------------------------------------------------------------------------------------------------------- When you run into an application related bug, you can submit a report with `/bug-report`, or feel free to reach out to us via email. Someone on the team will respond to you shortly. Make sure to include the following information: * Operating system + Version * Platform (arm mac, intel mac, etc) * Slate version (run `/version` in the CLI) * Screenshots of the bug [​](https://docs.randomlabs.ai/en/using-slate/troubleshooting#reporting-issues-where-the-agent-is-not-working) Reporting issues where the agent is not working ----------------------------------------------------------------------------------------------------------------------------------------------------------------- Slate runs on the latest language models. This means sometimes, it won’t be able to do a task. To report these issues, reach out directly at [team@randomlabs.ai](mailto:team@randomlabs.ai) with a description of the task and what went wrong. [Prompting Guide](https://docs.randomlabs.ai/en/using-slate/prompting_guide) [Hotkey Reference](https://docs.randomlabs.ai/en/using-slate/hotkey_reference) Ctrl+I --- # The Basics - Slate [Skip to main content](https://docs.randomlabs.ai/en/using-slate#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Using Slate The Basics On this page * [Frequently Used Features](https://docs.randomlabs.ai/en/using-slate#frequently-used-features) * [Switching Sessions](https://docs.randomlabs.ai/en/using-slate#switching-sessions) * [Cancellation](https://docs.randomlabs.ai/en/using-slate#cancellation) * [Multi-line Messages](https://docs.randomlabs.ai/en/using-slate#multi-line-messages) * [Shell Command Input](https://docs.randomlabs.ai/en/using-slate#shell-command-input) * [Context Management](https://docs.randomlabs.ai/en/using-slate#context-management) * [Long Prompts](https://docs.randomlabs.ai/en/using-slate#long-prompts) Understanding how Slate works will help you use it more effectively. To get the most out of Slate, you’ll need to set up your environment and know how to prompt it well: \-> [Workspace Setup](https://docs.randomlabs.ai/en/using-slate/workspace_setup) \-> [Prompting Guide](https://docs.randomlabs.ai/en/using-slate/prompting_guide) [​](https://docs.randomlabs.ai/en/using-slate#frequently-used-features) Frequently Used Features --------------------------------------------------------------------------------------------------- ### [​](https://docs.randomlabs.ai/en/using-slate#switching-sessions) Switching Sessions Use `/sessions` to switch between existing sessions: Session Selection Process ------------------------- 1. Type `/sessions` and press **Enter** 2. Use **↑/↓** arrows to navigate available sessions ### [​](https://docs.randomlabs.ai/en/using-slate#cancellation) Cancellation Esc --- **Cancels** the current _agent_ step, current input or closes dialogs. Ctrl+C ------ **Hard interrupt** - Stops the cli. ### [​](https://docs.randomlabs.ai/en/using-slate#multi-line-messages) Multi-line Messages Use **Ctrl+Enter** or **Option/Alt+Enter** to insert newlines: Copy > Please help me with: 1. Parsing this JSON file [Ctrl+Enter] 2. Validating the schema [Ctrl+Enter] 3. Handling errors properly [Enter to send] Use **Ctrl+A** or **Ctrl+E** to jump to the beginning or end of the input context. ### [​](https://docs.randomlabs.ai/en/using-slate#shell-command-input) Shell Command Input Execute shell commands directly with `!`: Quick Commands Development Copy !ls # List files !pwd # Show directory !git status # Check git status This will send the command output to Slate directly. ### [​](https://docs.randomlabs.ai/en/using-slate#context-management) Context Management Adding Context Use `@filename` references: Copy > Please review @src/main.ts and suggest improvements Workspace Directories Add directories to expand agent’s context: Copy /workspace add ./src /workspace add ./tests /workspace list Clearing Context Start fresh when switching tasks: Copy /workspace clear # Clear workspace directories ### [​](https://docs.randomlabs.ai/en/using-slate#long-prompts) Long Prompts Press **Ctrl+X** to open your external editor for composing complex prompts: 1 [](https://docs.randomlabs.ai/en/using-slate#) Press Ctrl+X Opens your system’s default editor 2 [](https://docs.randomlabs.ai/en/using-slate#) Write your prompt Compose your detailed message in the editor 3 [](https://docs.randomlabs.ai/en/using-slate#) Save and close The content automatically returns to Slate This will not work if your permissions do not allow access to `tmp` or `var` as this command uses a temp file for your default text editor [Hotkey reference\ ----------------\ \ Explore Slate’s complete set of commands.](https://docs.randomlabs.ai/en/using-slate/hotkey_reference) [Quickstart](https://docs.randomlabs.ai/en/getting-started/quickstart) [Workspace Setup](https://docs.randomlabs.ai/en/using-slate/workspace_setup) Ctrl+I --- # Prompting Guide - Slate [Skip to main content](https://docs.randomlabs.ai/en/using-slate/prompting_guide#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Using Slate Prompting Guide On this page * [Let Slate manage its context](https://docs.randomlabs.ai/en/using-slate/prompting_guide#let-slate-manage-its-context) * [Clarity](https://docs.randomlabs.ai/en/using-slate/prompting_guide#clarity) * [Use agent rules only when necessary](https://docs.randomlabs.ai/en/using-slate/prompting_guide#use-agent-rules-only-when-necessary) * [Handling long tasks](https://docs.randomlabs.ai/en/using-slate/prompting_guide#handling-long-tasks) * [Debugging systems with Slate and background jobs](https://docs.randomlabs.ai/en/using-slate/prompting_guide#debugging-systems-with-slate-and-background-jobs) When prompting Slate, you simply have to type into the input box and press **Enter**. The input box supports the following: * `@ mentions` (@path/to/file) * `Copy+paste` * `Esc` to clear * `Ctrl-a` to jump to the beginning * `Ctrl-e` to jump to the end * `option/alt+enter` for new lines What matters more than how you input content into the box is what you input into the box. Slate performs best when treated more autonomously than other agents. There are a few principles that will help when prompting: ### [​](https://docs.randomlabs.ai/en/using-slate/prompting_guide#let-slate-manage-its-context) Let Slate manage its context Often times, other coding agents require lots of agent rules and lots of instructions. Slate functions best when managing the exploration process on its own, and taking higher level direction from the user. This is because Slate is designed to work for longer periods of time and so can manage its own context better. **What should you provide Slate with:** The high level goal of the current session. Guidance on the order of things to do: * `"Hey slate, research this section of my codebase @directory and then we are going to write a plan"` * `"I want you to explore X, update Y to do Z, and then update A following the same pattern"` Guidance on the general shape of the solution: * If there are specific files it should stick to * If there are specific patterns a good solution MUST have * What the solution should look like ex: “should we refactor or should we just add to the codebase” * Any specific gotchas that Slate will run into during execution **Avoid prompts like the following:** `"Make no mistakes"` `"You're a really smart engineer"` `"ALWAYS MAKE SURE TO DO X"` These prompts will _generally_ lead to worse performance out of Slate overall. ### [​](https://docs.randomlabs.ai/en/using-slate/prompting_guide#clarity) Clarity The goal when prompting Slate should be to be as clear and descriptive as possible. Slate is a fairly unopinionated agent and works best when describing the exact process you want it to follow and describing what you want clearly. Rather than saying: “Make a new api middleware to handle X” Say: “I need a new middleware for X and I need it on the following endpoints…” ### [​](https://docs.randomlabs.ai/en/using-slate/prompting_guide#use-agent-rules-only-when-necessary) Use agent rules only when necessary Your agent rules file should ideally be sparse and contain the following information: * High level overview of the codebase * Constraints on developing in the codebase * Useful commands or steps to perform operations in the codebase ### [​](https://docs.randomlabs.ai/en/using-slate/prompting_guide#handling-long-tasks) Handling long tasks One of the key reasons to use Slate is for its ability to keep working through long sessions. The best way to do this is as follows: 1. Ask Slate to research the problem first and make a plan Copy Hey slate, please research my codebase for , and then make a plan for implementing . Make sure you look at @path/to/important/file When planning with Slate, it is important to make sure that Slate clearly understands. Here, we want to make sure has a clear description. Slate will come back to you with a plan for how to tackle the current task. 2. Ask Slate to iterate on the provided plan Once Slate has returned with a plan, Slate can ask for your opinions on the plan. Your response should be as clear and complete as possible: Copy No don't do A, make sure you do it the same way B is done. After this, Slate can continue to iterate. Once you’re done, approve the plan. 3. Executing the plan Slate has a `todo` tool for managing its tasks. Once the plan is confirmed, Slate often creates a task list for it to follow. If you are uncertain about the todos, make sure to ask Slate your questions or tell Slate what your concerns are. This will help Slate update the plan and the todos in real time to make sure it works through the task with you. Slate will then work autonomously until a relevant stopping point is reached, likely the conclusion of the task. For extra long tasks, sometimes Slate may need a reminder about the goal after working on subsections for a long time. ### [​](https://docs.randomlabs.ai/en/using-slate/prompting_guide#debugging-systems-with-slate-and-background-jobs) Debugging systems with Slate and background jobs A second big benefit of using Slate is the ability for Slate to work well with background jobs. The best way to do this is through the following: 1. Understand which pieces of the system need debugging 2. Set up the env so that Slate can work well in it (see [Workspace setup](https://docs.randomlabs.ai/en/using-slate/workspace_setup) ) 3. Prompt Slate to work through the process For best results, the following information should be present: * Which systems need debugging * Relevant stack traces * Context on where and how the bug occurs * Any relevant library information * Any opinions on the solution [Configuration](https://docs.randomlabs.ai/en/using-slate/configuration) [Troubleshooting](https://docs.randomlabs.ai/en/using-slate/troubleshooting) Ctrl+I --- # Hotkey Reference - Slate [Skip to main content](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Using Slate Hotkey Reference On this page * [Quick Reference](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#quick-reference) * [Slash Commands](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#slash-commands) * [Core Commands](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#core-commands) * [Workspace Management](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#workspace-management) * [Theme Commands](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#theme-commands) * [System Commands](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#system-commands) * [Shell Mode](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#shell-mode) * [Shell Mode Features](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#shell-mode-features) * [Common Shell Operations](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#common-shell-operations) * [Special Key Combinations](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#special-key-combinations) * [Tips & Tricks](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#tips-%26-tricks) * [Exit Codes](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#exit-codes) This reference covers all available commands and hotkeys in Slate CLI, with interaction commands prioritized for quick access. [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#quick-reference) Quick Reference -------------------------------------------------------------------------------------------------- * Essential Shortcuts * All Shortcuts Agent Interaction 1 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) Ctrl+X **Open external editor** - Compose long prompts in your preferred editor 2 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) Ctrl+M **Open model picker** - Switch between available models 3 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) Ctrl+O **Toggle subagent overlay** - View active subagent sessions 4 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) Ctrl+B **Navigate to parent session** - Return to the parent session from a subagent session 5 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) Ctrl+Z **Undo last clear** - Restore the last cleared input 6 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) Ctrl+C **Cancel/Exit** - Cancel current operation or exit the application Shell Mode 1 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) ! **Enter shell mode** - Type `!` to enter bash command mode 2 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) ↑/↓ arrows **Navigate history** - Browse through previous commands 3 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) Tab **Autocomplete** - Complete commands and file paths Text Editing Movement Deletion Special Copy Ctrl+A Move to beginning of line Ctrl+E Move to end of line Ctrl+B / ← Move left one character Ctrl+F / → Move right one character Alt+B Move back one word Alt+F Move forward one word ↑ Move up one line ↓ Move down one line Home Move to beginning of line End Move to end of line Navigation & UI Dialog Navigation Input Navigation Session Management Copy ↑/↓ Navigate options in dialogs Enter Select current option Escape Cancel/close dialog Ctrl+C Cancel/close dialog [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#slash-commands) Slash Commands ------------------------------------------------------------------------------------------------ All commands start with `/` and support autocomplete with Tab ### [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#core-commands) Core Commands ### [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#workspace-management) Workspace Management /workspace - Manage workspace directories Copy /workspace add # Add a directory to workspace /workspace remove # Remove a directory from workspace /workspace list # List all workspace directories /workspace clear # Clear all workspace directories /add-dir - Quick workspace addition Copy /add-dir # Shortcut to add a directory ### [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#theme-commands) Theme Commands ### [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#system-commands) System Commands Authentication & Account 1 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) /auth Login to your Slate account 2 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) /logout Logout from your current account Application Management 1 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) /version Check the current version of Slate CLI 2 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) /self-update Update Slate CLI to the latest version 3 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) /hard-reset confirm Delete all storage data (sessions, messages, etc.) — requires typing `confirm` 4 [](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#) /quit Exit the application gracefully [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#shell-mode) Shell Mode ---------------------------------------------------------------------------------------- Type `!` at the beginning of a line to enter shell mode for direct command execution ### [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#shell-mode-features) Shell Mode Features **Command Execution** * Run any shell command directly * Commands execute in the current workspace * Output is captured and displayed * Exit codes are reported **History & Completion** * Full command history with **↑/↓** arrows * **Tab** completion for commands and paths * Persistent history across sessions ### [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#common-shell-operations) Common Shell Operations File Operations Git Operations Development Copy !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 [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#special-key-combinations) Special Key Combinations -------------------------------------------------------------------------------------------------------------------- * Dialog Controls * Paste Mode | Key | Action | | --- | --- | | **Enter** | Confirm/Select | | **Escape** | Cancel/Close | | **Ctrl+C** | Force close/Cancel | | **↑/↓** | Navigate options | | **Tab** | Move to next field | Slate automatically detects when you’re pasting content and handles it appropriately * **Paste detection** is automatic * **Multi-line pastes** are preserved * **File paths** are automatically referenced when dragged and dropped * **Code blocks** maintain formatting [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#tips-&-tricks) Tips & Tricks ---------------------------------------------------------------------------------------------- Efficient Navigation * Press **Tab** after typing `/` to see all available 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 Productivity Shortcuts * **Ctrl+X** opens your system’s default editor for composing complex prompts * **Ctrl+M** opens the model picker to switch models without leaving the chat * Use `/workspace add .` to quickly add the current directory * Chain shell commands with `!command1 && command2` Advanced Usage * Combine `/diff` with shell mode to review changes before committing * Use **Ctrl+O** to inspect subagent sessions while they run * Theme switching persists across sessions [​](https://docs.randomlabs.ai/en/using-slate/hotkey_reference#exit-codes) Exit Codes ---------------------------------------------------------------------------------------- Understanding exit codes helps diagnose issues when commands fail | 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**) | [Troubleshooting](https://docs.randomlabs.ai/en/using-slate/troubleshooting) Ctrl+I --- # Workspace Setup - Slate [Skip to main content](https://docs.randomlabs.ai/en/using-slate/workspace_setup#content-area) [Slate home page![light logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/light.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d1693583091b9fd40e2fb59cff0c7bb2)![dark logo](https://mintcdn.com/randomlabs/YLz7_-SEpNnEwWCl/logo/dark.png?fit=max&auto=format&n=YLz7_-SEpNnEwWCl&q=85&s=d349cc4543c4c5f42f046d30ca685e6f)](https://docs.randomlabs.ai/en/getting-started/introduction) ![US](https://d3gk2c5xim1je2.cloudfront.net/flags/US.svg) English Search... Ctrl K Search... Navigation Using Slate Workspace Setup On this page * [Environment setup](https://docs.randomlabs.ai/en/using-slate/workspace_setup#environment-setup) * [Agent rules](https://docs.randomlabs.ai/en/using-slate/workspace_setup#agent-rules) * [Build/test processes](https://docs.randomlabs.ai/en/using-slate/workspace_setup#build%2Ftest-processes) * [Environment variables](https://docs.randomlabs.ai/en/using-slate/workspace_setup#environment-variables) This section details setting up your workspace and environment so that Slate can function best. Slate can just drop into your existing coding agent workflow, but this page contains guidance on how to get the most out of it. [​](https://docs.randomlabs.ai/en/using-slate/workspace_setup#environment-setup) Environment setup ----------------------------------------------------------------------------------------------------- One of the biggest benefits of using Slate is its ability to use shell tools the same way you do. In order to do this, Slate can access long running shells etc. The best way to get Slate to interact with your environment is through the following: [​](https://docs.randomlabs.ai/en/using-slate/workspace_setup#agent-rules) Agent rules ----------------------------------------------------------------------------------------- Slate by default respects agent rules in the following order: **Project-level** (searched upward from your project directory to the git root — only the first matching filename is loaded): 1. `AGENTS.md` 2. `CLAUDE.md` 3. `CONTEXT.md` (deprecated) **Global fallback** (checked independently — first existing one wins): 1. `~/.config/slate/AGENTS.md` 2. `~/.claude/CLAUDE.md` **Additional instructions** can be added via the `instructions` field in `slate.json`. A good rules file has the following information in it: * A high level overview of the purpose of the codebase * An overview of the current structure of the codebase (not the file system, but rather the architecture). * An overview of any relevant commands, libraries, or gotchas. * Expected patterns to follow for different sections of the codebase Agent rules can be placed in nested directories. For more information visit [https://www.agents.md](https://www.agents.md/) [​](https://docs.randomlabs.ai/en/using-slate/workspace_setup#build/test-processes) Build/test processes ----------------------------------------------------------------------------------------------------------- Slate does much better when there is a clear way to verify the correctness of the work being done. This means writing unit tests and integ tests. **Slate is one of the few agents capable of performing integration tests manually.** What this means is that Slate can do integration testing on your system manually, and can also verify the integ tests themselves. Ask Slate to help set up your testing environment! Make sure to have test cases in mind. Ask Slate to create temporary testing scripts when needed but try to keep the testing process clear and consistent. [​](https://docs.randomlabs.ai/en/using-slate/workspace_setup#environment-variables) Environment variables ------------------------------------------------------------------------------------------------------------- For many projects, you’ll need a variety of env variables. Slate does not have awareness of your env files by default. Slate will need access to environment variables to do certain tasks. The best way to handle this is to define a `.env.slate` file (or any other name you like). You can then take this and add it to your `AGENTS.md` file so that Slate knows that this is the env file it should be using. You can also set `SLATE_API_KEY` as an environment variable to skip the authentication dialog entirely when launching Slate. [The Basics](https://docs.randomlabs.ai/en/using-slate) [Configuration](https://docs.randomlabs.ai/en/using-slate/configuration) Ctrl+I ---