Skip to content

Serve the local JSON-RPC server in every interactive session #5414

Description

@kasrakhosravi

Describe the feature or problem you'd like to solve

An interactive copilot window serves its JSON-RPC server on loopback only when it starts with --ui-server. --help does not list that flag, and no setting turns it on. So a tool on the same machine cannot reach a window that a person opened as plain copilot.

Proposed solution

  • A setting (for example "uiServer": true in settings.json) or an environment variable that starts the embedded server in every interactive session.
  • Document --ui-server, and write its port where a local client can find it (for example beside inuse.<pid>.lock).

Example prompts or workflows

  1. From a phone, queue a follow-up into the window that is open on the laptop (session.send, mode: enqueue).
  2. Steer a running turn from another app (session.send, mode: immediate).
  3. Stop a runaway turn from another device (session.abort).

Additional context

Copilot CLI 1.0.109, macOS arm64. session.send, session.abort and session.model.switchTo work today over --ui-server. The request is only to make that server available in every interactive window, loopback only.

Related: #3301 asks for a browser UI. This request is smaller: the server that --ui-server already starts, in every window.

Activity

  1. added
    area:configurationConfig files, instruction files, settings, and environment variables
    area:sessionsSession management, resume, history, session picker, and session state
    and removed on Nov 15, 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

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:sessionsSession management, resume, history, session picker, and session state

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions