Navigate, create, and manage WezTerm tabs and workspaces directly from Raycast.
brew install --cask weztermWezTerm's CLI cannot switch workspaces externally — this is a known limitation. To enable cross-workspace navigation, add this snippet to your WezTerm config (~/.wezterm.lua or equivalent):
local wezterm = require("wezterm")
-- Named pipe for Raycast workspace switching
local IPC_FILE = os.getenv("HOME") .. "/.wezterm-workspace-switch"
wezterm.on("update-status", function(window, pane)
local f = io.open(IPC_FILE, "r")
if not f then return end
local workspace_name = f:read("*line")
f:close()
if workspace_name and workspace_name ~= "" then
-- Switch to the requested workspace
window:perform_action(
wezterm.action.SwitchToWorkspace({ name = workspace_name }),
pane
)
-- Clean up the IPC file
os.remove(IPC_FILE)
end
end)
Or run the Setup WezTerm IPC command in Raycast to copy this snippet.
~/.wezterm-workspace-switchupdate-status eventWithout this setup: Tab navigation and creation still work within the current workspace. Only cross-workspace switching requires the snippet above.
| Command | Description |
|---|---|
| Navigate Tabs | List and switch between WezTerm tabs |
| Create Tab | Create a new WezTerm tab in a specific directory |
| Manage Workspaces | View and rename WezTerm workspaces |
| Setup WezTerm IPC | Show setup instructions for cross-workspace switching |
| Shortcut | Action |
|---|---|
Enter | Switch to tab |
Cmd + Opt + R | Rename |
Cmd + Opt + X | Close tab |
Cmd + . | Copy name |