Free Code

Claude Launcher: Run All Your Claude Code Projects from One Window on Windows

Claude Launcher is a free Windows desktop app from FreeCodeSpot. It lists your Claude Code projects in a sidebar and starts each one in its own terminal tab, in the right folder and with the right rules. This article shows how to download it, set it up, and use it every day.

Claude Launcher with three projects in the sidebar and a Claude Code session running in the budget-tool terminal tab

This article is a little different from the usual FreeCodeSpot tutorial. Instead of building something step by step, I am releasing the first application from FreeCodeSpot: Claude Launcher, a free Windows desktop app that runs all of your Claude Code projects from one window. In this article, I will explain what it does, why I built it, and how to download it and use it. There is no code to copy this time. You download one file and run it.

Table of Contents

What Is Claude Launcher

Claude Launcher is a small Windows app for people who use Claude Code in more than one project. It lists your projects in a sidebar, and when you click Launch, it opens a terminal tab inside the same window, already in the project folder, with Claude Code running. You switch between projects by clicking tabs, the same way you switch between files in an editor.

Claude Launcher with three projects in the sidebar and a Claude Code session running in the budget-tool terminal tab
Claude Launcher. The sidebar lists the projects, and the tab on the right is a real PowerShell terminal with Claude Code running in the budget-tool folder.

It does not replace Claude Code. Claude Code still does the work, exactly as it does in a normal terminal. The launcher takes care of everything around it. It finds the folder, starts the right shell, passes the rules and notes of that project, and keeps all the sessions in one place.

Now let's see what it can do.

Why I Built It

Claude Code works one folder at a time. That is fine for one project. With five projects it gets tiring. Every time I wanted to work on something, I had to open a terminal, remember the path, change into the folder, and type the start command with the right arguments. After a while I had six console windows open and no idea which one was which.

I started with a batch file that showed a menu of projects. That helped, but every project still ended up in its own console window, and when one of them crashed, the conversation was gone. Claude Launcher is the next step of that batch file. The script that starts Claude Code is still the same one. The launcher only gives it a window, tabs, and a few things a batch file cannot do.

Key Features

Everything in this list is in the current version, 1.0.0.

  • All projects in one place. The sidebar shows every registered project with its name, folder, description and status (ready, running or missing).
  • One tab per project. Each running project is a terminal tab inside the launcher. Click Launch on a row, or tick several projects and click Launch Selected, or click Launch All.
  • Workspaces. Projects can be grouped, for example into Work and SideQuest. A row of chips at the top of the sidebar filters the list, and Launch All becomes Launch All in Work.
  • The right context every time. Each project can have a rules file, a session hand-over file and a knowledge folder. The launcher passes them to Claude Code on every start, so a project always opens with the same instructions.
  • Session hand-over on close. When you close a tab while Claude is still running, the launcher first asks Claude to write its hand-over notes, then closes the tab. The next session starts from those notes.
  • Crash recovery. If the launcher ends unexpectedly, the next launch of that project resumes the conversation that was open, with claude --resume.
  • Usage panel. The bottom of the sidebar shows the 5-hour and weekly limits of your Claude account and when they reset.
  • Skills and agents viewer. The Settings page lists every skill and agent Claude Code can use from your config folder, your user profile and your projects.
  • Portable. One ClaudeLauncher.exe, no .NET installation needed. Copy it anywhere and run it.

Who It Is For

Claude Launcher is for developers on Windows who already use Claude Code and work across several codebases. If you only ever run Claude Code in one folder, you do not need it. If you keep three or more projects going, and you keep losing track of which terminal belongs to which project, it will save you a few minutes every day and some confusion.

Before We Start

Before we start, make sure you have the following:

  • Windows 10 version 1809 or later, 64-bit. I used Windows 11 for everything in this article.
  • Claude Code installed, with the claude command on your PATH. Run claude --version in a terminal to check.
  • Windows PowerShell 5.1, which is included in Windows. PowerShell 7 also works.

You do not need the .NET SDK or the .NET runtime. The portable exe includes everything it needs.

Step 1 – Download Claude Launcher

The release builds are on GitHub. Open the releases page and download ClaudeLauncher.exe from the latest release.

The release has three files:

FileWhat it is
ClaudeLauncher.exeThe portable application. This is the one to download.
ClaudeLauncher-v1.0.0-win-x64.zipThe same exe plus the MIT license, zipped.
SHA256SUMS.txtThe checksums of both files.

The exe is about 70 MB because the .NET runtime and the terminal control are packed inside it.

If you want to check the download, run this in a terminal from the folder where you saved the file, and compare the result with the line in SHA256SUMS.txt:

certutil -hashfile ClaudeLauncher.exe SHA256

Step 2 – Run It for the First Time

Put ClaudeLauncher.exe anywhere you like and double-click it. The exe is not code-signed, so the first time Windows SmartScreen may show Windows protected your PC. Click More info, then Run anyway. You only see this once.

The first start takes a few seconds longer than the others, because the runtime inside the exe is unpacked to a temp folder. After that it starts normally.

The config folder

Claude Launcher keeps its project list and the start script in a folder called claude-config. On start, it looks for one next to the exe, or in one of the parent folders. If it finds nothing, it shows a Set up the Claude config folder page with two choices:

  • Use an existing folder, if you already have a claude-config folder from the batch launcher.
  • Generate a new folder. You pick a workspace folder, and the launcher creates a complete claude-config inside it, with the shared rules file, the start script, two skills, and an empty project list.

For a first install, pick Generate a new folder and choose the folder where your projects live. The layout the launcher expects is simple:

C:\dev\
├── claude-config\      projects.json, Launch-Claude.ps1, CLAUDE.md, .claude\, project-config\, context\, knowledge\
└── Projects\           your project folders

Your projects do not have to be under Projects\. Any folder works, including other drives. The default layout only means the folder picker starts in the right place.

You can come back to this page later from Settings with the Set up or generate a config folder… button.

Once the config folder is set, you should see the main window:

The main window of Claude Launcher with three registered projects in the sidebar, the workspace chips, the usage panel, and an empty terminal area that reads No sessions
The main window before anything runs. The toolbar is at the top, the projects and the usage panel on the left, and the terminal area on the right.

Step 3 – Add a Project

Now let's add a project. Click Add Project on the toolbar. A folder picker opens. Pick the project folder, and the Projects page opens with the folder name filled in as the project name.

The Projects page of Claude Launcher editing the inventory-api project, with the name, description, workspace and project folder fields, and a note that the rules file does not exist yet
The Projects page. The note at the top says the rules file and the notes do not exist yet. The launcher starts without them.

Type a short Description if you want one. It shows in the sidebar and is the quickest way to tell similar projects apart. Pick a Workspace from the drop-down or type a new name. Then click Save. The project appears in the sidebar at once.

The three Claude files (rules file, session hand-over file, knowledge folder) are not created at this point. The launcher starts the project without them, and the tab shows a warning line that says so. To create them, launch the project and ask Claude to set up project <name>. The setup-project skill that ships in the config folder creates them from the shared templates.

Step 4 – Launch a Project

Click Launch on a row. A new tab opens on the right with PowerShell in the project folder, and Claude Code starts in it. The first lines in the tab show the project name and path, so you always know where you are.

Claude Launcher with three projects in the sidebar and a Claude Code session running in the budget-tool terminal tab
budget-tool is running. The row shows the running pill, the tab has a green dot, and the status bar at the bottom counts the sessions.

Inside the tab you work exactly as in a console window. The first time Claude Code opens a folder it asks whether you trust it, like it does anywhere else. Answer in the tab.

A few things to know about the tabs:

ActionHow
Switch tabClick it, or Ctrl+Tab and Ctrl+Shift+Tab
Close tabIts ✕, or Ctrl+Shift+W
Copy from the terminalSelect with the mouse, then Ctrl+Shift+C or Ctrl+Insert
Paste into the terminalCtrl+V
Reload the project listRefresh or F5

Plain Ctrl+C is sent to the shell, so it interrupts the running command the way it does in a normal terminal. Copy is Ctrl+Shift+C.

Advertisement

If you launch a project that is already running, the launcher focuses the existing tab instead of opening a second one. You can change that in Settings if you want two sessions of the same project.

When Claude Code ends but the shell is still open, the tab turns yellow and reads (shell). PowerShell is still in the project folder, so you can run git status or anything else there. The ↻ button on the tab restarts Claude Code.

Step 5 – Group Projects into Workspaces

If you have projects for work and projects for yourself, group them. The chips at the top of the sidebar show All plus one chip per workspace with its project count.

Claude Launcher with the Work workspace selected, showing only the two Work projects and the Launch All in Work button
The Work chip is selected. Only the two Work projects are listed, and Launch All became Launch All in Work.

Click a chip to show only that workspace. Click + to create a new workspace. Right-click a chip to rename or remove it. Removing a workspace keeps its projects registered; they only lose the assignment.

To move a project, right-click its row and choose Move to workspace. The submenu lists every workspace, plus (No workspace) and New workspace…. Only the workspace of that entry changes. Its folder, rules and notes stay as they were.

The right-click menu on a project row in Claude Launcher with Launch, Open folder location, Move to workspace, Edit and Remove from registry
The right-click menu on a project. Open folder location shows the project in File Explorer.

The launcher remembers the chip you chose, so the next start opens with the same workspace.

Step 6 – Close a Tab and Let Claude Write the Hand-Over

This is the feature I use the most. When you close a tab while Claude Code is still running, the launcher asks for confirmation and then types a request into that session, asking Claude to write its hand-over notes. Those notes are an update to the project's context file and knowledge folder, so the next session knows where this one stopped.

Claude Launcher closing the budget-tool tab, with the yellow Waiting for Claude to write the session hand-over banner above the terminal and a Close now button
The yellow banner above the terminal. The launcher waits for Claude to write the notes, then sends /exit and closes the tab.

The launcher cannot know when Claude has finished, so it watches the files. Once one of them has changed and stayed quiet for a few seconds, it sends /exit, and when Claude ends, the tab closes. If nothing happens within 120 seconds the session is closed anyway. Close now skips the wait.

Closing the whole launcher does the same thing in every tab at once, and the window closes when they have all finished. Both the wait time and the whole behaviour can be changed in Settings.

Step 7 – Recover After a Crash

Every launch passes a session id to Claude Code, and the launcher records the open conversations. A normal exit clears that record. If the launcher ends without closing its tabs, because of a crash, Task Manager or a power loss, the next start shows a status line saying that launching the affected project will resume the conversation that was open. Click Launch on that row, and the earlier conversation comes back, including the last messages.

Only conversations whose transcript still exists are offered, and entries older than seven days are dropped. You can turn this off in Settings.

Settings and the Skills Viewer

The Settings button opens two tabs.

The General tab of the Claude Launcher settings with the config folder, PowerShell path, the detected claude command, and the closing and recovery options
General settings. The launcher shows where it found PowerShell and the claude command.

General holds the config folder, the PowerShell executable, what to do when you launch a project that is already running, whether to ask before closing a running tab, whether to launch everything at start, the hand-over and crash-recovery options, and the terminal font.

The Skills and agents tab of the Claude Launcher settings listing the prompt-polisher and setup-project skills and the fable-advisor agent, with the description and instructions of the selected skill
The Skills & agents tab. It reads the markdown files from the config folder, your user profile and each project, and explains how each one is used.

Skills & agents lists every skill and agent Claude Code can use from the launcher. Select one to see its description, a plain-language note on how Claude picks it and how to invoke it by name, and the full instructions. Open file opens it in your editor. The tab is read-only. Most entries under "user" are Anthropic's bundled skills, which Claude Code downloads itself; Hide synced skills leaves only the ones you wrote.

Where the Files Are

Claude Launcher does not install anything and does not touch the Claude Code installation. It reads Claude Code's data for the usage panel and for crash recovery, but never writes to it.

LocationWhat it is for
<workspace>\claude-config\The project list (projects.json), the shared rules (CLAUDE.md), the start script, one rules file per project under project-config\, hand-over files under context\, notes under knowledge\, and the skills in .claude\.
%LOCALAPPDATA%\ClaudeLauncher\settings.jsonThe launcher's own settings. Use the Settings page instead of editing it.
%LOCALAPPDATA%\ClaudeLauncher\logs\One log file per day. The Logs button in the status bar opens the folder.
%LOCALAPPDATA%\ClaudeLauncher\sessions.jsonThe record of open conversations used for crash recovery.

The usage panel calls the same endpoint that Claude Code's /usage command reads, using the token Claude Code keeps in your profile. The token is read into memory for the request only. It is never logged, stored or sent anywhere else.

Limitations

  • Windows only, 64-bit only. It uses ConPTY, so Windows 10 1809 is the minimum.
  • Sessions end when the launcher closes. The pseudo console dies with the process. After a crash the launcher resumes the conversation itself; after a normal exit, claude --resume in a new tab picks up where you left off.
  • The terminal area is a native child window, so nothing can be drawn over it. The banners sit above it instead.
  • The exe is not code-signed, which is why SmartScreen shows the warning on the first run.
  • "Portable" means a single file to copy, not a zero-footprint app. Settings and logs still go to %LOCALAPPDATA%\ClaudeLauncher\.

Troubleshooting

What you seeWhat to do
No config folder found at startPut the exe next to a claude-config folder, or click Set up… and choose or generate one.
A row shows missing and Launch is disabledThe folder no longer exists at that path. Click Edit, fix Project folder, save.
The claude command was not foundInstall Claude Code, or add its folder (usually %USERPROFILE%\.local\bin) to PATH. Then click Refresh and launch again.
The tab turns yellow (shell) right after launchClaude Code exited at once. Read the message above the prompt in that tab, usually a login or CLI problem, then click ↻.
failed: Could not start the terminal processThe PowerShell path in Settings is wrong, or the project folder vanished. Fix it and click Retry in the banner.
A project disappeared from the sidebarA workspace chip is selected. Click All.
The hand-over banner stays for a long timeClaude is still writing, or is waiting for an answer in the terminal. Answer it there, or click Close now.
Odd characters at the prompt after Claude ended abruptlyType cls in that tab.
Ctrl+C does not copyPlain Ctrl+C goes to the shell. Use Ctrl+Shift+C or Ctrl+Insert.
The usage panel reads token missing or expiredRun Claude Code once in any tab. The panel refreshes within a minute.

If something else goes wrong, open an issue on the releases repository and attach the newest file from the log folder. The logs record start and exit codes, never terminal content.

Download

Claude Launcher is free and released under the MIT license. The downloads are on GitHub.

You can find this and every other application from FreeCodeSpot on the Applications page.

Summary

In this article, I released Claude Launcher, a free Windows app that runs Claude Code projects from one window, with one terminal tab per project, workspaces, a usage panel, a session hand-over on close, and crash recovery. We downloaded it, generated the config folder, added a project, launched it, and closed it with the hand-over.

Advertisement
Regie

Written by

Regie

I’m a full-stack developer specializing in .NET and .NET Core. I enjoy building reliable, practical, and scalable software solutions, and sharing my experience and knowledge through tutorials and real-world projects on FreeCodeSpot.