Skip to content
    ↑↓ select↵ openesc close
    sim590

    Session Migrate

    opencode-session-migrate·v0.2.1·UI & Themes

    opencode TUI plugin to migrate (re-parent) sessions across projects and rescue orphaned sessions

    GitHub stars

    4

    +2 in 30 days

    Monthly installs

    74

    13 in 7 days

    Composite score

    38.6

    Multi-signal model

    Last commit

    1 month ago

    2026-08-25

    Install and configure

    opencode.json

    Writes to this project's opencode.json — applies to this repository only.

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-session-migrate@0.2.1"]
    }

    OpenCode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.

    A opencode TUI plugin to migrate sessions between projects and rescue orphaned sessions.

    Features

    • List sessions across all projects, not just the current one.
    • Detect orphaned sessions (directory no longer exists on disk, or a global session whose directory lives inside a known project worktree).
    • Migrate a session to another project, worktree, or your home directory.
    • Migrate child (forked) sessions along with the parent.

    Requirements

    • opencode >=1.18.0 (TUI plugin API)

    Installation

    npm

    opencode plugin -g opencode-session-migrate
    

    Or add it to your tui.json:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": ["opencode-session-migrate"]
    }
    

    Local path

    Point directly at the plugin file:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": [
        ["/path/to/opencode-session-migrate/src/index.tsx", { "keybind": "ctrl+o" }]
      ]
    }
    

    Restart opencode after changing your config.

    Usage

    • Press ctrl+o anywhere, or run /migrate (or find "Migrate sessions" in the command palette).
    • Pick a session, then a destination: the current project, your home directory, or any other project.

    Options

    Option Type Default Description
    enabled boolean true Set to false to disable the plugin.
    keybind string "ctrl+o" Key binding that opens the migrate dialog.
    debug boolean false Write debug logs to /tmp/opencode-session-migrate.log.

    How it works

    • Orphans are detected client-side by checking whether each session's directory still exists on disk, or whether a global session's directory lives inside a known project worktree.
    • Migration updates project_id and directory (and clears path/workspace_id) directly in the opencode SQLite database, including child sessions.

    Limitations

    • Migration writes straight to the database, bypassing opencode's event system. The built-in session list may stay stale until a resync or restart; the plugin re-lists correctly on its own.
    • The ctrl+o hint does not appear in the built-in session list footer (the plugin API does not allow extending it). Use the command palette or /migrate if you forget the binding.

    License

    MIT

    Similar plugins