AI in Raycast without Raycast Pro: ask, chat, translate and rewrite text through the Claude Code or Codex CLI, using your own Claude or ChatGPT plan.
TypeScript
17
17 commits
updated Oct 15, 2026
![]()
Raycast AI on the Claude or ChatGPT plan you already pay for.
Claude and ChatGPT plans include a coding CLI: Claude Code and Codex. This Raycast extension runs your requests through whichever one is installed and signed in on your Mac, so you get the everyday Raycast AI features without a Raycast Pro subscription, an API key or per-token billing.
How it stays fast and cheap: the CLIs are coding agents, so the extension turns off their tools, MCP servers, settings files and agent prompts. That brings Claude Code's first answer from ~9 s to ~3 s and Codex's prompt from ~17.6k to ~4.5k tokens. Details in How it works.
Not affiliated with, built by, or endorsed by Anthropic, OpenAI or Raycast. It runs the official, unmodified CLIs; sign-in stays with them.
Paste into a terminal:
curl -fsSL https://raw.githubusercontent.com/umitaltintas/raycast-cli-assistant/main/install.sh | bash
No Node, npm or git needed. The script downloads the prebuilt extension (~50 KB) from the latest release, puts it into Raycast's extensions folder and registers it with Raycast. It also checks which of Claude Code and Codex are installed and signed in. Run the same command again to update; chats and settings are kept. To uninstall, press ⌘K on any of its commands in Raycast → Uninstall Extension.
Then open the extension preferences and set your Primary Language.
Extensions installed outside the Store show up in Raycast as development extensions and may require being signed in to a Raycast account. The script sends the same registration notification as
ray develop(raycast://cli/…). That is not a documented Raycast interface, so if it ever changes, installing from source below always works.
git clone https://github.com/umitaltintas/raycast-cli-assistant.git
cd raycast-cli-assistant
npm install
npm run dev # once the extension shows up in Raycast you can stop it with Ctrl+C
Requires Node 22.22.2 or newer.
Add --spotlight to also get an Ask AI app that Spotlight finds:
curl -fsSL https://raw.githubusercontent.com/umitaltintas/raycast-cli-assistant/main/install.sh | bash -s -- --spotlight
Press ⌘Space, type "Ask AI", ask a question and the answer shows in a dialog with Copy and Ask Another. It uses the model last chosen in the extension and doesn't need Raycast to be open. Running the installer again keeps it up to date; to remove it, delete ~/Applications/Ask AI.app. (A Shortcut would be nicer, but signing one needs an iCloud account.)
Claude Code, signed in with a paid Claude plan:
curl -fsSL https://claude.ai/install.sh | bash
claude # then /login
Codex, signed in with a ChatGPT plan: brew install codex, then codex login. The ChatGPT app also ships a copy of Codex, which is found automatically.
| Command | What it does |
|---|---|
| Ask AI | Takes a question from root search and streams the answer. Can be used as a fallback command. |
| Chat | A chat with follow-up questions. |
| Chat History | Open or delete previous chats. |
| Ask About Selection | Ask a question about the selected text. |
| Fix Spelling and Grammar · Improve Writing · Make Shorter | Rewrite the selected text and paste the result over it. |
| Translate | Translates as you type; selected text is filled in. The target language is remembered. |
| Translate and Replace | Translates the selected text without opening a window and pastes it over the selection. |
| Summarize · Explain | Summarize or explain the selected text (or the clipboard if nothing is selected), in your primary language. |
Choosing a model: from the dropdown in the search bar in Chat and Translate, or with ⌘⇧R on an answer. Models are grouped by CLI (Claude Code, Codex). The list is not hardcoded: it comes from the installed CLIs and matches your plans, so new models show up on their own. The chosen model is shared by all commands and remembered; switching mid-chat keeps the context, even across Claude and Codex.
On an answer: ↵ paste to the active app, ⌘↵ continue in chat, ⌘⇧C copy, ⌘R regenerate, ⌘⇧R ask another model, ⌘. stop.
Tips:
| Preference | Description |
|---|---|
| Default Model | Haiku, Sonnet, Opus or Fable (aliases that always resolve to the newest version), or Codex with its default model. A model you pick inside the extension overrides it. |
| Primary Language | Your main language. Summaries and explanations of selected text are written in it, and Translate's Auto mode translates into it. |
| Secondary Language | Translate's Auto mode translates text that is already in your primary language into this one. |
| Extra Models | Comma-separated models missing from your plan's list (e.g. claude-opus-5-5[1m]). |
| Claude CLI Path | Leave empty to try ~/.local/bin, /opt/homebrew/bin and /usr/local/bin. |
| Codex CLI Path | Leave empty to try Homebrew, ~/.local/bin, npm and the copy bundled with the ChatGPT app. |
| Extra Instructions | Appended to every request (tone, how to address you, etc.). |
Every request runs claude -p in streaming (stream-json) mode. Claude Code is a coding agent, so everything a chat assistant doesn't need is turned off:
--tools ""), MCP servers (--strict-mcp-config), settings files (--setting-sources "") and slash commands;--system-prompt) instead of Claude Code's coding prompt.In my measurements this brings the time to the first answer from ~9 s down to ~3 s. --bare would be faster but only works with API keys and ignores Claude account logins.
Codex runs as codex exec --json in a read-only sandbox; follow-ups use codex exec resume. Its coding-agent prompt is replaced with the assistant prompt (model_instructions_file), and the skills list, sandbox rules, apps, plugins, web search and other agent tools are turned off, which cuts a short request from ~17.6k to ~4.5k input tokens. Compared with Claude Code it is slower (~4.5 s for a short answer in my tests, almost all of it the round trip to OpenAI) and its answers arrive in one piece rather than streamed. When you switch between Claude and Codex mid-chat, the turns the other CLI answered are sent along as context, since each keeps its own history.
More details:
--session-id / --resume). Their files are kept in the extension's own folder so they don't mix with your real projects.initialize request also behind the Agent SDK's supportedModels()), Codex models from codex debug models; no model calls, ~1 s, both in parallel. The result is cached and refreshed daily in the background; if the CLI is unreachable a fallback list of aliases is used.--setting-sources "" skips user settings, so HTTPS_PROXY / HTTP_PROXY / NO_PROXY from ~/.claude/settings.json are read by the extension and passed to the CLI.USER / LOGNAME; without them Claude Code can't find its Keychain login and says Not logged in. The extension sets them.ANTHROPIC_API_KEY is set, the CLI would use it instead of your subscription, so it is removed from the child process.The extension does not collect, store or relay credentials. It only runs the unmodified Claude Code or Codex CLI that you installed, and sign-in happens through Anthropic's or OpenAI's own flow. Your usage is subject to their terms (Anthropic, OpenAI) and your plan's limits.
MIT
46 followers · starred Oct 2026
AI in Raycast without Raycast Pro: ask, chat, translate and rewrite text through the Claude Code or Codex CLI, using your own Claude or ChatGPT plan.
TypeScript
17
17 commits
updated Oct 15, 2026
![]()
Raycast AI on the Claude or ChatGPT plan you already pay for.
Claude and ChatGPT plans include a coding CLI: Claude Code and Codex. This Raycast extension runs your requests through whichever one is installed and signed in on your Mac, so you get the everyday Raycast AI features without a Raycast Pro subscription, an API key or per-token billing.
How it stays fast and cheap: the CLIs are coding agents, so the extension turns off their tools, MCP servers, settings files and agent prompts. That brings Claude Code's first answer from ~9 s to ~3 s and Codex's prompt from ~17.6k to ~4.5k tokens. Details in How it works.
Not affiliated with, built by, or endorsed by Anthropic, OpenAI or Raycast. It runs the official, unmodified CLIs; sign-in stays with them.
Paste into a terminal:
curl -fsSL https://raw.githubusercontent.com/umitaltintas/raycast-cli-assistant/main/install.sh | bash
No Node, npm or git needed. The script downloads the prebuilt extension (~50 KB) from the latest release, puts it into Raycast's extensions folder and registers it with Raycast. It also checks which of Claude Code and Codex are installed and signed in. Run the same command again to update; chats and settings are kept. To uninstall, press ⌘K on any of its commands in Raycast → Uninstall Extension.
Then open the extension preferences and set your Primary Language.
Extensions installed outside the Store show up in Raycast as development extensions and may require being signed in to a Raycast account. The script sends the same registration notification as
ray develop(raycast://cli/…). That is not a documented Raycast interface, so if it ever changes, installing from source below always works.
git clone https://github.com/umitaltintas/raycast-cli-assistant.git
cd raycast-cli-assistant
npm install
npm run dev # once the extension shows up in Raycast you can stop it with Ctrl+C
Requires Node 22.22.2 or newer.
Add --spotlight to also get an Ask AI app that Spotlight finds:
curl -fsSL https://raw.githubusercontent.com/umitaltintas/raycast-cli-assistant/main/install.sh | bash -s -- --spotlight
Press ⌘Space, type "Ask AI", ask a question and the answer shows in a dialog with Copy and Ask Another. It uses the model last chosen in the extension and doesn't need Raycast to be open. Running the installer again keeps it up to date; to remove it, delete ~/Applications/Ask AI.app. (A Shortcut would be nicer, but signing one needs an iCloud account.)
Claude Code, signed in with a paid Claude plan:
curl -fsSL https://claude.ai/install.sh | bash
claude # then /login
Codex, signed in with a ChatGPT plan: brew install codex, then codex login. The ChatGPT app also ships a copy of Codex, which is found automatically.
| Command | What it does |
|---|---|
| Ask AI | Takes a question from root search and streams the answer. Can be used as a fallback command. |
| Chat | A chat with follow-up questions. |
| Chat History | Open or delete previous chats. |
| Ask About Selection | Ask a question about the selected text. |
| Fix Spelling and Grammar · Improve Writing · Make Shorter | Rewrite the selected text and paste the result over it. |
| Translate | Translates as you type; selected text is filled in. The target language is remembered. |
| Translate and Replace | Translates the selected text without opening a window and pastes it over the selection. |
| Summarize · Explain | Summarize or explain the selected text (or the clipboard if nothing is selected), in your primary language. |
Choosing a model: from the dropdown in the search bar in Chat and Translate, or with ⌘⇧R on an answer. Models are grouped by CLI (Claude Code, Codex). The list is not hardcoded: it comes from the installed CLIs and matches your plans, so new models show up on their own. The chosen model is shared by all commands and remembered; switching mid-chat keeps the context, even across Claude and Codex.
On an answer: ↵ paste to the active app, ⌘↵ continue in chat, ⌘⇧C copy, ⌘R regenerate, ⌘⇧R ask another model, ⌘. stop.
Tips:
| Preference | Description |
|---|---|
| Default Model | Haiku, Sonnet, Opus or Fable (aliases that always resolve to the newest version), or Codex with its default model. A model you pick inside the extension overrides it. |
| Primary Language | Your main language. Summaries and explanations of selected text are written in it, and Translate's Auto mode translates into it. |
| Secondary Language | Translate's Auto mode translates text that is already in your primary language into this one. |
| Extra Models | Comma-separated models missing from your plan's list (e.g. claude-opus-5-5[1m]). |
| Claude CLI Path | Leave empty to try ~/.local/bin, /opt/homebrew/bin and /usr/local/bin. |
| Codex CLI Path | Leave empty to try Homebrew, ~/.local/bin, npm and the copy bundled with the ChatGPT app. |
| Extra Instructions | Appended to every request (tone, how to address you, etc.). |
Every request runs claude -p in streaming (stream-json) mode. Claude Code is a coding agent, so everything a chat assistant doesn't need is turned off:
--tools ""), MCP servers (--strict-mcp-config), settings files (--setting-sources "") and slash commands;--system-prompt) instead of Claude Code's coding prompt.In my measurements this brings the time to the first answer from ~9 s down to ~3 s. --bare would be faster but only works with API keys and ignores Claude account logins.
Codex runs as codex exec --json in a read-only sandbox; follow-ups use codex exec resume. Its coding-agent prompt is replaced with the assistant prompt (model_instructions_file), and the skills list, sandbox rules, apps, plugins, web search and other agent tools are turned off, which cuts a short request from ~17.6k to ~4.5k input tokens. Compared with Claude Code it is slower (~4.5 s for a short answer in my tests, almost all of it the round trip to OpenAI) and its answers arrive in one piece rather than streamed. When you switch between Claude and Codex mid-chat, the turns the other CLI answered are sent along as context, since each keeps its own history.
More details:
--session-id / --resume). Their files are kept in the extension's own folder so they don't mix with your real projects.initialize request also behind the Agent SDK's supportedModels()), Codex models from codex debug models; no model calls, ~1 s, both in parallel. The result is cached and refreshed daily in the background; if the CLI is unreachable a fallback list of aliases is used.--setting-sources "" skips user settings, so HTTPS_PROXY / HTTP_PROXY / NO_PROXY from ~/.claude/settings.json are read by the extension and passed to the CLI.USER / LOGNAME; without them Claude Code can't find its Keychain login and says Not logged in. The extension sets them.ANTHROPIC_API_KEY is set, the CLI would use it instead of your subscription, so it is removed from the child process.The extension does not collect, store or relay credentials. It only runs the unmodified Claude Code or Codex CLI that you installed, and sign-in happens through Anthropic's or OpenAI's own flow. Your usage is subject to their terms (Anthropic, OpenAI) and your plan's limits.
MIT
46 followers · starred Oct 2026