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

session-planner

v1.1.6

Published

Schedule Hello! Claude Code sessions at specific times. Opens a session N hours before your chosen time.

Readme

🕐 SessionPlanner

CI npm

This tool helps maximize your Claude Code session duration by opening sessions ahead of time. Starting a session earlier ensures that if you hit a usage limit, the next reset time is already much closer (or has already passed), effectively eliminating idle waiting time.

How it works

Schedule "Hello!" Claude Code sessions at times you choose — opening Claude N hours before each target time. Works as a terminal CLI, an npx one-liner, or a Claude Code plugin.

📦 Available on npm: session-planner

The "Session Hack" Explained

session_planner_hack_infographic_1775344203921 session_planner_hack_final_illustration_1775343574461


Quick start — terminal / npx (no install needed)

npx session-planner hello 1am
npx session-planner hello 9am 2pm 6pm
npx session-planner hello 14:00 --offset 2h
npx session-planner list
npx session-planner remove 2pm
npx session-planner remove --all
npx session-planner help

Install globally (optional)

npm install -g session-planner
session-planner hello 1am

Install as a Claude Code plugin

/plugin marketplace add MahmoudMabrok/SessionPlanner
/plugin install session-planner@mahmoudmabrok-sessionplanner
/reload-plugins

Then inside Claude Code:

/session-planner:hello 1am
/session-planner:hello 9am 2pm --offset 2h
/session-planner:hello-list
/session-planner:hello-remove 2pm

How it works

npx session-planner hello 1am
        │
        ▼
bin/session-planner.js   (Node.js CLI)
        │
        ▼
scripts/hello-scheduler.sh   (bash)
        │
        ├── Target:   1:00 am
        ├── Offset:   4h (default)
        ├── Session:  9:00 pm  ← cron fires claude here
        │
        └── 0 21 * * *  claude --print "Hello! It is now 1:00 am..."

| Layer | What | Persists after terminal close? | |---|---|---| | cron | claude --print at session time | ✅ Yes | | /loop | In-session reminder (Claude Code only) | ❌ Session-bound |


Time formats

| Input | Means | |---|---| | 1am | 1:00 AM | | 12am | Midnight | | 12pm | Noon | | 2:30pm | 2:30 PM | | 14:30 | 2:30 PM |


Options

| Flag | Default | Description | |---|---|---| | --offset Nh | 4h | Open session N hours before target |


Requirements

| Tool | Required for | Notes | |---|---|---| | Node.js ≥ 14 | npx / global install | nodejs.org | | Claude Code | Scheduling sessions | claude must be in PATH — install | | Bash 4+ | Running the script | Pre-installed on Linux; see below for macOS/Windows | | cron | Persistent scheduling | Built-in on macOS & Linux; not available on Windows |

macOS

Everything is pre-installed

Linux

Install cron if it's not already running:

# Debian / Ubuntu
sudo apt install cron
sudo systemctl enable --now cron

# Fedora / RHEL
sudo dnf install cronie
sudo systemctl enable --now crond

For desktop notifications, install libnotify:

sudo apt install libnotify-bin    # Debian / Ubuntu
sudo dnf install libnotify        # Fedora

Windows

[!WARNING] cron is not available on native Windows. Session scheduling will not work in Git Bash or PowerShell.

Use one of these alternatives:

  • WSL (recommended): Install WSL 2 with Ubuntu, then use session-planner inside WSL — cron works normally there.
  • Task Scheduler: For advanced users, you can create a Task Scheduler entry manually to run claude --print at your chosen time.

🔐 Permissions (macOS)

To ensure session-planner can schedule jobs and show notifications without prompting every time, grant your terminal (Terminal or iTerm) the following:

  1. Full Disk Access: Go to System Settings > Privacy & Security > Full Disk Access and add your terminal. This is required for crontab to save your schedule.
  2. Notifications & Sound: The tool uses osascript for visuals, afplay for a sound alert, and say for a voice greeting to ensure you don't miss your session start! Ensure your volume is up.

Logs: ~/.claude/session-planner.log


Repo structure

SessionPlanner/
├── scripts/
│   └── hello-scheduler.sh         ← core scheduling logic
├── commands/
│   └── hello.md                   ← command definition
├── session-planner.js             ← npx / global CLI entry
├── package.json
└── README.md

Publish to npm

npm login
npm publish
# users then run: npx session-planner hello 1am

License

MIT