Spin up a session per task. Close any of them. Get back to all of them.

A native macOS menu-bar app that starts, watches, and controls your Claude Code sessions in tmux. Run ten agents at once and you get ten terminal windows you never check. CCorn replaces them with one icon. It manages the processes; the conversation stays in Claude Code.

all your kernels, one cob. · macOS 13+ · no telemetry

4 quiet
3 discovered
New Session Open CCorn

The menu-bar popover, sorted worst first.

A vault for your always-on fleet. Keep your Claude Code sessions running around the clock, and pull any one of them up the instant you need it.

One calm place for the whole fleet.

CCorn launches each session in its own tmux window inside a single shared session, then watches them all and tells you which one to look at next.

Worst-first triage

Click the corn and every session sorts by urgency. Waiting, sign-in, and ended sessions rise to the top while the calm ones fold behind a single line. When nothing needs you, it reads All clear. The header carries one aggregate mark for the whole fleet.

Your agents outlive the app

Each session is its own tmux window inside one ccorn session. Quit CCorn, restart your Mac, or walk away, then resume right where you left off. Your real terminal is always one tmux attach away.

Always-on awareness

CCorn reads each session's terminal every few seconds and classifies its state, so you get a live read on every agent without watching any terminal. One mark per row, so you know the state by glancing at color.

Set and forget

CCorn launches and supervises; you drive. It never touches the conversation and never picks your model. Notifications ping you only when a session needs input, needs sign-in, or dies, coalesced, never per-poll spam.

Or open the full list.

A native two-pane window. The sidebar holds your views and groups; the list shows every session with its name, directory, and last active, sorted by most recently active. Rename, group, archive, stop, restart, and take over, all from here.

New Session
Sessions
All Sessions
Archived
Groups
Client work 3
Infra 2
Experiments 0
New Group
untitled spike~/dev/sandboxnow
CCorn polish pass~/dev/ccornnow
Auth service refactorSign in~/dev/auth-service1m ago
Checkout flow revampNeeds input~/dev/shop4m ago
Infra terraformNo remote~/dev/infra8m ago
Mella landing page~/dev/mella22m ago
Release scriptsNo remote~/dev/release-tools35m ago
Docs site rebuildEnded~/dev/docs3h ago
Data pipeline~/dev/etl6h ago
Spike: rate limiter~/dev/limiter2d ago
Discovered 3
scratchpadTake over~/dev/scratchpad5d ago
old-blogTake over~/dev/old-blogJun 7
llm-evalTake over~/experiments/llm-evalMay 29

The main window, every session newest first.

Color carries meaning. Nothing else is colored.

Every session wears exactly one mark: a colored dot for routine states, a single warning triangle for the ones that need you, amber when it is recoverable and red when it is terminal. You read the fleet by glancing at color, never by parsing text. This is the same legend that ships inside the app.

Routine
Runningalive and idle, healthy
WorkingClaude is actively running a task
Waiting for inputpaused for your input or approval
Needs you
Sign-in requiredblocked on a sign-in prompt
Remote control not activeno phone access this session
EndedClaude exited; restart it to resume
Not running
Staleidle past the stale threshold
Stoppedyou stopped this session
Not managed by CCorndiscovered, but not imported

Everything you do to a session.

CCorn never touches the conversation on disk, so nothing you do here is destructive. Your work is always recoverable.

New session

Pick a folder. CCorn opens a tmux window there and starts Claude Code with the title, permission mode, and remote setting you choose. Advanced adds extra directories or claude arguments.

Take over existing sessions

CCorn finds Claude Code sessions you already started, even ones it did not launch, and adopts them under management, resuming the same conversation without losing work.

Stop without losing

Stopping ends the process but keeps the session as Stopped, restartable anytime. It lets the session exit gracefully first, and never touches the conversation on disk.

Rename everywhere

Rename inline, like a file in Finder. The new name syncs to Claude itself, to claude.ai/code, and to the Claude mobile app. One source of truth, not a local nickname.

Run from anywhere

New sessions run with remote control on, so you can keep driving from claude.ai/code or your phone. Or launch a fully local session instead, no remote, no URL. The choice is remembered per session.

Groups, archive, restart

Organize sessions into your own collections and filter to one at a time. Archive hides a finished session reversibly. One click restarts a stopped or ended session by its durable UUID.

Read the code that runs your agents.

Most people just download. Building from source is for the curious and the contributors.

MIT licensed

Free to read, fork, and ship. No account, no telemetry, no catch.

Build it from source

A handful of commands and a full Xcode toolchain. The project is generated from a single project.yml you can read top to bottom.

Nothing hidden on the wire

It only touches tmux and the Claude Code files already on your Mac. Release builds are signed and notarized.

Read the source on GitHub
build from source
$ brew install xcodegen
$ git clone https://github.com/sudoLuko/ccorn.git
$ cd ccorn
$ xcodegen generate
$ xcodebuild -project CCorn.xcodeproj -scheme CCorn -configuration Release build
** BUILD SUCCEEDED **

What it is not

Not a chat interface

The model, your prompts, and the conversation all stay in Claude Code. CCorn manages processes; conversations happen elsewhere.

Not a replacement for claude.ai/code

You keep working in your terminal, on the web, or on your phone. CCorn just keeps the fleet running.

Not a cloud tool

Everything stays on your Mac. It reads from ~/.claude, stores its state locally, and makes no network requests.

It does not pick your model

You choose that in Claude Code with /model. CCorn never touches the conversation.

Requirements

macOS 13 or later tmux brew install tmux a recent Claude Code CLI

Claude Code CLI 2.1.110 or later is needed for mobile push over remote control. Download a signed, notarized build from Releases and drag CCorn.app to Applications.

One icon. The whole fleet.

v0.1.0 · MIT · macOS 13+