anthropics / anthropics/claude-code

[FEATURE] Let me find and resume Remote Control sessions locally: show them in /resume and add `claude rc list-sessions`

Abierto
#94,369 0 comentarios 1 reacción 0 asignados Ver en GitHub
area:cli enhancement
Lenguaje dominante
Python
Estrellas
145k
Forks
23.1k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

## Summary

When I run `claude rc` on my computer and start a session from my phone, I can never find that session again on the computer. `/resume` and `claude --resume` don't list it, and there is no command that does. The transcript is saved locally like any other session — the picker just hides it, and there's no way to look up its ID.

Proposed fix: show these sessions in `/resume` (marked as Remote Control sessions), and add `claude rc list-sessions` (or similar) that prints the local session ID, name, directory and first prompt, so `claude --resume ` / `claude rc --session-id ` become usable.

## Problem Statement

Sessions that the Remote Control server spawns for a phone/web client are written to `~/.claude/projects//.jsonl` with `"entrypoint":"sdk-cli"`. The resume picker filters every such session out. `claude --resume --debug-file …` confirms it:

```
Session ed9f1863-… filtered from /resume: entrypoint=sdk-cli
Session dcf41b86-… filtered from /resume: entrypoint=sdk-cli
Session 5f0da884-… filtered from /resume: entrypoint=sdk-cli
```

Consequences:

- `/resume`, `claude --resume` and Ctrl+A ("all projects") never show them — the same filter runs on every entry.
- `claude rc -c` only works for the last session and only for ~4 h.
- `claude rc --session-id ` and `claude --resume ` work, but nothing prints the ID. claude.ai/code lists the sessions but its URL uses a different id (`session_01K…`), not the local UUID.
- The only mapping is `~/.claude/sessions/.json` (`sessionId` ↔ `bridgeSessionId`), which is deleted when the process exits.

Today the workaround is grepping transcripts for `"entrypoint":"sdk-cli"` — not something a user should have to know.

## Proposed Solution

1. `/resume` and `claude --resume`: include `sdk-cli` sessions that were created by `claude remote-control` (they carry a `bridgeSessionId`), with a marker such as `· remote` in the row. If hiding headless SDK sessions is intentional for other SDK uses, scope the exemption to Remote Control-spawned ones.
2. `claude rc list-sessions` (or `claude rc --list`): print local session ID, session name (e.g. `my-repo-26`), cwd, status (if running), last modified, first prompt — for the current directory by default, `--all` for every project. Output should be usable directly with `claude --resume ` and `claude rc --session-id `.

## Alternative Solutions

- A flag `claude --resume --include-remote` / `--all-entrypoints` if changing the default is undesirable.
- Show the local session UUID somewhere in claude.ai/code / the mobile app.

## Environment

Claude Code 2.1.270 (also seen on 2.1.269), Linux, `claude rc` with default `--spawn same-dir`.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.