A macOS Raycast extension for finding local Codex sessions and opening Codex projects in Codex Desktop.
Both commands enrich SQLite session metadata with lightweight Working and Done · Unread state written by Codex hooks. The hook has no notification UI of its own.
Install Codex Desktop or the Codex CLI and create at least one local session.
Install Codex Sessions from the Raycast Store.
Optional: enable live Working and Done · Unread status tags:
npx codex-raycast setup
Open Codex, run /hooks, and review and trust both installed hooks.
Session search and the project list work without the optional hook. The hook only adds live status tags.
codex binary. When empty, the extension checks common installation paths and then PATH.The extension reads Codex's internal state database read-only and never modifies or uploads your Codex data. If the database is unavailable, it scans only the heads of the newest local rollout files and labels the result as degraded mode. Session titles and prompts remain on your Mac.
Only local threads are cataloged in the state database. Codex Cloud tasks do not appear, by design.
Codex's SQLite catalog does not persist live working or done state. Two lightweight, trusted Codex hooks supplement the database by maintaining ~/.local/state/raycast-codex-sessions/states.json:
UserPromptSubmit marks an interactive session as Working.Stop waits for a short settle window, then marks it Done · Unread; a newer prompt cancels the pending completion.The hook stores no assistant message content, shows no macOS notification, and has no separate menu-bar UI. codex exec, subagent, and JSON automation sources are excluded. Opening a completed session from Search Codex Sessions marks it as seen.
The hook and its setup CLI ship as the codex-raycast npm package in this monorepo. Install or repair it with npx codex-raycast setup, verify with npx codex-raycast doctor (especially after Codex version upgrades), and review trust with /hooks inside Codex. This extension only reads states.json; without the hook installed, the status tags simply stay absent.
The Store's Codex extension is a thread management console built on a live codex app-server process: it drives the app-server over JSON-RPC to rename, summarize, archive, fork, and export threads, listing them within its lookback window.
Codex Sessions answers a different question — which of my sessions is working or finished right now, and take me back into it:
Working / Done · Unread status tags through the optional codex-raycast hook, with triage scopes for unread completions.The two work well together: this extension for ambient status and fast resume, the Codex extension for deep thread management.
If no sessions appear, verify that Codex has created ~/.codex and that the optional CLI path points to an executable codex binary. A degraded-mode banner means the state database could not be queried; the extension will show a bounded recent file scan instead.
The extension uses Codex Desktop deep links, with codex app <path> and terminal resume as fallbacks.