cc-picker
Explain it

A project launcher for Claude Code on Linux

Every project gets its own drawer.

Pick a folder from a list, and Claude Code starts right inside it – with that project as its working folder, instead of wherever your terminal happened to be.

Lists ~/claude-projects, recent first, opens a terminal in the chosen folder and starts claude there. Pure Bash; zenity, kdialog or yad for the window.

← pull out a folder to try it

(demo – nothing is launched)

Why bother?

Claude Code treats the folder it starts in as your project. Starting it in the right one should take one click.

claude operates on its working directory. cc-picker turns that directory into a deliberate choice.

Without cc-picker

  1. Open a terminal
  2. Remember where the project lives
  3. Type the path to get there
  4. Start Claude Code – and hope it's the right folder
$ cd ~/code/clients/acme/webapp   # or was it ~/dev?
$ claude
# …or forget the cd and start in ~

With cc-picker

  1. Click the icon
  2. Pick the project – recent ones are on top
  3. Claude Code is running in the right folder
$ cc-picker
# pick → terminal opens in ~/claude-projects/<name>
#      → exec claude

What it does

Three things, done well.

One Bash script. No background service, no network code, no dependencies beyond a dialog tool and a terminal.

Pick

A list of your projects. The ones you used lately sit on top, with “2 h ago” or “yesterday” next to them.

Recent list in ~/.local/state/cc-picker/recent (max. 50). Deleted folders are skipped, hidden ones aren't listed.

…or create

Starting fresh? Type a name. Code already online? Paste its address and it's downloaded for you.

Name validation (no /, no leading ./-). Optional git clone with a progress dialog; failures show git's reason and leave no empty folder.

Start

A terminal opens in that folder with Claude Code already running. Quit Claude, and you're still in the right place.

Commands are %q-quoted; works with gnome-terminal, konsole, xfce4-terminal, alacritty, kitty and xterm.

Two ways to choose

Click through a window, or type a number – whatever feels natural.

The window is the default; --shell-mode or CC_PICKER_MODE=shell for the menu. No dialog tool installed? It falls back to the menu automatically.

The cc-picker window: a list of projects with a “Last used” column and Start and Cancel buttons
The window. Opens when you click the icon in your app menu.
The window. zenity (GNOME), kdialog (KDE) or yad – whichever is installed. Real screenshot, zenity 4.
$ cc-picker --shell-mode
cc-picker — choose a project:

1) my-webapp      3) notes-app
2) api-server     4) + Create new project
#? 1
The menu. For people who live in the terminal – or work on another computer over the network.
The menu. Runs in place via select; Ctrl+D quits with exit code 0.

Install it

  • You need:
  • Linux
  • Bash
  • Claude Code
  • a desktop for the window (optional)

Open a terminal, paste these two lines one after the other and press Enter each time. Done.

Installs into ~/.local – no root needed.

git clone https://github.com/bruneler/cc-picker.git
cd cc-picker && ./install.sh
  • Adds cc-picker to your app menu, with its own icon~/.local/share/applications/cc-picker.desktop + icon
  • Makes the cc-picker command work in any terminalAdds ~/.local/bin to PATH for bash, zsh, fish or ~/.profile – once
  • Checks that everything it needs is thereclaude, a terminal emulator, git, a dialog tool
  • Asks before installing anything extra – and shows exactly what it would rune.g. sudo pacman -S --needed zenity, only after confirmation

Good to know

Is this made by Anthropic?

No. cc-picker is an independent community project. It simply starts the official claude program in a folder you choose.

Does it send anything anywhere?

The launcher keeps settings and recent projects locally. Optional Git cloning, package installation and Claude Code itself can use the network. See our privacy notice below.

Does this keep Claude Code away from my other files?

No – and that's worth knowing. The start folder is where Claude Code works by default, not a security boundary: depending on its permissions it can still read, change or run things elsewhere. What Claude Code may do is set by its own permission settings, and cc-picker doesn't change them.

Do I need to know my way around the terminal?

Only for the two install lines. After that, cc-picker lives in your app menu and works with clicks.

Where do my projects live?

In ~/claude-projects by default. To use another folder, write CC_PICKER_BASE=~/somewhere/else into ~/.config/cc-picker/config.

Mac or Windows?

Not at the moment – cc-picker is made for Linux with Bash. It's tested on GNOME; KDE and other desktops work through kdialog or yad.

How do I remove it?

Delete three files: rm ~/.local/bin/cc-picker ~/.local/share/applications/cc-picker.desktop ~/.local/share/icons/cc-picker.svg. Your projects stay where they are.