github / github/copilot-cli

/remote toggle stops working in long-running sessions; off/on cycle does not recover

Open
#3,358 1 comment 2 reactions 0 assignees View on GitHub
area:networking area:sessions
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

## Summary

`/remote on` appears to stop working partway through a long-running Copilot CLI session. Toggling `/remote off` then `/remote on` did not restore the connection — the GitHub mobile app continued to show the session as "off / not remote-enabled". The only working remediation was to abandon the session entirely and start a fresh one.

## Environment

- **Copilot CLI version:** 1.0.49-1
- **Platform:** macOS (Darwin)
- **Model in session:** `claude-opus-4.7-1m-internal`
- **Session length when issue surfaced:** very long (multi-day session with overnight scheduled prompts via `/schedule`)

## Steps to reproduce

1. Start a Copilot CLI session and enable `/remote on`.
2. Confirm the session shows as remote-enabled in the GitHub mobile app.
3. Let the session run for an extended period (in our case: multi-day, with `manage_schedule` background heartbeats firing every 30 min overnight).
4. Return to the GitHub mobile app and try to interact remotely.

## Expected

The session continues to appear as remote-enabled and accepts remote input from the GitHub mobile/web app.

## Actual

- The GitHub mobile app shows the session as "off" / not remote-controllable, even though `/remote` inside the CLI reports it as on.
- Toggling `/remote off` then `/remote on` from inside the CLI does **not** restore the link.
- No error message is shown on either side.
- Only workaround: end the session and start a new one, then `/remote on` from the fresh session.

## Impact

The whole point of `/remote` is to check in on long-running, possibly overnight work from a phone. Losing the link silently during exactly the kind of long sessions it's designed for defeats the feature. Starting over also loses in-memory session state (scheduled prompts via `manage_schedule` are session-scoped and end with the session — this compounds the cost of having to start over).

## Suggested investigation

- Is there a server-side heartbeat / WS keepalive that's timing out for long-idle sessions?
- Does `/remote on` re-register with the GitHub app side, or does it only flip a local flag?
- Is there a way to surface the broken link in the CLI so users don't think it's still working?

Happy to share more context (anonymized session ID, approximate timing) if useful.

Contributor guide

Open the contributing guide

Research direction

Start with the `/remote` command and the `manage_schedule` background-heartbeat behavior described in the issue. Reproduce a multi-day session, compare the CLI's reported state with the GitHub mobile app, and trace whether remote registration or keepalive state survives the long idle period. Done means the remote link remains usable, or the CLI clearly reports and recovers from a broken link.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.