{
  "markdown": "<div align=\"center\">\n\n# claudestrophobic\n\n*Because `064ddd26-9a3f-...` is not a name.*\n\n<a href=\"https://github.com/urav06/claudestrophobic/stargazers\"><img src=\"https://img.shields.io/github/stars/urav06/claudestrophobic?style=social\" alt=\"Stars\"/></a>\n\n<img src=\"https://img.shields.io/badge/Claude_Code-Plugin-5A67D8\" alt=\"Claude Code Plugin\"/>\n<img src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"MIT License\"/>\n<img src=\"https://img.shields.io/badge/context_overhead-zero-black\" alt=\"Zero context overhead\"/>\n\n<br>\n\n<img src=\"https://github.com/user-attachments/assets/9f6ad16c-1b13-4336-81d5-faea0eb3eedd\" alt=\"demo\" width=\"680\"/>\n\n</div>\n\n---\n\nClaude Code has no built-in way to see, name, or delete your past sessions. They accumulate forever. **claudestrophobic** gives you the controls: list and delete sessions, prune the old ones, and clear out whole projects you've finished, all from the terminal. It ships as skills instead of MCP tools, so it costs **zero tokens** of context until you call it.\n\n## Why\n\nOn claude.ai, every conversation sits in a sidebar. Named. Browsable. Deletable. Claude Code keeps the very same conversations as opaque UUID files under `~/.claude/projects/`, with nothing built in to manage them. The [request to fix that](https://github.com/anthropics/claude-code/issues/13514) has been open for over ten months, unanswered.\n\nThis is that sidebar, brought to your terminal.\n\n## Install\n\n```\n/plugin marketplace add urav06/claudestrophobic\n/plugin install claudestrophobic@claudestrophobic-marketplace\n```\n\n## Usage\n\n**`/sessions`** works inside the project you're in:\n\n```\n/sessions                             # list this project's sessions\n/sessions delete the one about auth   # delete by description; the model finds the match\n/sessions delete 064ddd26             # or by UUID prefix\n/sessions prune --older 2w            # drop everything older than two weeks\n/sessions browse                      # open the project's folder\n```\n\n**`/projects`** works across all of them, from the outside:\n\n```\n/projects                             # every project: session count, size, live or orphaned\n/projects nuke old-project            # preview what nuke would remove\n/projects nuke old-project --confirm  # remove it: sessions, memory, history, folder, to Trash\n```\n\n## How it works\n\n- **Names** come from each session's own transcript, the same chain Claude Code's resume picker uses: your `/rename` title, then the auto-generated one, then the first prompt.\n- **Deletion** clears a session's whole footprint: transcript, subagent data, file history, session environment, and its rows in `history.jsonl`.\n- **Projects** are keyed by their real working directory, read from the transcript rather than the lossy encoded folder name. That is how it finds sessions stranded when you delete a project folder, which Claude Code never cleans up on its own.\n- **`nuke`** retires a finished project in one move: every session, its memory, its history, the directory. It refuses the project you are in and any with a live session.\n- **Safety** is the default. Active sessions are read from lock files and left untouched. History rewrites are atomic, so a session running alongside never sees a half-written file. Everything removed goes to the system Trash where one exists, with `rm` as the fallback. macOS and Linux.\n- **Zero tokens.** Skills load only when you call them. An MCP server with these features would crowd every prompt you send; this stays out of your context until you ask. The whole thing is a few hundred lines of dependency-free Python.\n",
  "bytes": 3595,
  "sha": "8a55a73d4422d1e1c6e0230aa98a8984c75a988954dd742e70bc4ca3a94f847e",
  "repo_slug": "urav06/claudestrophobic",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_urav06_claudestrophobic_claudestrophobic_037cd21e/readme"
}