Script Not Appearing in Raycast
If your script isn’t showing up in Raycast, check these common issues:Filename contains .template.
Filename contains .template.
Problem: Scripts with
.template. in the filename are intentionally ignored by Raycast.Solution:Missing required metadata
Missing required metadata
Problem: Scripts must have all required metadata parameters to be recognized.Required parameters:
schemaVersion(currently only version 1)title(the display name)mode(silent, compact, fullOutput, or inline)
All three parameters must be present for the script to appear in Raycast.
Incorrect comment syntax
Incorrect comment syntax
Problem: Metadata parameters must use the correct comment syntax for your language.Solution:Use Use
# for Bash, Python, and AppleScript:// for Swift and JavaScript:Script directory not added to Raycast
Script directory not added to Raycast
Problem: The directory containing your script hasn’t been added to Raycast.Solution:
Shell Scripts Not Working
Bash scripts can fail for various reasons. Here’s how to debug them:Filename contains .template.
Filename contains .template.
Problem: Same as above - template files are not executed.Solution: Remove
.template. from the filename after configuring the script.Syntax errors
Syntax errors
Problem: The script has syntax errors or unexpected characters.Solution:
Run ShellCheck
Use ShellCheck to identify issues:
All scripts submitted to the community repository must pass ShellCheck validation.
Missing shebang
Missing shebang
Problem: The script doesn’t have a proper shebang line.Solution: Ensure the first line specifies the interpreter:For other languages:
Permission issues
Permission issues
Problem: The script file isn’t executable.Solution: Make the script executable:
Dependency Issues
Command not found errors
Command not found errors
Problem: Your script depends on a tool that isn’t installed.Example error:Solution:
Runtime not installed
Runtime not installed
Problem: Script requires Node.js, Python, or Swift but the runtime isn’t installed.Solution:For Node.js scripts:For Python scripts:For Swift scripts:
Path and Environment Issues
Commands not found in PATH
Commands not found in PATH
Problem: Script can’t find commands that work in your terminal.Explanation: Raycast runs scripts in a non-login shell, which has a minimal PATH.Solution:Raycast automatically includes
/usr/local/bin. For other locations, add them explicitly:Login shell behavior
Login shell behavior
Problem: Script works with
#!/bin/bash -l but you can’t use this in the community repo.Explanation: The community repository doesn’t allow login shells to ensure portability.Solution:Instead of relying on your shell profile, explicitly set what you need:For personal scripts (not in the community repo), you can use
#!/bin/bash -l if needed.Environment variables not available
Environment variables not available
Problem: Environment variables from your shell profile aren’t accessible.Solution:Set required variables at the top of your script:
Raycast has plans to support environment variables natively. Track progress in this issue.
Output and Display Issues
Script output not showing
Script output not showing
Problem: The script runs but you don’t see any output.Cause: Wrong output mode for your use case.Solution:Choose the appropriate mode:
- silent mode: Shows output in HUD after Raycast closes (for quick actions)
- compact mode: Shows last line in toast (for progress updates)
- fullOutput mode: Shows all output (for detailed results)
- inline mode: Shows first line in command list (for dashboard items)
Inline mode script not refreshing
Inline mode script not refreshing
Problem: Script in inline mode doesn’t update automatically.Cause: Missing or invalid Valid formats:
refreshTime parameter.Solution:Add a valid refresh interval:10s(seconds, minimum 10)5m(minutes)2h(hours)1d(days)
Long-running task shows partial output
Long-running task shows partial output
Problem: Tasks like Or switch to
zip or tar show lots of partial progress in compact/silent modes.Solution:Use quiet flags for commands that generate progress output:fullOutput mode:Colors not displaying
Colors not displaying
Problem: ANSI color codes aren’t showing in output.Cause: Colors are only supported in
inline and fullOutput modes.Solution:Use one of these modes and proper ANSI escape codes:See the Output Modes documentation for supported color codes.
Error Handling
Script fails silently
Script fails silently
Problem: Script fails but doesn’t show why.Solution:Implement proper error handling:
Cryptic error messages
Cryptic error messages
Problem: Error messages aren’t helpful.Solution:Write clear, actionable error messages:
For
compact and inline modes, only the last line is shown in the error toast.Application Control Issues
AppleScript: App not found
AppleScript: App not found
Problem: AppleScript fails because the target application isn’t installed.Solution:Document the app requirement at the top of your script:And optionally check if the app is running:
Permission denied when controlling apps
Permission denied when controlling apps
Problem: macOS blocks the script from controlling other applications.Solution:
Debugging Tips
Test from Terminal First
Always test your script from the terminal before trying it in Raycast:Add Debug Output
Temporarily add debug statements to understand what’s happening:Output to
stderr (using >&2) won’t be shown in Raycast but will appear in the terminal when testing.Use ShellCheck
For Bash scripts, ShellCheck catches many common issues:Check Raycast Logs
Raycast logs can provide additional information:- Open Console.app
- Filter for “Raycast”
- Look for errors or warnings related to your script
Getting Help
If you’re still stuck:Slack Community
Join the Raycast Slack community to ask questions and get help from other developers.
GitHub Issues
Check existing issues or create a new one for bug reports.
Feedback Command
Use the feedback command within Raycast to report issues directly to the team.
Email Support
Send an email to [email protected] for general questions.
For issues related to Script Commands specifically (not the community repository), please use the channels above rather than GitHub issues.

