The launcher
Script commands
Your own scripts run by name: write a script once, then say or type its title. Raycast Script Commands work as they are.
FreeMacWindows
Choose an example to copy it, then try it in Jevie.
Use itHow it worksLimitsWhere it's kept
Use it
create script command clear caches
A new script with its header written, in~/.jevie/script-commands, ready to editclear caches
Runs the script whose title is Clear Cachesgreet Ada Lovelace
A script with an argument gets the words after its titlescript commands
my scripts
Every script Jevie found, each one runnable from the listadd script folder ~/raycast-scripts
A folder you already keep, used where it isimport from raycast
The script folders you set up in Raycast, along with your snippets and quicklinkswatch the price check script every hour
A saved browser script run by Jevie Cloud while your Mac sleeps (see Cloud watches)
How it works
A script command is any script file with a short header of comments. The title is the only required line:
#!/bin/bash
# @raycast.schemaVersion 1
# @raycast.title Clear Caches
# @raycast.mode fullOutput
# @raycast.needsConfirmation true
# @raycast.argument1 { "type": "text", "placeholder": "folder", "optional": true }
echo "→ npm"; rm -rf ~/.npm/_cacache
echo "Done"
Jevie reads the headers in ~/.jevie/script-commands and in every folder you added. A file with no @raycast.title is skipped. Say or type the title to run the script. Any words after the title become its arguments, one word each, with the last argument taking the rest. When two titles both match, the longer one wins.
Jevie runs the script in its own folder, with your permissions and your environment. On the Mac, a file that is not executable runs with sh. On Windows, the program comes from the script's #! line or its extension, and bash scripts run with Git for Windows' bash. Comments can start with #, // or --, so the header also works in Python, JavaScript, AppleScript and Lua scripts.
The mode decides what you see:
compact(the default): the last line printed, ready to copysilent: the last line, said and shown brieflyinline: the last line, as in compactfullOutput: everything printed, in a scrolling block
When a run finishes, Run again under the result runs the same sentence again. With @raycast.needsConfirmation true, Jevie first asks Run Clear Caches?
. The script runs only after ↵ or yes
; Leave it
does nothing. A script that exits with an error, or is stopped, is shown as failed, along with whatever it printed before that.
A run may take ten minutes. To give a slow script longer, add # @jevie.timeout <seconds> to its header, up to a day. Raycast ignores this line, so the same file still works there.
Limits
- The output appears when the script ends, not line by line while it runs.
- Raycast's
@raycast.refreshTimeis ignored: an inline command does not update itself, and runs only when you ask for it. - On Windows, a bash script needs Git for Windows' bash; WSL's bash cannot read a Windows path.
- Output over 4 MB is cut off.
- Jevie runs the script exactly as written and does not check what it does. Keep
needsConfirmationon anything that deletes.
Where it's kept
~/.jevie/script-commands (your scripts) and ~/.jevie/script-commands.json (the folders you added).
In Jevie, help script
answers from this page as you type.
Related
Updated 2 November 2026 · Something wrong or missing? Tell us