⌘ Space · ses · Tab · a few words · Return
seshlite
login
  • Fix the flaky login test
    Codex · ~/src/shop · main · 2h ago · ● open
    › the retry in auth.spec still races, look at the token refresh
  • Login page redesign
    Cursor (IDE) · ~/src/web · login-v2 · 5 days ago
    › use the new button styles on the sign-in form
  • Session login tokens
    Claude Code · ~/src/api · auth · 4 hours ago · ● open
    › rotate the refresh token on every use
↩ jumps to its open tab in Ghostty

Sample sessions. Click a result, or just watch. In Spotlight, type ses and press ⇥ to search seshlite.

Every AI session you've had. One keystroke away.

Claude Code, Codex, Cursor, Copilot, Qwen, Kimi, DeepSeek, Mistral and six more. ↩ takes you to the session's open tab, the app it lives in, or a fresh terminal tab in its folder.

Download for macOS

100% localmacOS 13+Apple silicon and IntelNo account

Reads the sessions you already have Claude CodeCodexCursorGitHub CopilotOpenCodeGemini CLIAntigravityPiQwen CodeKimi CodeDeepSeek HarnessZCodeMiniMax CodeMistral VibeHermes AgentGooseOpenHandsOpenClawCrush
The problem

One harness or ten, sessions sprawl.

  • Each agent has its own /resume list, and none of them shows the others'.
  • The session you want is already running in some tab, in some window, on some Space.
  • Resuming means remembering which agent, which folder, which id, then typing it.
How it works

Return takes you to the right place

seshlite checks in this order, so a session you already have open never gets resumed twice.

  1. tty match

    Its tab, if it's still open

    The window comes forward and the right tab is selected, on any Space. Sessions inside tmux or Zellij get their pane selected too.

  2. app link

    The app it lives in

    Started in Claude Desktop, the Codex app, Cursor or VS Code? It goes back there and the app brings that session up.

  3. cd + resume

    A new tab, resumed

    In the terminal whose window is frontmost, cd'd into the session's folder, running the agent's own resume command.

What you get

Zero UI. It's a Spotlight result.

No window to keep open, no app to switch to, nothing new to learn. The search you already use now knows your sessions. Raycast or Alfred instead of Spotlight? Same sessions, same keystroke: the setup window adds them in one click.

Search everything

Title, folder, branch, agent, and the first and last thing you said. Type rate limit and every session where you worked on it comes up, whichever agent it was in.

Every terminal

Terminal, iTerm2, Ghostty, WezTerm, kitty, Warp, Alacritty, cmux, Hyper, Tabby, Rio. New tabs go to whichever one is in front.

Never twice

If the session is live, seshlite jumps to it instead of starting a second copy. Even when it's in a tmux or Zellij pane on another Space.

Desktop apps too

Sessions that live in Claude Desktop, the Codex app, Cursor, VS Code, the Copilot app, Antigravity, Goose Desktop or the OpenClaw Control UI reopen there.

Yours alone

Never connects to the internet. No account, no telemetry. One switch keeps your prompts out of Spotlight entirely.

Always current

A tiny background job refreshes the index every minute. New session, new title, closed tab: Spotlight knows.

Works with

What you already use

It reads each agent's own history on your Mac. Nothing to configure, nothing to install in the agents.

Spotlight built inRaycast extensionAlfred workflow

Agents

  • Claude Codeclaude --resume
  • Codexcodex resume
  • Cursoragent --resume
  • GitHub Copilotcopilot --resume
  • OpenCodeopencode -s
  • Gemini CLIgemini --resume
  • Antigravityagy --conversation
  • Pipi --session
  • Qwen Codeqwen --resume
  • Kimi Codekimi --session
  • DeepSeek Harnessdsh headless
  • ZCode (Z.ai)zcode --resume
  • MiniMax Codemcode --session
  • Mistral Vibevibe --resume
  • Hermes Agenthermes --resume
  • Goosegoose session --resume
  • OpenHandsopenhands --resume
  • OpenClawopenclaw tui --session
  • Crushcrush --session

Terminals

  • Terminaltabs
  • iTerm2tabs
  • Ghosttytabs
  • WezTermtabs
  • kittytabs
  • Warptabs
  • Alacrittywindows
  • cmuxworkspaces
  • Hypertabs
  • Tabbytabs
  • Riotabs
  • tmux, inside any of thempanes
  • Zellij, inside any of themtabs, panes

Desktop apps

  • Claude DesktopClaude Code
  • Codex appCodex
  • Cursoragent chats
  • VS CodeClaude, Copilot
  • GitHub Copilot appCopilot
  • Antigravityconversations
  • Goose Desktopgoose://resume
  • OpenClaw Control UI/chat/<agent>/<id>

seshlite for Mac

Version 0.1.0 · macOS 13 or later · Apple silicon and Intel

Download

Signed and notarized100% localNo account

Spotlight built inRaycast extensionAlfred workflow

Drag seshlite to Applications and open it once. Then ⌘ Space, ses, ⇥, a few words, ↩.

Raycast and Alfred users: the setup window has Add to Raycast and Add to Alfred. The Alfred workflow is also here: seshlite.alfredworkflow (keyword ses).

Questions

Before you press Return

How do I resume a Claude Code session on macOS?

Press ⌘ Space, type ses, press ⇥, then part of the session's title, its project, or a word you used, and press ↩. If it's still open in a terminal tab, seshlite jumps to it; if it lives in Claude Desktop, it opens there; otherwise it runs claude --resume in a new tab in the right folder.

How do I find old Codex, Cursor or Copilot sessions?

The same search. seshlite indexes Claude Code, Codex, Cursor, GitHub Copilot, OpenCode, Gemini CLI, Antigravity, Pi, Qwen Code, Kimi Code, DeepSeek Harness, ZCode, MiniMax Code, Mistral Vibe, Hermes Agent, Goose, OpenHands, OpenClaw and Crush together, so one query covers every agent you use.

Does it work with tmux or Zellij?

Yes. A session running in a tmux or Zellij pane gets its window or tab and its pane selected, and the terminal tab showing that client comes to the front. When the front terminal has a Zellij session attached, new sessions open as a Zellij tab in it.

I use Raycast or Alfred, not Spotlight.

Then use them. The setup window's Add to Raycast copies a small extension into place and runs one command in a terminal tab (it needs Node); after that, a Search Sessions command lists the same sessions with the same actions. Add to Alfred imports a workflow with the keyword ses. Both read from the seshlite app, so there's one index and one set of rules about where a session reopens. Neither is in a store: no account, nothing to update separately.

Does it change anything in my agents?

No. It only reads their history files and runs their own resume commands. Your sessions, settings and logins are untouched.

What ends up in Spotlight?

Each session's title, folder, branch, agent and date, plus its first and last prompt so you can search for what you talked about. Turn prompt text off in the setup window and only titles, folders and branches are indexed. Removing seshlite removes all of it.

Why does it ask to control my terminal?

That's how a new tab gets opened and the resume command typed into it. Terminal.app also needs Accessibility, because it can't create a tab any other way. iTerm2, Ghostty, WezTerm and kitty don't.

Which terminal does it use?

The one whose window is in front, so it follows you. Pick a fixed one in the setup window if you'd rather.

What about sessions that were started in a desktop app?

They go back to that app. A session you started in Claude Desktop and later continued in the terminal opens in the terminal: it follows where you last used it.

Is it safe to install?

The app is signed with an Apple Developer ID and notarized by Apple, so macOS opens it without warnings. It never connects to the internet, and it asks only for the permissions it needs to open a terminal tab.

Back to your session.

It's already there. One keystroke.

Download for macOS