한국어 · English
Claude 세션
Claude Code 세션을 그룹·핀·색상·이모지로 정리하는 VSCode 사이드바.
공식 anthropic.claude-code 확장 옆에 붙어서 동작하며, 세션을 열 때는 공식 확장의
claude-vscode.editor.open 커맨드를 그대로 호출한다. 공식 확장 파일은 건드리지 않는다.
비공식 커뮤니티 확장이다. Anthropic이 만들지도, 보증하지도, 후원하지도 않았다.
"Claude"와 "Claude Code"는 Anthropic PBC의 상표이며, 여기서는 이 확장이 무엇과 함께
쓰이는지 가리키기 위해서만 쓴다.
왜 TreeView가 아니라 웹뷰인가
VSCode 기본 TreeView는 두 가지 제약이 있다.
- 텍스트 입력이
showInputBox 뿐이고 항상 화면 상단 중앙에 뜬다. 위치 지정 API가 없다.
- 색상은 등록된 테마 색상 ID만 쓸 수 있다. 임의의 HEX 불가.
그래서 공식 Claude 확장과 같은 방식으로 사이드바 전체를 웹뷰로 그린다. 그 결과:
- 우클릭 메뉴가 커서 위치에 뜬다
- 그룹명 입력도 그 메뉴 안에서 끝난다 — 상단으로 튀지 않는다
- 색상은 임의의 HEX (기본 팔레트 10색)
기능
| 기능 |
조작 |
| 그룹(폴더) 만들기 |
툴바 + 또는 빈 곳/그룹 우클릭 |
| 그룹에 넣기 |
우클릭 → 그룹, 또는 드래그해서 그룹 헤더에 놓기 |
| 이름 바꾸기 |
우클릭 → 이름 바꾸기 (행에서 인라인 편집) |
| 색상 |
우클릭 → 스와치 클릭 (라벨 글자색이 바뀜) |
| 이모지 태그 |
우클릭 → 이모지 클릭 (라벨 앞에 원형 태그) |
| 상단 고정 |
우클릭 → 상단 고정. 고정 그룹이 항상 맨 위 |
| 보관 |
우클릭 → 보관. 맨 아래 보관 그룹으로 |
| 검색 |
제목 · 세션ID |
| 전문 검색 |
툴바 ⌕ 를 켜면 대화 내용까지 훑고 발췌를 보여줌 |
| 모든 프로젝트 |
빈 곳 우클릭 → 모든 프로젝트 보기 |
제목 규칙
공식 사이드바와 같은 우선순위를 쓴다 —
사용자지정 > AI제목 > 마지막 프롬프트 > 요약 > 첫 프롬프트.
첫 프롬프트만 쓰면, 앱이 고정 템플릿으로 자동 생성한 세션들이 전부 같은 이름으로 보여
중복처럼 보인다. 서브에이전트 세션(isSidechain)은 목록에서 제외한다.
저장 위치
핀·이름·색상·이모지·그룹은 VSCode globalState(로컬)에 저장한다.
setKeysForSync를 부르지 않으므로 클라우드로 동기화되지 않는다.
transcript 파싱 결과는 globalStorage/scan-cache.json에 mtime+size 키로 캐시한다.
첫 스캔만 비싸고 이후엔 stat 만으로 끝난다.
네트워크
없다. vscode, node:fs, node:path, node:os, node:readline 만 쓴다.
설치
마켓플레이스에서 Claude 세션을 검색하거나:
code --install-extension futuresoft2002.claude-sessions-sidebar
소스에서 빌드
npx --yes @vscode/vsce package
code --install-extension claude-sessions-sidebar-0.1.0.vsix --force
그 다음 Developer: Reload Window.
한국어 · English
Claude Sessions
A VSCode sidebar that organizes Claude Code sessions with groups, pins, colors, and emoji.
It runs alongside the official anthropic.claude-code extension, and opens sessions by
calling that extension's own claude-vscode.editor.open command. It never touches the
official extension's files.
This is an unofficial community extension. It is not built, endorsed, or sponsored
by Anthropic. "Claude" and "Claude Code" are trademarks of Anthropic PBC, used here only
to indicate what this extension is meant to be used with.
Why a webview instead of a TreeView
VSCode's built-in TreeView has two limitations:
- Text input is limited to
showInputBox, which always appears at the top center of the window. There is no API to position it.
- Colors are restricted to registered theme color IDs. Arbitrary HEX values are not possible.
So the whole sidebar is drawn as a webview, the same approach the official Claude extension
takes. The result:
- The context menu opens at the cursor
- Group names are typed inside that menu — no jumping to the top of the window
- Colors are arbitrary HEX (10 in the default palette)
Features
| Feature |
How |
| Create a group (folder) |
Toolbar +, or right-click empty space / a group |
| Move into a group |
Right-click → group, or drag onto a group header |
| Rename |
Right-click → Rename (inline edit in the row) |
| Color |
Right-click → click a swatch (changes the label text color) |
| Emoji tag |
Right-click → click an emoji (round tag before the label) |
| Pin to top |
Right-click → Pin. The pinned group always stays at the top |
| Archive |
Right-click → Archive. Moves to the archived group at the bottom |
| Search |
Title · session ID |
| Full-text search |
Toggle the toolbar ⌕ to search conversation content and show excerpts |
| All projects |
Right-click empty space → show all projects |
How titles are chosen
Same priority order as the official sidebar —
custom > AI-generated > last prompt > summary > first prompt.
Using the first prompt alone makes every session the app auto-generates from a fixed
template show up under the same name, so they all look like duplicates. Subagent sessions
(isSidechain) are excluded from the list.
Where data is stored
Pins, names, colors, emoji, and groups live in VSCode globalState (local).
setKeysForSync is never called, so none of it syncs to the cloud.
Parsed transcript results are cached in globalStorage/scan-cache.json, keyed by
mtime + size. Only the first scan is expensive; after that it is just a stat.
Network
None. It uses only vscode, node:fs, node:path, node:os, and node:readline.
Install
Search the marketplace for Claude 세션, or:
code --install-extension futuresoft2002.claude-sessions-sidebar
Build from source
npx --yes @vscode/vsce package
code --install-extension claude-sessions-sidebar-0.1.0.vsix --force
Then run Developer: Reload Window.