anthropics / anthropics/claude-code
Desktop app: /resume shows every session as "Untitled session" with no preview
- Ngôn ngữ chính
- Python
- Star
- 145k
- Fork
- 23.1k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
### Preflight Checklist
- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
### What's Wrong?
## What happens
In the desktop app, `/resume` lists every past session as "Untitled session". The preview
pane on the right says "Couldn't load the preview." for all of them. The only thing that
tells one row from another is its timestamp.
The same sessions show correct titles in the VS Code extension, and in the desktop app's own
sidebar.
## Environment
- Windows 11
- Claude desktop app, Code tab
- CLI bundled with the app: 2.1.260, at `%APPDATA%\Claude\claude-code\2.1.260\claude.exe`
- VS Code extension: 2.1.266
## The titles are already on disk
Session transcripts under `~/.claude/projects//*.jsonl` carry title records:
```
{"type":"ai-title","sessionId":"...","aiTitle":"..."}
{"type":"custom-title","sessionId":"...","customTitle":"..."}
{"type":"last-prompt","sessionId":"...","lastPrompt":"..."}
```
In one project folder holding 84 transcripts, 75 have an `ai-title` record, 15 have a
`custom-title` record, and 81 have a `last-prompt` record. Across all my project folders,
147 transcripts, not one contains a `{"type":"summary"}` line.
The resume dialog shows every one of them as untitled.
## The app's own stored titles are ignored too
The desktop app keeps a record per session at
`%APPDATA%\Claude\claude-code-sessions\\\local_.json`. Each record has a
`title` field and a `cliSessionId` field pointing at the transcript.
One of my sessions has such a record, with a title the app generated itself and shows
correctly in the sidebar. That same session appears as "Untitled session" in `/resume`. So
the dialog reads neither the transcript records nor the app's own store.
## Where the two strings come from
Neither string is in the CLI that the app bundles. Counting plain string matches in
`claude.exe` 2.1.260:
| String | Matches |
| --- | --- |
| `aiTitle` | 14 |
| `lastPrompt` | 6 |
| `Untitled session` | 0 |
| `Couldn't load the preview` | 0 |
The CLI knows about the title fields and never emits either string. Both come from the app's
own interface, so updating the CLI does not help.
## What the VS Code extension does instead
`extension.js` in 2.1.266 builds each history row's label as:
```
title = customTitle || aiTitle || lastPrompt || summary || firstPrompt
```
It reads the head and tail of each transcript, and falls back to the first user message when
no title record is present. That is why its history list reads correctly against the same
files.
### What Should Happen?
## Expected
The resume dialog should fall back the same way: the app's stored title, then `custom-title`,
`ai-title`, `last-prompt`, then the first user message. Any one of those four would have
produced a usable label for all 84 of my sessions.
### Error Messages/Logs
```shell
```
### Steps to Reproduce
## Steps to reproduce
1. Run some sessions from the VS Code extension so transcripts build up in a project folder.
2. Open the same folder in the desktop app.
3. Run `/resume` and pick "This folder".
Every row reads "Untitled session", and the preview pane fails to load for each one.
### Claude Model
None
### Is this a regression?
Yes, this worked in a previous version
### Last Working Version
_No response_
### Claude Code Version
2.1.263
### Platform
Anthropic API
### Operating System
Windows
### Terminal/Shell
Other
### Additional Information
_No response_
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start by reproducing in the desktop app with /resume against transcripts in ~/.claude/projects//*.jsonl and session records under %APPDATA%\Claude\claude-code-sessions\\\. Use the VS Code extension.js behavior as the reference described in the issue. Done means /resume shows usable stored or transcript-derived titles instead of "Untitled session" and the preview no longer fails for those sessions.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript, vscode
- Lĩnh vực
- desktop, developer-experience
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 55/100