Myelin
Sessions, memory, cost, and supervision for Claude Code, inside VS Code.
Claude Code writes everything it does to plain files under your Claude data folder: session transcripts, per-project memories, pre-edit file backups, plans, settings, and hooks. Myelin reads those files and turns them into something you can browse, search, share, and act on. Everything stays on your machine.
Features
Sessions
- Sessions view. Every session for the open workspace (or all projects), newest first, with title, date, estimated cost, and turn count. Open the raw transcript, resume in a terminal (optionally with
--dangerously-skip-permissions), export, or publish to your team from the row.
- Session timeline. Prompts, replies, tool calls with results, subagent traffic, and compaction points, newest first with filters and search. A chart shows context size and cumulative cost per API call. Files link into the editor; each edit has a history link into the time machine.
- Live session monitor. A status bar item shows what the current session is doing: which tool is running, whether Claude is thinking, or whether it is waiting for you. Click it to open a timeline that updates as the transcript grows. Optional notification when Claude is waiting and the window is not focused.
- Export, share, import. Export as a Claude Code transcript (importable and resumable elsewhere), a standalone HTML timeline, or a Markdown report. Redacted mode strips tool results, thinking, and credential-looking strings. Import a shared transcript into the current workspace with a fresh id.
- Transcripts open as timelines. Any
.jsonl under ~/.claude/projects opens in the Myelin timeline, whether you double-click it in the Explorer, pick it in Quick Open, or land on it from a search result. Open Transcript as Text (or the editor title button) shows the raw JSON.
- Empty and error states. The Sessions view explains what is wrong when the Claude folder is missing or unreadable, when no folder is open, or when the workspace has no sessions yet, each with the action that fixes it. Transcripts that cannot be parsed show up as a warning row under their project instead of vanishing.
Search and history
- Search prompts. Every prompt you ever typed, across all projects, with jump-to-the-moment in the timeline.
- Search all transcripts. Full-text over prompts, replies, tool inputs and results, streamed with progress and cancel.
- File time machine. Claude Code keeps a backup before every edit. Diff any version against the current file or the next version, or restore it. Available from the timeline, the editor context menu, and the explorer.
- Plans. Plan-mode documents with the session that wrote them, plus a plan-versus-actual comparison of files mentioned against files edited.
Memory
- Memories view. Memories per project with type, freshness, and health tags.
- Memory graph. Force-directed graph of memories and their
[[links]], single project or all projects with per-project clusters, dangling links and cross-project duplicates highlighted.
- Memory health report. Stale file references, duplicates, never-recalled memories, missing index entries, empty descriptions. Recall statistics from your sessions. Delete, create stubs, or ask Claude to merge two memories.
- Memory editor. Form editor with live link validation, preview, rename with link rewriting, and automatic
MEMORY.md maintenance.
Cost
- Status bar with today's estimated spend for the workspace and a per-project breakdown.
- Dashboard. Cost per day by project, tokens per day, cache hit rate over time, tool calls per day, cost per project, top sessions, compaction summary. Range and project filters.
Supervision
- Hooks bridge. One command installs Claude Code hooks that forward permission requests, notifications, and stop events to VS Code. Permission requests appear as notifications with Allow and Deny; pending approvals sit in the status bar. Uninstall removes only Myelin's entries.
- Voice. Spoken prompts for permission requests, waiting states, and (optionally) completed turns. On Windows, offline speech recognition accepts one-word answers such as "allow" or "deny". Destructive commands are never approved by voice.
Review and control
- Review mode. Everything a session changed, grouped by file and by the prompt that caused it, with unified diffs. Revert a file or a single hunk, or ask Claude to revise a hunk by resuming the session with a targeted prompt.
- Control tower. Every active session on the machine, across projects and worktrees, with state, context usage, cost, running tools, subagents, and background tasks. Pause and resume sessions through a PreToolUse hook.
- Cost guardrails. Daily and per-project budgets with status bar warnings, a month forecast, and an optional hard stop that denies tool calls once a budget is exceeded.
- Context warnings. A notification before the context window fills up, and a toast when compaction happens.
- Phone notifications. Forward permission requests, waiting states, and budget alerts through ntfy, Pushover, or a webhook. With a reachable callback, approve or deny from the phone; destructive commands can only be denied.
- Bookmarks. Star any prompt, reply, or tool call, add a note, filter to bookmarked events, and jump across sessions from one list. Notes travel with exports.
Reuse
- Turn a session into a skill. A heuristic draft of a SKILL.md from the prompts and tool sequence, optionally rewritten by Claude through your own Claude Code CLI, saved to user or workspace skills.
- Suggest memories. Detect corrections in prompts ("no, use X", "always", "never") and save them as feedback memories.
- Prompt library. Save, tag, reuse, and send prompts to the terminal; see your most reused prompts from history.
- Titles and summaries. Generate missing session titles and five-bullet summaries with the Claude Code CLI. No API key needed.
- Insights. Recurring failing commands, tool error rates, most edited files, retry loops, time-of-day and weekday patterns, session lengths, cache trend, and plain-language recommendations.
- Other agents (experimental). Read Codex CLI and Gemini CLI transcripts into the same timeline and Markdown export.
Experiments and comparison
- Compare sessions. Two sessions side by side: cost, turns, tool errors, cache rate, files, tools, overlaid cost curves, and a plain-language verdict. Export as Markdown.
- Prompt experiments. Variants of a prompt, runs attached to real sessions, per-variant means, and a winner line.
Worktrees and policy
- Worktree manager. Create a worktree for a task, start Claude in it, merge or discard when done, review the session that ran there.
- Policy packs. Shareable JSON rules: denied commands and paths, destructive-command blocking, permissions, budgets, required hooks. Enforced through the hooks bridge, published through the team folder. Three built-in packs included.
- Audit export. CSV or JSON Lines of sessions or individual tool calls for a date range, with secrets scrubbed and no tool result bodies.
Companion web app
Run npm run web:build && npm run web for a local web dashboard on the same data: sessions, timeline, control tower with approvals and pause, dashboard, memory graph, search. Loopback by default; a token is required to expose it on a network. See docs/web.md.
Configuration and team
- Configuration manager. Settings, permissions, hooks, MCP servers, skills, and plugins across user, project, and local scope. Edit permissions and settings, add or test hooks, toggle plugins. MCP credentials are masked.
- Team folder. A shared folder, normally a git clone, for publishing memories, skills, and redacted sessions. Browse and import your teammates' items, sync with one command.
Keyboard
In a session timeline: j/k or the arrow keys move between events, g/G jump to the ends, Enter opens the file behind a tool call or expands the row, o opens the raw transcript, b toggles a bookmark, / focuses search, f shows bookmarked events only, s flips the sort order, r resumes the session, Esc clears, and ? shows the list.
Anywhere in VS Code (use Cmd instead of Ctrl on macOS):
| Keys |
Command |
| Ctrl+Alt+M |
Pick a session |
| Ctrl+Alt+Shift+M |
Toggle the live monitor |
| Ctrl+Alt+Shift+L |
Open the live session |
| Ctrl+Alt+Shift+B |
List bookmarks |
| Ctrl+Alt+Shift+F |
Search all transcripts |
| Ctrl+Alt+Shift+T |
Open the current transcript as text |
Myelin: Keyboard Shortcuts opens the Keyboard Shortcuts editor filtered to Myelin so you can change any of these.
Usage statistics
Myelin: Open Usage Statistics shows which commands and pages you use, which you never touch, and which have gone quiet. The counters live in a single JSON file in VS Code's global storage on this machine and are never transmitted. Use the page to decide what to hide or keep before shipping to others; turn counting off with myelin.usage.enabled.
Getting started
Run Myelin: Setup Wizard from the command palette, or follow the Get Started walkthrough. The wizard chooses what to turn on: live monitor, hooks, voice, budgets, other agents, team folder, and status bar mode. One status bar item carries every Myelin signal; click it for the menu.
Cost estimates
Costs are computed from the token usage recorded in each transcript multiplied by the price table in the myelin.pricing setting. They estimate what the same traffic would cost on the Claude API. On a subscription, treat them as a relative measure.
Requirements
- VS Code 1.90 or newer.
- Claude Code installed and used at least once. Myelin looks in
~/.claude by default, or CLAUDE_CONFIG_DIR, or the folder set in myelin.claudeHome.
- For hooks:
node on the PATH that Claude Code uses.
- For voice input: Windows. Speech output works on Windows, macOS, and Linux with
spd-say or espeak.
Development
npm install
npm run build # bundle to dist/
npm test # unit tests
npm run watch # rebuild on change
node scripts/merge-contrib.js # merge contrib/*.json into package.json after adding commands
npm run package # produce a .vsix
Press F5 in VS Code to launch an Extension Development Host. See CLAUDE.md for the module layout.
License
MIT
| |