Redcast Docs
Launcher
REDCAST HANDBOOK

Commands

Every built-in command, and the shell commands you write yourself.

Read Markdown ↗

Commands are actions you can run by name from the launcher. Some are built in, and you can add your own shell commands.

Built-in commands

Each built-in command belongs to one Settings pane. A feature's commands are in that feature's pane and only appear while the feature is on. The rest are in Settings → Commands.

PaneCommands
AIAI Chat
Quick ActionsFix Grammar · Rewrite · Translate · Summarize
ClipboardClipboard History · Paste Sequentially
Emoji & SymbolsSearch Emoji & Symbols
File SearchSearch Files
NavigationSwitch Windows · Switch Windows Backwards · Search Menu Bar Items
CalendarJoin Next Meeting · My Schedule · Create Event · Copy Meeting Link · Open in Calendar
NotesShow Notes · Create Note · Search Notes
Window ManagementCreate Window Layout · Create Layout from Current Windows · Switch Room · Create Room
QuicklinksCreate Quicklink · Search Quicklinks · Import Quicklinks · Export Quicklinks
SnippetsSearch Snippets · Create Snippet
CommandsCalculator History · Open Camera · Export Backup · Import Backup · Import from Raycast · Check for Updates · Settings · About Redcast · Support Redcast · Quit Redcast

Two more commands only appear for what you type: Open in Browser and Run Shell Command. See Fallbacks.

Each command's row has a launcher checkbox, a shortcut recorder and an alias field.

You can give any built-in command a global shortcut, with three exceptions. Open in Browser and Run Shell Command need text to act on, and Quit Redcast has no shortcut so a stray key press can't quit the app.

A command that opens a screen works as a toggle: press its shortcut again to close the screen.

Enable Commands at the top of Settings → Commands turns off every command in that pane, along with their shortcuts. Clearing one row's checkbox only hides that command from search; its shortcut keeps working.

Custom commands

Give a shell command a name, then run it from search or with its own global shortcut.

Turn custom commands on in Settings → Commands → Custom Commands. They're off by default.

SettingDefault
Enable custom commandsOff
Show in launcherOn

Turning off Show in launcher hides the section, but every shortcut keeps working.

Only the command's name is searchable, not the command itself, so you can't run something by half-remembering its flags.

Each command has an Enabled checkbox on its row. Clearing it keeps the command, its shortcut and its settings, but the command can't run until you select the checkbox again.

To take a command out of the main search but keep its shortcut, select it in the launcher and press ⇧⌘H (Hide from Root Search). Turn Show in root search back on in its editor to bring it back.

The editor

FieldWhat it does
NameWhat you search for
CommandThe shell command, like /usr/bin/pmset displaysleepnow
IconA symbol for its row, dialogs and output window
Show in root searchLists it in the main search. Off, only its shortcut runs it.
ArgumentsValues to ask for first, passed as $1, $2 …
Run InThe folder it starts in. Empty means your home folder.
Load shell environmentLoads your .zshrc, so aliases, functions and PATH work. Slower to start.
Needs confirmationAsks before running. On by default.
Show outputOpens a window with everything the command prints
Show confirmationShows a short message when the command succeeds

How a command runs

Shell/bin/zsh -lc <command>
FolderIts Run In folder, or your home folder
InputNone; anything that reads input gets an end-of-file
EnvironmentInherited, plus TINYCAST=1

Commands run without a Terminal window and without a timeout. Redcast never stops a running command by itself, and a command keeps running if Redcast quits. The only way to stop one is the Stop button in the output window.

If the Run In folder no longer exists, the command doesn't run, and Redcast tells you which folder is missing instead of running it somewhere else.

Arguments

A command with arguments asks for each one in order, in the palette, before it runs. The search field becomes the input, and the screen lists every argument with the answers you've given so far.

  • return moves to the next argument. On the last one, it runs the command.
  • delete in an empty field goes back to the previous argument and restores what you typed.
  • esc clears your answer, and a second press cancels the run.
  • A required argument can't be left empty.

This works whether you run the command from the launcher, a favorite number or a global shortcut.

Values are passed to the shell as $1, $2 …, and are never inserted into the command text. A value like ; rm -rf ~ is only a string your script reads, not a second command. An empty optional argument still keeps its position, so $2 never shifts into $3.

Load shell environment

This setting is off by default, and it's the most common reason a command fails.

zsh only reads ~/.zshrc for interactive shells. The default -lc reads .zprofile and .zlogin, but not .zshrc. As a result, your aliases, functions and PATH changes are missing, and the command exits with code 127.

Turning the setting on uses -ilc, which reads .zshrc. That also runs everything else in your shell startup, like oh-my-zsh's auto-update or a theme's background helpers.

Redcast sets TINYCAST=1, so your .zshrc can skip that work:

[[ -n $TINYCAST ]] && return

With a typical .zshrc, a command starts in about 10 ms with the setting off and about 65 ms with it on.

When a command exits with 127 while this setting is off, the error message says so and offers Open Settings….

You can also avoid relying on the shell configuration by using full paths:

/opt/homebrew/bin/gh pr list --limit 5

Show output

With Show output on, a window opens as soon as the command starts and shows its output as it's printed, in order and in color.

The window shows the command's name and text, the output, the result and how long it took. Copy is always available. Stop ends the command and everything it started; when the command finishes, the button changes to Run Again. Progress bars update in place instead of printing a new line for each update.

The window keeps the last 256 KB of output. If you scroll up, it stops following new output. Scroll back to the bottom and it follows again.

With Load shell environment on, anything your .zshrc prints also appears here. The TINYCAST=1 check above keeps it quiet.

Needs confirmation

This is on by default for every command. The palette closes, and a dialog shows the command's name and full text. return runs it and esc cancels.

The dialog is a plain confirmation rather than a red warning, since you wrote the command yourself. You can't skip it from the palette or a shortcut, and holding down a shortcut never opens more than one dialog.

When it finishes

  • Success, with Show confirmation on: a short message shows the last line of output, or "Ran " if the command printed nothing.
  • Failure: a dialog shows the error output, up to the last 8 KB.
  • With Show output on: the output window shows the result instead, so you're only told once.

Redcast never writes the command text to its logs.

Editing and backups

Editing a command keeps its favorite, visibility and shortcut. Deleting it removes all three.

Custom commands and their shortcuts are included in backups. When you import a backup, Redcast warns you before adding any commands, so a backup can't add shell commands without you knowing.

Importing Raycast script commands

Settings → Commands → Import Raycast Scripts reads a folder of Raycast script commands and adds a custom command for each script. It's a one-time import: afterward they're regular commands you can edit or delete.

A file counts as a script command when it has both a shebang line and an @raycast.title. Other helper scripts in the folder are skipped.

Raycast settingBecomes
@raycast.titleThe name
@raycast.modecompact and fullOutput turn Show output on
@raycast.needsConfirmationNeeds confirmation
@raycast.argument1 to 3Arguments, named after their placeholders
@raycast.currentDirectoryPathRun In; otherwise the script's own folder

Raycast icons aren't imported. Imported commands use the terminal symbol, and you can choose a different one. Redcast warns you before importing and skips any name you already have, so importing the same folder again only adds new scripts.

Redcast is a fork of Tinycast by Abue Ammar. Shared guides are adapted under AGPL-3.0-or-later. Documentation source · App source · Report an issue

On this page