Schedule any webpage to open at a specific time.
Found an interesting article but don't have time now? Want to auto-join meetings without watching the clock? Later lets you schedule URLs to open exactly when you need them.
- Browse to any page
- Press
Option+L(or click the extension icon) - Pick a time — or use quick presets: In 1hr, Tonight, Tomorrow
- The page opens automatically at that time
That's it. No accounts, no cloud, everything runs locally.
- Quick presets — One click to schedule for common times
- Reschedule — Change your mind? Click edit and pick a new time
- Right-click any link — Schedule without opening it first
- Keyboard shortcut —
Option+L(Mac) /Alt+Shift+L(Windows/Linux) - Works offline — Everything runs on your machine
- macOS (Linux support coming)
- uv — fast Python package manager
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | shgit clone https://github.com/adagradschool/later.git
cd later/daemon
uv syncOption A: Run manually
cd daemon
uv run python -m later.mainOption B: Auto-start on login (recommended)
./launchd/install.shFirefox / Zen:
- Go to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on..."
- Select
extension/dist/firefox/manifest.json
Chrome / Arc / Edge:
- Go to
chrome://extensions - Enable "Developer mode"
- Click "Load unpacked"
- Select
extension/dist/chrome/
- Navigate to any webpage
- Press
Option+L - Click "In 1hr" or pick a custom time
- Wait for it to open!
Option+L(Mac) orAlt+Shift+L(Windows/Linux) opens the popup
- In 1hr — Opens 1 hour from now
- Tonight — Opens at 9 PM (or tomorrow if past 9 PM)
- Tomorrow — Opens at 9 AM tomorrow
Right-click any link → "Schedule for Later (1hr)"
In the popup, hover over a scheduled item and click ✎ to reschedule
Hover over a scheduled item and click × to remove it
┌─────────────────────┐ localhost:7432 ┌──────────────────┐
│ Browser Extension │ ◄──────────────────────► │ Daemon │
│ - Popup UI │ │ - FastAPI │
│ - Keyboard shortcut│ │ - SQLite │
│ - Context menu │ │ - Scheduler │
└─────────────────────┘ └──────────────────┘
- Extension — Captures URLs, provides scheduling UI
- Daemon — Stores schedules in SQLite, opens URLs at the right time
- Communication — REST API over localhost
# Run daemon in dev mode
cd daemon
uv run python -m later.main
# Rebuild extension after changes
cd extension
./build.sh# Stop and remove launchd service
./launchd/uninstall.sh
# Remove the extension from your browser manuallyMIT
