Skip to content

Session history not discoverable - no persistent sidebar, Ctrl+S conflicts with editor #35426

Closed as not planned

Description

@naliduoyuhang

Problem

Finding previous chat sessions is unnecessarily difficult. Every time I restart opencode, I land on a fresh chat interface with no visible indication that past sessions exist.

Issues found:

  1. No persistent session history sidebar - There is no always-visible panel showing past sessions. The only way to access history is through a modal dialog, which is not discoverable.

  2. Ctrl+S keybinding conflicts with editor - The source code maps Ctrl+S to both "send message" (when editor is focused) and "switch session" (when editor is unfocused). Since the editor is focused by default, users have to know to press Esc first, then Ctrl+S. This is unintuitive.

  3. README documentation is wrong - The README claims Ctrl+A opens the session switcher, but the source code (internal/tui/tui.go) binds Ctrl+S, not Ctrl+A. There is no Ctrl+A binding anywhere in the codebase.

  4. Session dialog only shows 10 items - Even when the dialog opens, it limits display to 10 sessions. With 40+ sessions, scrolling through them is tedious.

Suggested improvements:

  • Add a persistent sidebar or panel on the home screen listing recent sessions
  • Change the "switch session" keybinding to avoid conflict with the editor's send action (e.g., Ctrl+R for recent, or Ctrl+Shift+S)
  • Fix the README to document the correct keybinding
  • Consider adding a search/filter feature to the session dialog

Environment

  • OS: Windows 10/11
  • opencode version: 1.17.9
  • Terminal: PowerShell / CMD

Activity

  1. github-actions commented on Jul 5, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:


    For keybind-related issues, please also check our pinned keybinds documentation: #4997

  2. jazzyalex commented on Jul 15, 2026

    @jazzyalex

    The data behind this is fine — every session is in ~/.local/share/opencode/opencode.db (older ones as JSON under storage/session); it's the in-TUI modal that's the bottleneck. opencode session list --format json is the scriptable route if you just want to dump them.

    For a persistent, searchable view I build Agent Sessions, a free MIT macOS app that reads that history into a full-text-searchable list with readable transcripts and one-click resume into your terminal. Disclosure: I'm the author, macOS-only — https://github.com/jazzyalex/agent-sessions.

  3. wsaaaqqq commented on Jul 22, 2026

    @wsaaaqqq

    The discoverability issue resonated. For the specific pain of finding old sessions (especially across projects), I built a small TUI tool:

    https://github.com/wsaaaqqq/oos

    It searches all OpenCode sessions at once -- type a keyword, see matches from every project instantly, Enter to jump back in. No need to remember which project it was in.

    Not a full sidebar solution, but solves the "where was that conversation" problem today. Happy to take feedback.

  4. github-actions commented on Sep 22, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions