{"slug": "manage-your-claude-code-agents-in-raycast", "title": "Manage your Claude Code agents in Raycast", "summary": "A new Raycast extension called Claude Fleet lets developers manage Claude Code agents, pull requests, and worktrees directly from the Raycast launcher, reading Claude's session registry to show live agents without hooks. The tool provides 14 commands for spawning agents, reviewing PRs, and switching contexts with a single keystroke, aiming to reduce terminal context-switching.", "body_md": "See your Claude Code agents, PRs, and worktrees in Raycast — and hand any of them\nto an agent in one keystroke. Plus an ambient menu-bar read on **who needs you**.\n\nNote\n\n**Built and in daily use** as a local Raycast dev extension. Full design in ** SPEC.md**.\n\n**Liveness needs no hooks**— the extension reads Claude Code's\n\n*own*session registry (\n\n`~/.claude/sessions`\n\n) directly, so active agents show up out of the box. The bundled\n[helpers](/vmc-7645/claude-fleet/blob/main/helpers)add the richer touches (Focus Tab, per-turn state, Spawn, Undo).\n\nEvery dev surface — a PR, an issue, a running agent, a past session, a worktree — carries a\none-keystroke **hand it to an agent** action. That's the whole idea: stop context-switching to\na terminal to start work; start it from wherever you already are.\n\nFourteen commands, grouped by what you reach for.\n\n| Command | Mode | What it does |\n|---|---|---|\nSpawn Agent |\n\n**New Session** Repo pickers (Review PR · New Session · Spawn) are recency-sorted: your\n\nlocalrepos first, then everything you can access onGitHub— remote picks are cloned on demand.\n\nThe Claude Fleet commands in Raycast.\n\n**Prerequisites:** macOS · [Raycast](https://raycast.com) · [Claude Code](https://claude.com/claude-code) · [ gh](https://cli.github.com) ·\n\n`git`\n\n· `jq`\n\n· a terminal ([Ghostty](https://ghostty.org)recommended)\n\n```\n# 1 — clone\ngit clone https://github.com/vmc-7645/claude-fleet.git && cd claude-fleet\n\n# 2 — install the shell helpers + hooks (idempotent; wires ~/.claude/settings.json, backs it up first)\nhelpers/install.sh\n\n# 3 — sign in to GitHub (for My PRs / PRs to Review / My Issues)\ngh auth login\n\n# 4 — load the extension into Raycast (persists after you stop the dev server)\ncd extension && npm ci && npm run dev\n```\n\nThen two one-time steps:\n\n**Restart Claude Code** so the new hooks load.**Grant Raycast Accessibility**— System Settings → Privacy & Security → Accessibility → enable** Raycast**. Needed for the tab-focus / keystroke actions;`gh`\n\nreads work without it.\n\nThat's it — open Raycast and search **Claude Fleet**.\n\n**Preferences** (Raycast → Extensions → Claude Fleet → ⚙️)\n\n**Terminal**— where agents open:** Ghostty**(default), iTerm2, or Apple Terminal. Focus Tab / Nudge / Close Tab need Ghostty (per-tab accessibility); every other action (Resume, Fork, Review, Spawn, New Session…) works on any of them.**Agent primary action**— Focus Tab vs Resume in New Tab (what Enter does on a live agent).** Quick replies**— comma-separated canned follow-ups for the Quick Reply action.** Editor command**—`code`\n\n/`cursor`\n\n/ … for*Open in Editor*(must be on`PATH`\n\n).**Repos directory**— override discovery root. Blank →`~/.config/claude-fleet/repos.env`\n\n→`~/Repos`\n\n.\n\nThe extension is a thin, declarative UI over a few data sources it reads directly — no daemon, no polling service, nothing to keep running.\n\n**Where each fact comes from**\n\n| Source | Gives |\n|---|---|\n`~/.claude/sessions/*.json` |\nActive agents — Claude's own live registry (sessionId · cwd · pid · busy/idle). Authoritative liveness, no hooks needed. |\n`~/.claude/projects/*.jsonl` |\nRecent sessions — title (`aiTitle` ), pending question (last assistant message), turn count, token usage. Parsed metadata is cached by file mtime. |\n`~/.claude/fleet/*.json` |\nOptional enrichment from the `fleet-register` hook — finer state (waiting / done), task label, diff, mode. |\n`gh` |\nCross-repo PRs & issues, CI rollup, remote repo list. |\n\nThe local commands + hooks the extension drives are vendored in\n(\n\n`helpers/`\n\n`claude-worktree`\n\n, `claude-undo`\n\n, `claude-restore`\n\n, and the `tab-status`\n\n/ `fleet-register`\n\n/\n`checkpoint`\n\nhooks) — see [helpers/README](/vmc-7645/claude-fleet/blob/main/helpers/README.md). The extension degrades gracefully without them: Focus Tab falls back to raising the terminal; Spawn / Undo report the missing command.\n\nThe `tab-status`\n\nhook titles each Ghostty tab `<emoji> <repo>:<branch> — <task>`\n\n. Ghostty exposes\ntabs as a native `AXTabGroup`\n\nof `AXRadioButton`\n\ns (titles = those strings), so the extension\nmatches an agent to its tab by `repo:branch`\n\nand `AXPress`\n\nes it — jumping you straight there\n(even across Spaces for a fullscreen window). No match → it raises the terminal.\n\nmacOS · a terminal — [Ghostty](https://ghostty.org) (default, and required for\nFocus Tab / Nudge / Close Tab), iTerm2, or Apple Terminal · Claude Code ·\n[ gh](https://cli.github.com) (My PRs / PRs to Review / My Issues) ·\n\n`git`\n\n· `jq`\n\n(the `helpers/`\n\nhooks).[MIT](/vmc-7645/claude-fleet/blob/main/LICENSE). The Claude marks in `extension/assets/`\n\nare Anthropic's trademarks — see\n[assets/NOTICE](/vmc-7645/claude-fleet/blob/main/extension/assets/NOTICE.md). Not affiliated with Anthropic.", "url": "https://wpnews.pro/news/manage-your-claude-code-agents-in-raycast", "canonical_source": "https://github.com/vmc-7645/claude-fleet", "published_at": "2026-07-16 04:58:48+00:00", "updated_at": "2026-07-16 05:25:17.435196+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["Raycast", "Claude Code", "GitHub", "Ghostty", "Claude Fleet"], "alternates": {"html": "https://wpnews.pro/news/manage-your-claude-code-agents-in-raycast", "markdown": "https://wpnews.pro/news/manage-your-claude-code-agents-in-raycast.md", "text": "https://wpnews.pro/news/manage-your-claude-code-agents-in-raycast.txt", "jsonld": "https://wpnews.pro/news/manage-your-claude-code-agents-in-raycast.jsonld"}}