Mobile Devices row stays "Active" after remote-control session ends and after machine power-off (server-side presence does not reconcile)

Open 💬 1 comment Opened Jul 15, 2026 by iam6ft7in

Summary

The Claude mobile app shows a paired machine as "Active" in the Code area's
Devices row long after every local process that could assert presence is gone,
and even while the machine is physically powered off. "Log out of all sessions"
in web Settings clears the separate Trusted-devices list but does not clear this
presence row.

Environment

  • Machine: Windows 11 Pro (26200), hostname <REDACTED-HOST>
  • Claude Code CLI 2.1.210
  • Presence created by running claude remote-control (the persistent

remote-control server subcommand)

  • Claude desktop app package: Claude_1.20186.0.0 (ships the CoworkVMService

service, cowork-svc.exe)

  • Mobile app: Code area, Devices row plus Today session cards

What registers presence (mechanism)

claude remote-control runs as a persistent server that registers the machine
with claude.ai for remote control from a browser or the mobile app. Running it
is what puts the machine in the mobile Devices row as "Active."

The registration is server-side and does not depend on that server staying
alive. After the claude remote-control server exits and every claude.exe
process is gone, the Devices row still reads "Active." Captures taken at that
point show no Claude process running at all (claude_exe_count = 0), so nothing
local is holding a connection to Anthropic, yet presence persists. It also
persists while the
machine is powered off. So the row reflects a stale server-side registration,
not a live device.

Two local processes are easy to mistake for the cause and are not:

  • cowork-svc.exe (the CoworkVMService service from the desktop app)

auto-starts at boot and runs continuously, but holds zero network sockets, so
it is not what registers or maintains presence.

  • An interactive claude --remote-control <name> session does hold a live

connection to Anthropic while it runs, but the stale presence in this report
outlives every such process, so a live connection is not required to keep the
row "Active."

Steps to reproduce

  1. Run claude remote-control in a working directory. Confirm the machine shows

"Active" in the mobile Devices row.

  1. Stop the server and close the shell so no claude.exe remains. Confirm no

process holds a connection to Anthropic (see verification below).

  1. Observe the mobile Devices row. It still shows the machine as "Active" with

"No sessions found. All sessions are archived."

  1. Power the machine off (Start > Shutdown). While it is off, observe the mobile

Devices row again. It still shows "Active."

Verification method

A small PowerShell capture records, at each step, every Claude-family process
(with its established remote endpoints when any are running), plus the machine's
last boot time and local and UTC capture times. The key field is
claude_exe_count (the number of claude.exe processes running). A capture
showing claude_exe_count = 0 taken at the same instant the Devices row reads
"Active" demonstrates the presence is not backed by any local process.

Machine-off timing was cross-checked against the Windows System event log:

  • Event ID 1074 (User32): deliberate Start > Shutdown, "power off."
  • Kernel-Boot Event ID 27: BootType 0x1 on return, that is a Fast Startup

hybrid resume.

The window between the shutdown event and the resume event is the interval when
the machine had no power. Mobile screenshots whose clock falls inside that
interval show the machine off and the row still "Active."

Observed timeline (one run)

  • Pre-session-end capture and post-power-on capture both show

claude_exe_count = 0 and remote_control_pwsh_cnt = 0 (no claude.exe, no
remote-control process running).

  • Event log: shutdown at 10:59:39, hybrid resume at 11:08:52 (about 9 minutes

with no power).

  • Mobile screenshots at 11:07 (inside the off window) show the machine off and

the Devices row still "Active."

  • The Devices row read "Active" continuously across roughly 27 minutes with no

local presence owner at any point.

Note on boot time: the OS LastBootUpTime did not advance across the power
cycle. That is expected with Windows Fast Startup, which hibernates and resumes
the kernel session (BootType 0x1) rather than performing a cold boot (BootType
0x0), so it is not evidence that the machine stayed awake. The event log
confirms the real power-off window independently.

Client-side state ruled out (mobile)

The Active status is not coming from stale mobile client state. On the phone I
cleared the Claude app cache, then cleared app storage, uninstalled the app,
restarted the phone, reinstalled the app, and signed in again. The Code section
still lists <REDACTED-HOST> and still shows it Active. A fresh install with no
local state pulls the same Active status, so the source is server-side.

Timing caveat: during this teardown the machine had a live claude
remote-control session running, so Active at that instant is also consistent
with a legitimate live presence. The decisive stale-presence evidence remains
the earlier captures, where the machine had no Claude process running at all
(claude_exe_count = 0) and was powered off, yet the
row still read Active. Taken together: the machine-side captures rule out a
local process backing the presence, and the reinstall rules out mobile-side
cache, so the row is served purely from server state on both ends.

Expected behavior

After the remote-control session ends, and certainly after the machine is
powered off, the Devices row should reconcile and stop showing the machine as
"Active" within a reasonable timeout. There should also be a way to clear or
remove a stale device from the mobile app.

Actual behavior

The row remains "Active" with no local process asserting presence, including
while the machine is powered off. "Log out of all sessions" in web Settings
empties the Trusted-devices list but leaves this presence row unchanged, which
indicates the two are backed by separate server-side state.

Impact

The Devices row cannot be trusted to reflect whether a machine is actually
reachable. A user glancing at it may believe a powered-off machine is online and
available for a new remote session. There is no user-facing control to clear a
stale device entry.

Relationship to #37321

#37321 reports remote-control environments that cannot be cleared and presence
that does not reconcile. This report isolates the same non-reconciling
server-side presence with a clean, timestamped process-and-network capture plus
an event-log-verified power-off, and it identifies the trigger: presence is
registered by the claude remote-control persistent server and then survives
that server exiting, all claude.exe processes ending, and the machine powering
off.

Suggested fixes

  • Reconcile the mobile Devices presence row against connection liveness, with a

bounded timeout after the last heartbeat.

  • Provide a user-facing action to remove or clear a device from the mobile

Devices list.

  • Make "Log out of all sessions" also drop presence rows, or document why the

Trusted-devices list and the Devices presence row are separate.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗