Skip to content

Session deep-linking (chatSessionId/terminalId) is undocumented and not exposed by the CLI #5029

Open

Description

@robertn702

Summary

The desktop app does support opening a specific agent session — superset://v2-workspace/<workspaceId>?chatSessionId=<sessionId> (chat) or ?terminalId=<sessionId> (terminal) focuses/creates that session's pane, the same mechanism automation-run links use. The problems are that this is undocumented, and the CLI gives you no way to produce such a link: agents run returns a sessionId but no URL, and superset workspaces open <id> emits only superset://v2-workspace/<id> with no session param.

Practical symptom: a session created with agents run syncs to the desktop but has no pane and isn't shown in any session list, so it's invisible until you hand-build the deep link.

Environment

  • CLI: superset v0.2.19
  • Desktop: Superset.app v1.12.1 (macOS, arm64)

Repro

  1. superset agents run --workspace <ws> --agent claude --prompt "…" → { "kind": "terminal", "sessionId": "<sid>", "label": "Claude" }.
  2. superset workspaces open <ws> → the workspace opens, but the new session is nowhere visible.

How it actually works (undocumented)

  • workspaces open builds superset://v2-workspace/<workspaceId> with no session info (packages/cli/src/commands/workspaces/open/command.ts).
  • The v2-workspace route already parses chatSessionId / terminalId / focusRequestId search params (validateSearch), and useConsumeAutomationRunLink focuses or adds the matching pane. The main-process deep-link handler passes query strings straight through to the renderer, so this works today:
# chat session (agent: superset → kind "chat")
open "superset://v2-workspace/<workspaceId>?chatSessionId=<sessionId>"

# terminal session (agent: claude/codex → kind "terminal")
open "superset://v2-workspace/<workspaceId>?terminalId=<sessionId>"

Optional &focusRequestId=<unique> forces a re-focus. The session must belong to the workspace in the URL.

Asks

  1. Document it — the superset:// scheme and the chatSessionId / terminalId params aren't documented anywhere. (A PR adding this to the CLI reference + the superset skill is in progress.)
  2. Expose it in the CLI so users don't hand-build URLs — e.g. superset workspaces open <id> --session <sessionId> (infer chat vs terminal from the session), or superset agents run … --open / return a ready-to-open url in the JSON output (like workspaces open already does).

Activity

  1. changed the title [-]CLI: no supported way to open a specific agent session created by "agents run"[/-] [+]Session deep-linking (chatSessionId/terminalId) is undocumented and not exposed by the CLI[/+] on Jun 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions