Skip to main content
AI tutorials

How to Find and Resume Claude Code, Codex, and OpenCode Chats in VS Code with Chat Seek

Learn how to install Chat Seek, index local Claude Code, Codex, and OpenCode conversations, search them with natural-language descriptions, and resume supported sessions. This guide also explains Laya reranking, optional AI summaries, provider configuration, privacy considerations, and troubleshooting.

How to Find and Resume Claude Code, Codex, and OpenCode Chats in VS Code with Chat Seek

What Chat Seek does

Chat Seek is a VS Code extension for finding past Claude Code, Codex, and OpenCode conversations from a plain-language description. It searches locally stored user and assistant messages, then uses the Laya local decision model to refine the order of likely matches.

Search results include a readable excerpt, the latest activity date, and optional one-sentence descriptions. When the source session is still available, the result also provides a Resume action that opens the corresponding CLI in a VS Code integrated terminal.

Chat Seek demo

Supported chat histories

Chat Seek reads these default locations:

  • ~/.claude/projects and ~/.claude/archived_projects for Claude Code
  • ~/.codex/sessions and ~/.codex/archived_sessions for Codex
  • ~/.local/share/opencode/storage for file-based OpenCode session, message, and part storage

Only user and assistant text is indexed. Tool results and subagent transcripts are excluded. Newer OpenCode database-only storage is not currently imported. If your histories use different locations, configure them with chatSeek.extraRoots. Paths containing codex or opencode select those parsers; other paths are treated as Claude Code roots.

Install Chat Seek

Install the prebuilt VSIX

The supplied prebuilt package supports Linux x64, including VS Code Remote WSL. VS Code 1.99 or later is required.

  1. Download the Linux x64 VSIX from the latest release.
  2. Open VS Code and run Extensions: Install from VSIX... from the Command Palette.
  3. Select the downloaded VSIX file.
  4. Open the Chat Seek view after installation.

For VS Code Insiders, use the code-insiders command and the matching Insiders environment. In a remote window, install Chat Seek into the environment that contains the chat histories, not only into the local UI host.

Build and install from source

To build on Linux x64, use Node.js 20 or later, clone the repository, and run:

npm ci
npm test
npm run lint
npm run package
code --install-extension chat-seek-linux-x64-0.2.1.vsix --force

Use code-insiders instead of code when working with VS Code Insiders. Building for another platform requires changing the vsce --target argument and adjusting the .vscodeignore ONNX native-binary exclusions so the appropriate runtime is included. Do not relabel the supplied VSIX for another platform.

Open your first search

  1. Press Ctrl+Shift+P on Windows or Linux, or Cmd+Shift+P on macOS.
  2. Run Chat Seek: Search past AI chats.
  3. Type a description of the conversation you want to find, such as the discussion where I fixed authentication failures in the deployment script.
  4. Review the matching excerpts, dates, and summaries when available.

You can also click the Chat Seek magnifying-glass icon in the Activity Bar. Select Pin search tab to keep the editor search tab available. If the Activity Bar icon is hidden, right-click the Activity Bar to show it or drag the view to another sidebar location.

Opening the search refreshes the local index. Unchanged transcript files are reused, and Refresh chats updates the index while the panel is open. The first Laya use downloads approximately 1.7 GB of model weights to ~/.cache/receptron-laya and performs CPU inference. Keyword results appear first, followed by Laya's ranking refinement.

Resume a matching conversation

Use the Resume in Claude Code, Resume in Codex, or Resume in OpenCode action on a result when available. Chat Seek opens the matching CLI in a VS Code integrated terminal, using its session ID and original working directory when available.

Resume launches the CLI but does not automatically submit a new prompt. The relevant CLI must be installed and signed in in the same environment as the extension. This action opens the CLI, not a vendor's proprietary chat sidebar. Archived or moved sessions may no longer be resumable, but Read excerpt can still open the indexed context.

Configure optional AI summaries

Chat Seek demo

Basic search, indexing, and Laya reranking work without an API key. Summaries are disabled by default. To enable them, click Configure summaries in Chat Seek or run Chat Seek: Configure summaries.

Add a key through the masked input, which stores it in VS Code SecretStorage, then explicitly enable summaries after reviewing the provider disclosure. Existing environment variables are supported, but simply having a key does not enable uploads. SecretStorage keys take precedence over environment keys for the same provider.

The available providers and default models are:

  • OpenAI: OPENAI_API_KEY, default model gpt-5.6-luna
  • OpenRouter: OPENROUTER_API_KEY or OPEN_ROUTER_API_KEY, default model openai/gpt-5.6-luna
  • TensorX: TENSORX_API_KEY, default model z-ai/glm-5.3-flash
  • Custom OpenAI-compatible endpoint: CHAT_SEEK_API_KEY, with a model and base URL that you configure

In auto mode, Chat Seek tries only providers with a configured key and model, in the listed order. Missing keys are skipped, and request errors fall through to the next configured provider. Select a specific provider in settings if you want to prevent cross-provider fallback.

Use a custom provider

For another provider or a local OpenAI-compatible server, set chatSeek.summaries.provider to custom, configure chatSeek.summaries.customUrl with the compatible base URL, and set chatSeek.summaries.customModel to the exact model ID. HTTPS is required except for localhost. Add the custom key through Configure summaries or CHAT_SEEK_API_KEY.

You can override provider models with settings such as chatSeek.summaries.<provider>Model. Model availability and pricing can change, so confirm the exact model supported by your provider.

Understand summary privacy and caching

Descriptions are generated lazily for displayed results, up to 30 chats, with two requests running at a time. Each request contains at most 12 sampled messages of up to 600 characters each, distributed across the conversation. Summaries are cached locally by chat content and regenerated when indexed messages change.

When summaries are enabled, sampled excerpts are sent to the configured provider and may incur API charges. Common credential patterns and known environment secrets are redacted, but redaction cannot remove every type of sensitive information. Other private chat text may still be sent. The interface labels AI summaries and identifies their provider.

Disable summaries to keep searching entirely local. Private indexes and summary caches are stored in VS Code extension storage; do not publish them. Never place API keys in committed settings, prompts, screenshots, or the repository.

Advanced settings and limitations

Disable Laya reranking

If your machine cannot support the local model or you want to avoid downloading its weights, set chatSeek.useLaya to false. Keyword search remains available.

Add custom history roots

Use chatSeek.extraRoots for custom directories or mounted Windows paths. Ensure the path points to the correct environment and, for OpenCode, points to its storage directory.

Improve search results

The shortlist depends on word overlap. A description with no shared words may miss a conversation, so include distinctive terms, project names, error messages, or technologies from the original discussion. Long messages are clipped at 2,800 characters, while previews show nearby indexed messages.

Dates represent the latest indexed message in a conversation. Missing timestamps appear as Date unknown. Native resume availability depends on whether the source application still retains the session files.

Troubleshooting installation

  • If commands or the Activity Bar icon do not appear immediately, run Developer: Reload Window.
  • Verify that the extension is installed in the active standard, Insiders, WSL, SSH, or container environment.
  • Check the installed extension with code --list-extensions --show-versions, or use the corresponding Insiders or remote CLI.
  • If environment variables are not detected, reload or restart the relevant local or remote extension host.
  • If the native runtime cannot load, report the limitation accurately and keep keyword search enabled where possible.

Conclusion

Chat Seek turns local Claude Code, Codex, and OpenCode archives into a searchable workspace inside VS Code. Install the matching package in the environment that stores your histories, open Chat Seek: Search past AI chats, and describe the conversation you need. Keep summaries disabled for fully local search, or configure a provider when the convenience of AI-generated descriptions is worth the additional privacy and API considerations.