CapsJump

Caps Lock finally has a job.

Hold it, press G: GitHub, in your work Chrome profile.

Hold Caps Lock, then G GitHub in the Work profile, ← snap left, S Terminal, → snap right. A real recording at real speed; the keys are examples you choose.

G is an example you configure. Give GitHub a key.

Download for Mac
brew install --cask whysosuresh/tap/capsjump

Opens the latest GitHub release. Download the CapsJump ZIP under Assets.

Free and open source, for macOS 13 or later.

Chrome profiles

Give GitHub a key in your work Chrome profile. CapsJump brings a matching tab forward when it can find one. If no tab matches, it opens the page in that profile.

Apps

Caps + S and your terminal is just there. Not running? It starts. Hiding with no window? It opens one. No more fishing in the Dock.

Windows

Caps + an arrow sends the front window to that half of the screen: ← → ↑ ↓. Caps + F and it goes big. Rather other keys? Press the one you want, or turn any off.

Links

Caps + W drops you into a Slack channel, a Zoom room or any web page, in the app that owns the link. Bookmarks, but with legs.

See it

Rather click than write YAML? Pick Edit Config… in the menu bar and every key and site is right there.

The config window on Keys: a sidebar with Sites, Keys and Windows, every key as a keycap with the app's icon or the site's own icon and its account's picture, and the picked key, Caps Lock + G jumping to github, its key field saying Press a key and, under it, E already jumps to mail, you@work.com
Every key that takes you somewhere, on one list in keyboard order. To change a key, click it and press the new one, with Caps Lock or without; a key that's taken says what it does already. Type to search.
The config window on Sites: each site with its own icon, its Chrome account and that account's picture, its host and the keys that land there, a globe for a site Chrome hasn't shown yet, and github open with its Account menu showing each account with its picture
Each site with its own icon, its Chrome account (with the picture Chrome shows for it) and the keys that land on it. Rename one and its keys come along.
The config window on Windows: left half, right half, top half, bottom half and whole screen, each with its key, and Top half open with a picture of the screen's upper half and Caps Lock + up arrow
Every move a key can make, with the key that makes it. Press a new one, or Delete to turn it off.
Add Current Tab: a Figma tab becomes a site named figma, in the Work account with its picture, on Caps Lock + I
Page open in Chrome? Add Current Tab… names it, knows the account, offers a free key. Click Add.

One file, ~/.capsjump.yaml

Each key does one thing, and the window above saves straight to this file, checked by the same rules as you type. Prefer a text editor? Open Config File, and the file looks like this:

sites:
- name: github
  account: you@work.com
  open: https://github.com/your-org/your-repo/pulls

keys:
  s: {app: iTerm}
  t: {app: Finder}
  g: {site: github}
  left: {window: left-half}
  right: {window: right-half}
  up: {window: top-half}
  down: {window: bottom-half}
  f: {window: maximize}
  w: {url: 'slack://channel?team=T123&id=C456'}

Key names: a–z, 0–9, f1–f12 and the arrows. A file with no keys: leaves Caps Lock as it is.

Or ask your coding agent

Tell Claude Code, Codex, Cursor or another coding agent what you want, in your own words. With CapsJump's skill, it installs CapsJump if you don't have it yet, looks up your Chrome profiles instead of guessing an email, keeps your other keys, and has CapsJump check the file until it's clean. Then it tells you each new key in a line. Granting macOS permissions stays with you.

npx skills add whysosuresh/capsjump

Or, in Claude Code, as a plugin: /plugin install capsjump --marketplace whysosuresh/capsjump

Then ask, for example:

Caps Lock + G should open our pull requests in my work Chrome, and Caps Lock + S my terminal.

Install

Download

Download for Mac

Opens the latest GitHub release. Download the CapsJump ZIP under Assets.

Unzip it, move CapsJump.app to Applications, and open it.

Homebrew

brew install --cask whysosuresh/tap/capsjump
open -a CapsJump

Open source. CapsJump has no analytics. Quit CapsJump and Caps Lock works normally again.

Accessibility lets CapsJump handle your shortcuts and move windows. Chrome access lets it find and switch tabs. Configuration and saved icons are read locally; websites and apps you open make their own connections.

Set up your keys

Both routes open the same Welcome window, with three steps that tick themselves as you go:

  1. Let CapsJump hear Caps Lock. macOS asks with its own box: click Open System Settings there and turn CapsJump on. The step ticks the moment you do.
  2. Choose your keys. One click turns on the starter keys (the arrows snap the front window to a half, F fills the screen), or set up your own. While CapsJump has keys, Caps Lock no longer types capitals; Shift still does.
  3. Try it. Click any window, hold Caps Lock and press ←.

Notifications and Start at login have their own controls in the Welcome window. Close it whenever you like: CapsJump's mark in the menu bar carries a small dot until it's set up, and its menu starts with Finish Setting Up….

Give GitHub a key

G is an example you configure; the starter keys move windows.

  1. In the Welcome window, choose Allow… under Chrome accounts. If access was previously denied, choose Open Automation Settings instead.
  2. Open GitHub in the Chrome profile you want, then choose Add Current Tab… from CapsJump's menu.
  3. When the Account field is shown, confirm the intended profile; select it if it says Choose…. Assign G or another available key, then choose Add or Add Key.
  4. Hold Caps Lock and press the key you assigned.

Good to know