~/Code/storefront — zsh
$ pnpm dev
> storefront@1.4.0 dev ~/Code/storefront
> vite --host 0.0.0.0

  VITE v8.0.4  ready in 318 ms

  ➜  Local:   http://localhost:3000/
  ➜  Network: http://192.168.1.42:3000/
  ➜  press h + enter to show help

9:41:08 AM [vite] page reload src/routes/+page.svelte

$ 
~/Code/orbit-api — zsh
$ pnpm run dev
> orbit-api@0.8.0 dev ~/Code/orbit-api
> wrangler dev --local

 ⛅️ wrangler 4.112.0
────────────────────
Your Worker has access to the following bindings:
env.DB (orbit-local)                                  D1 Database
env.ASSETS                                           Assets

⎔ Starting local server…
[wrangler:info] Ready on http://localhost:8787

$ 
~/Code/product-docs — zsh
$ pnpm preview
> product-docs@2.3.1 preview ~/Code/product-docs
> vite preview

  ➜  Local:   http://localhost:4173/
  ➜  press h + enter to show help

^C
Process stopped with SIGTERM.

$ 
~/Code/desktop-client — zsh
$ xcrun swift test
[12/12] Linking DesktopClientPackageTests
Build complete! (3.82s)
Test Suite 'All tests' started at 2026-07-24 09:36:21.114
Test Suite 'All tests' passed at 2026-07-24 09:36:22.907
Executed 48 tests, with 0 failures in 1.793 seconds.

$ 
~/Code/image-worker — zsh
$ pnpm wrangler dev
Your Worker has access to:
env.IMAGES (image-jobs)                               Queue
env.OUTPUTS (generated-images)                        R2 Bucket
[wrangler:info] Ready on http://localhost:8788
[wrangler:info] POST /v1/render 202 Accepted (18ms)
^C
Process stopped with SIGTERM.

$ 
~/Code/platform — zsh
$ pnpm db:studio
> platform@0.12.0 db:studio ~/Code/platform
> drizzle-kit studio

No config path provided, using drizzle.config.ts
Reading config file ~/Code/platform/drizzle.config.ts
Using sqlite driver

Drizzle Studio is up and running on https://local.drizzle.studio
Gateway listening on http://localhost:5555

$ 
~/Code/mobile — zsh
$ pnpm ios:dev
> expo start --ios
Starting project at ~/Code/mobile
Metro waiting on exp://192.168.1.42:8081
iOS Bundled 1241ms index.ts (1328 modules)
^C
Process stopped with SIGTERM.

$ 
~/Code/design-system — zsh
$ pnpm storybook
info => Starting manager..
info => Starting preview..
╭────────────────────────────────────────╮
│ Storybook 9.0.12 for svelte-vite ready │
│ Local: http://localhost:6006/           │
╰────────────────────────────────────────╯
^C
Process stopped with SIGTERM.

$ 
~/Code/platform — zsh
$ pnpm jobs:dev
> tsx watch src/jobs/consumer.ts
[jobs] connected to redis://127.0.0.1:6379
[jobs] listening on queue image-generation
[jobs] completed job gen_01JZH3Y7B8QF in 4.2s
^C
Process stopped with SIGTERM.

$ 
Shell Click

The macOS command launcher

Put every dev command one click away.

“Which folder was this for?” “Where is that server running?” “Why do I have four Terminal windows?”

What developers asked for most

Keep the convenience. Keep the terminal.

One saved command keeps its project folder, live shell, and detected ports together.

Saved command

~/Code/storefront — zsh ● Running
Folder remembered Real shell Port detected

Three steps, then one click

Save once. Run anytime.

● ● ●Choose Project Folder
1
ChoosePick your project folder.
● ● ●New Command
2
SaveKeep the command with its folder.
3
RunLaunch it from the menu bar.

MCP for coding agents

Give your agent a dependable way to run the project.

Shell Click gives Codex, Claude Code, and other MCP clients a shared command layer. An agent can save a command with its folder, run it, stop or restart it, and check its state—without guessing where it belongs.

01 Keep context intact

The command and project folder travel together.

02 Reuse known-good setup

Agents can use the same saved shortcuts you use throughout Shell Click.

03 Stay in control

Shell Click keeps the live terminal, ports, Start, and Stop visible.

Agent workflow Shell Click MCP
  1. 1
    Save the command pnpm dev ~/Code/storefront
  2. 2
    Run in the right folder Launches through Shell Click’s terminal session.
  3. 3
    Check what is running Query state, then stop or restart when needed.

Built around real searches

The command-line problems people are trying to solve

Each guide answers a concrete workflow developers have publicly asked for.

~/Code/my-app — zsh

A real interactive login shell

Not a fire-and-forget button

Shell Click initializes the command through your account’s interactive login shell. PATH, aliases, functions, and version managers stay available. The terminal remains usable before, during, and after the saved command runs.

  • Persistent private tmux session per command
  • Direct keyboard input and Control-C
  • SIGTERM stop behavior for the foreground process group
  • Bundled tmux—nothing else to install

Shell Click for macOS

From project folder to running process.

Buy it once. Keep every command and terminal session on your Mac.