rahul’s raycast guide

February 10, 2025

it is interesting to me that i haven't written this before since i use raycast and shill it so much but this is an extension of my macos guide specifically for raycast

high level, raycast is a spotlight or alfred ++ and does a lot of basic things really well. i will run these down quickly but the main point of raycast is how custom it can be

basics

  • launch apps - search launch apps fast, has good aliasing to rename apps imagine you want to call notion calendar cron or whatever else

  • calculator - god send, its not just math but also unit conversion, time zone conversion and even date stuff

  • file search - fast first search i have it bound to alias f

  • clipboard history (massive can’t use a computer without this) - have it bound to cmd + shift + c even has images stored in clipboard and can search it is great

these are all inbuilt and amazing features that itself make raycast a must have the clipboard history is a god send

tho a lot of people cover this and really you should just play with this and explore

using extensions and keyboard maxing your computer

this section i will talk about raycast’s extension store and keyboard maxing many if not all actions on your computer

as you can see i have lots of customised things here and its not that i only use the customised this or even that i use all of them but rather it is a good indication of how/where i use raycast will run through a few here and then later can show up truly custom things

going to just highlight my most used aliases and shorcuts as the tools i use

  • bitwarden - my password manager, i love sv to retrieve passwords and gp to generate a password
  • window management - i have rectangle and use that for dragging but love lh rh and mm as shortcuts to move windows around fast
  • spotify - i really like pp as toggle play pause as sometimes native media play pause fucks up when there are many things playing
  • dw - dictionary i use this to basically check spellings tbh
  • kp - is kill port when there is something dumb on a port and want to get rid of it
  • ej - eject disks
  • bt - open up bluetooth connections (extension name toothpick)
  • od - set which device is audio out
  • option + cmd + space raycast emoji picker - is great
  • ss - search screenshots (including with ocr on the text inside)
  • ry - you can move raycast around so this resets it back
  • rp - remove paywalls on newsites
  • snip - not a huge snippet user, but use it to store general links

i am sure i am missing somethings and not all extensions get used all the time they just stack so when you need them they are there

truly custom stuff

the main thing i love about raycast is it so damn easy to right extensions to do what you want

raycast has three sorta ways you can do this

  • quicklinks
  • raycast scripts
  • raycast extensions

let me show you examples of each

whatsapp doesn’t let you text people without saving the contact but you can do wa.me/number so i have a quicklink for that so wa tab number opens a wa chat with the person

another fun version of this is for github codesearch csm redirects to which search that org and you can imagine having one for each org

https://github.com/search?q=org%3Ascalarhq{argument name="Argument"}&type=code

tbh i don’t use these too much but when i do its handy, i used to use the !p and gg before i made pplx-bangs

script commands

i only have a few here mostly around macos space management using a thing i built on top of yabai called fenster i will be the first to admit that it is quite jank and doesn’t fully make spaces great so i just mostly use window management and disregard spaces when i do use them this is a lifesaver tho

the mem command adds tools to #tools on my mem.ai and this uses an zx script so all scripts don’t have to be bash

#!/usr/bin/env zx

/*
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title New Tool
# @raycast.mode compact

# Optional parameters:
# @raycast.icon 🤖
# @raycast.argument1 { "type": "text", "placeholder": "Link" }
# @raycast.argument2 { "type": "text", "placeholder": "Body", "optional": true }
# @raycast.packageName Mem.ai

# Documentation:
# @raycast.description Add a new mem
# @raycast.author Rahul Tarak
# @raycast.authorURL https://github.com/CryogenicPlanet
*/

const arg1 = process.argv[3];
const arg2 = process.argv[4];

let content = `#tools #fromRaycast ${arg1} ${arg2}`;


const resp = await fetch("https://api.mem.ai/v0/mems", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: "ApiAccessToken <token>",
  },
  body: JSON.stringify({
    content: content,
    isRead: true,
    isArchived: true,
  }),
})

const data = await resp.json()

await $`echo ${data.url} | pbcopy`

console.log("Copied url to clipboard!")


extensions

the real fun!

i have more custom extension than this but i think you can move them out of dev state such that they don’t show up here or something

a few of my favourites

md - let’s you control which display is main display from raycast built on top of this https://github.com/CryogenicPlanet/hoveddisplay

td - spotify devices let you change which device music is playing on from raycast

  • sidenotes - gives read + write functionality to https://www.apptorium.com/sidenotes from raycast
  • wiz and mirale are to control my lights and ac from raycast so like smart-home stuff, they are for my smarthome lights in india so don’t use them when i’m not there
  • GPUs where to have a menu bar of out gpus on runpod and turn them off, had added some other providers after too
  • email domain extactor is my fav kind of raycast extension, you are doing something repetitive like going through a list and want to get domain to email you write an extension in 5 mins and it saves you a lot of time doing that task - you may never use it again, it was bound to option l

the other extensions here are like trying to build a semantic search index and memory thingy to search my computer, didn’t really finish that

if you notice for a bunch of these quicklinks and extensions they are shared to 1202 that is just my friends and sometimes we share these internal tool inside an org too and it is great for building quick internal tools

raycast is always adding new stuff and i would just recommend playing, there are definitely tons of things i use that i didn’t talk about and new things i am trying like their new hyperkey support

for fast opening apps bound to caplock my hyperkey

if you are using raycast in fun ways let me know [email protected]