Raycast

Raycast Configuration Reference

Core Features

FeaturePurposeAccess
Script CommandsCustom scripts (Bash, Python, Node.js)Extensions → Script Commands
QuicklinksFast access to URLs, files, foldersCreate Quicklink command
SnippetsText expansion with keywordsCreate Snippet command
ExtensionsReact/TypeScript appsRaycast Store or custom
AI CommandsCustom AI promptsRaycast AI (Pro)

Script Commands

Custom scripts that run from Raycast. Supports Bash, Python, Node.js, Swift, AppleScript.

Setup

  1. Create a scripts folder: mkdir ~/scripts
  2. Raycast → Settings → Extensions → Script Commands → Add Directories
  3. Run “Reload Script Directories” command

Script Template

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title My Command
# @raycast.mode silent

# Optional parameters:
# @raycast.icon 🚀
# @raycast.packageName My Tools
# @raycast.description What this script does
# @raycast.author Your Name

# Optional arguments (max 3):
# @raycast.argument1 { "type": "text", "placeholder": "query" }

echo "Hello $1"

Required Parameters

ParameterDescription
@raycast.schemaVersionAlways 1
@raycast.titleCommand name in Raycast
@raycast.modeOutput mode (see below)

Modes

ModeBehavior
silentRuns silently, no output shown
compactShows toast notification
fullOutputOpens separate view with output
inlineShows output in root search

Optional Parameters

ParameterDescription
@raycast.iconEmoji or image path
@raycast.packageNameGroup name (subtitle)
@raycast.descriptionCommand description
@raycast.refreshTimeAuto-refresh for inline mode (10s, 1m, 1h, 1d)

Arguments

Up to 3 arguments, accessed as $1, $2, $3:

# @raycast.argument1 { "type": "text", "placeholder": "Search term" }
# @raycast.argument2 { "type": "dropdown", "placeholder": "Engine", "data": [{"title": "Google", "value": "google"}, {"title": "DuckDuckGo", "value": "ddg"}] }
TypeDescription
textStandard text input
passwordMasked input for secrets
dropdownSelection from options
OptionDescription
placeholderInput hint text
optionaltrue to make optional
percentEncodedURL-encode the value
dataArray of {title, value} for dropdown

Fast shortcuts to URLs, files, or folders.

Create

  1. Search “Create Quicklink” in Raycast
  2. Enter URL/path with optional {query} placeholder
  3. Assign name, icon, and optional hotkey

Dynamic Placeholders

https://google.com/search?q={query}
https://github.com/search?q={argument name="search"}
PlaceholderDescription
{query}User input
{argument name="x"}Named argument
{clipboard}Current clipboard
{selection}Selected text

Snippets

Text expansion triggered by keywords.

Create

  1. Search “Create Snippet” in Raycast
  2. Enter text content
  3. Set keyword for auto-expansion (e.g., !email)

Placeholders

PlaceholderDescription
{cursor}Cursor position after expansion
{clipboard}Paste clipboard content
{date}Current date
{date +2d}Date + 2 days
{time}Current time

Extensions

Full React/TypeScript applications.

Quick Start

# In Raycast: "Create Extension" command
# Then in terminal:
cd my-extension
npm install && npm run dev

Project Structure

my-extension/
├── package.json          # Manifest with commands, preferences
├── src/
│   └── index.tsx         # Main entry point
└── assets/               # Icons and images

package.json Commands

{
  "name": "my-extension",
  "title": "My Extension",
  "commands": [
    {
      "name": "index",
      "title": "My Command",
      "subtitle": "My Extension",
      "description": "Does something useful",
      "mode": "view"
    }
  ]
}

Keyboard Shortcuts

Global

ShortcutAction
⌥ SpaceOpen Raycast (default)
⌘ ,Open Preferences
⌘ KShow actions for selected item
⌘ ⇧ ,Open extension preferences

In Raycast

ShortcutAction
↑/↓Navigate results
Execute command
⌘ ↵Execute with options
Close/go back
TabAutocomplete

Settings & Data

Export/Import

Includes: extensions, hotkeys, aliases, snippets, quicklinks, preferences

Preferences Location

~/Library/Application Support/com.raycast.macos/

Quick Reference

FeatureLocationFormat
Scripts~/scripts/ (custom).sh, .py, .js, etc.
Extensions~/Library/...React/TypeScript
QuicklinksIn-appURL/path
SnippetsIn-appText + keyword
SettingsRaycast PreferencesGUI
Export.rayconfig fileJSON

dev