Because typing commands in a terminal is way too much work.
A Raycast extension for managing xlaude worktrees—isolated git worktree environments for AI-assisted coding sessions.
I discovered xlaude and Raycast around the same time. xlaude was amazing—multiple Claude/Codex sessions in parallel, each in its own git worktree!
But then I realized I'd have to:
- Open a terminal
- Navigate to my repo
- Type
xlaude create ENG-123 - Wait for it to finish
- Type
xlaude open
Five whole steps? In this economy? Unacceptable.
So I built this Raycast extension. Now I copy a ticket ID from Linear, press one hotkey, and I'm coding. The way it should be.
1. Copy ticket ID from Linear/Jira/GitHub
2. Press hotkey
3. You're coding with AI
That's it. That's the whole thing. Set up the Quicklink and never think about it again.
-
xlaude - Install the xlaude CLI:
cargo install xlaude
-
Raycast - Download from raycast.com
git clone https://github.com/Xuanwo/xlaude-raycast.git
cd xlaude-raycast
npm install
npm run devThis is the good stuff. Set up a Raycast Quicklink to go from clipboard → coding:
- Open Raycast Settings → Extensions → xlaude
- Create a Quicklink with this URL (replace
YOUR_RAYCAST_USERNAMEwith your Raycast username):raycast://extensions/YOUR_RAYCAST_USERNAME/xlaude/create-from-ticket?arguments=%7B%22ticketId%22%3A%22{clipboard}%22%7D - Assign a hotkey (e.g.,
⌘ + Shift + /— pairs nicely with Linear's⌘ + Shift + .to copy branch name)
Now: copy ticket → press hotkey → AI agent ready. You're welcome.
| Command | What it does |
|---|---|
| Create from Ticket ⭐ | The star of the show. Ticket ID → worktree → iTerm → AI agent. One command. |
| List Worktrees | See all your sessions with last messages. Remember what you were doing. |
| Open Worktree | Resume a session. Supports iTerm split panes. |
| Create Worktree | Start fresh with a custom name. |
| Checkout Branch/PR | Pull a branch or PR into a new worktree. Great for reviews. |
| Delete Worktree | Clean up. Auto-closes iTerm tabs too. |
| Delete All | Nuclear option. Weekly cleanup in one click. |
Open Raycast preferences (⌘ + ,) → xlaude:
| Setting | Description |
|---|---|
| xlaude Binary Path | Usually auto-detected from ~/.cargo/bin |
| Default Repository Path | Your main repo for worktrees |
| Terminal Application | iTerm, Terminal.app, Warp, or Kitty |
| Use Split Panes | Side-by-side worktrees in iTerm |
| Max Panes per Tab | 2, 3, or 4 panes per tab |
| Terminal | Tab Naming | Split Panes | Auto-close |
|---|---|---|---|
| iTerm | ✅ | ✅ | ✅ |
| Terminal.app | ✅ | ❌ | ❌ |
| Warp | ✅ | ❌ | ❌ |
| Kitty | ✅ | ❌ | ❌ |
npm run dev # Development mode
npm run build # Production build
npm run lint # Lint
npx tsc --noEmit # Type checkMIT