npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

resession

v0.3.3

Published

Global LRU session picker for Claude Code & Codex — list every session across all projects by most-recent-use and resume natively.

Downloads

1,276

Readme

resession

A lightweight, global LRU session picker for Claude Code and Codex CLI. One command lists every session across all your projects — sorted by most-recent-use — and resumes the one you pick natively, in its original directory.

No more cd-ing into the exact worktree just to find a conversation in the built-in project-scoped /resume.

npx resession

Why

Claude Code and Codex both store sessions as JSONL files on disk (~/.claude/projects/**, ~/.codex/sessions/**). Their built-in resume pickers are scoped to the current project. But the way you actually think about sessions is "the thing I was just working on" — LRU. resession reads those files directly, sorts by file mtime, and hands the chosen session straight back to the real agent.

Usage

resession              open the interactive picker (newest first)
resession ls           print the recency-sorted table, no TUI
resession <n>          resume the n-th session from the list
resession <id>         resume by sessionId (or file name)

Options:

| Flag | Meaning | |------|---------| | --here | Only sessions from the current git repo's worktrees | | --all | Parse/show every session (default: newest 50) | | --limit <N> | Cap how many sessions to show/parse | | --local | Only local sessions (ignore remote) | | --remote | Only remote sessions | | --json | (with ls) print raw JSON instead of a table | | --dry-run | Print the resume command instead of executing it | | -h, --help / -v, --version | Help / version |

In the picker: type to fuzzy-filter (by project, title, branch, agent), arrow-keys to move, Enter to open, Esc/Ctrl-C to cancel.

Cross-device sync (optional)

By default resession is purely local. If you run a small sync server (see server/), you can view sessions from all your machines on any device.

resession login <url> <token> [--device <name>]   # connect to your server
resession push                                     # upload this machine's sessions
resession pull                                     # refresh the remote session list
resession logout                                   # disconnect

After pull, resession ls / the picker show a device column. Sessions from other machines are marked ☁ and are read-only: pressing Enter downloads the transcript and opens it in your pager (it does not try to resume on the wrong machine). Local sessions behave exactly as before — fully resumable. Not logging in changes nothing.

Why read-only for remote: a session is bound to its original cwd, code, and git state. Viewing the history across devices is reliable; resuming "the work" on a machine that lacks that workspace is not, so it is intentionally not offered.

How resume works

| Session source | Command run (in the session's original cwd) | |----------------|---------------------------------------------| | Claude | claude --dangerously-skip-permissions --resume <id> | | Codex | codex --dangerously-bypass-approvals-and-sandbox resume --cd <cwd> <id> |

resession inherits your terminal so you land directly inside the live agent, then exits with the agent's exit code. v1 is native-only (Claude sessions resume with Claude, Codex with Codex).

Environment overrides

Honors the same overrides as the underlying tools:

  • CLAUDE_CONFIG_DIR / CLAUDE_HOME — Claude home (default ~/.claude)
  • CODEX_HOME — Codex home (default ~/.codex)

Requirements

  • Node.js ≥ 18
  • claude and/or codex on your PATH (whichever you want to resume)

License

MIT