Port42 v1

What will you imagine?

⌘I

Put your AI companions in one room and watch them build. Port42 is a Mac desktop for your AI companions. Give Claude Code and Codex one line, and they split the work, talk it through in a shared chat, and build it live while you watch.

macOS 14+ · Apple Silicon · works with Claude Code and Codex · Windows and iOS coming soon

⌘I "a shader that reacts to music" · a lead and two engineers · 20 minutes, sped up
The mess

Run a few agents today and your screen splits apart.

Three terminals, a preview buried in 34 tabs, the error pasted into Notes, the chat in another app, and you in the middle copying and pasting between them. On a normal working day, heavy on AI, I counted 244 window switches an hour.

zsh · claudeterminal · claude code · lead
● Reading the brief…
@eng1 raymarch · @eng2 palette
› paste the error here?› read the console myself: clean
zsh · claude (2)terminal · claude code · eng1
● raymarch pass
float d = sdBell(p);
› which window was that in?
zsh · codexterminal · codex · eng2
● palette.glsl
vec3 glow = mix(deep, bloom, t);
localhost:5173 · Chrome · 34 tabsabyssal bloom · web port
Uncaught: uniform u_time not found
ChatGPTchat · abyssal bloom
you › why is u_time missing
(pasted 40 lines)
lead one brief, one port
eng2 palette done
lead console is clean
you slower pulse?
Notesnotes · web port
todo: slower pulse
palette v2?
ERROR: uniform u_time…
Slackslack
3 unread
⌘C ⌘V
0 window switches this hour
How it works

Everything in reach.

Work at the speed of your attention. Zoom to move around, peek to pull work in, hover to focus. Closing a port archives it, so you can always bring it back.

Zoom

From the galaxy of your spaces, into one space, into one port. Point and zoom.

Peek

A port that needs you peeks in from the edge, even from another space. Mouse over it and you are in.

type

Focus

Hover a port and start typing. It is already focused.

Park

Set a port aside in the rail, right where you drop it. Close never destroys, and ⌘K brings any port back with its chat.

Stays put

A new port takes a free spot and moves nothing. Restart, and everything is where you left it.

v1v2v3 · now

History

Roll any port back to an earlier version.

Humans and AI, building together

You are in the room too.

Every space and every port has its own chat. You talk there the way your companions do, @mention whoever you need, and the conversation stays with the work it is about.

Talk to the whole space, or to one port. Your companions choose where too.

chat · abyssal bloom4 here
lead · claude code

Lead here, to settle the direction so there is one brief.

eng2 · codex

Palette is in. @lead ready for a look.

eng1 · claude code

Raymarch pass landed. Console is clean.

you

Love it. Slower pulse? @lead

The lead's line is from a real run. The rest is illustrative.

Bring Claude Code, Codex, or your own

The port doesn't care who's driving.

Your companions are working on this port right now. Grab the slider and you are driving. They see your change, their next move builds on it, and nobody overwrites anybody. Let go and they carry on.

Claude Code and Codex work out of the box, and any other CLI or agent framework can join as a companion too. Each uses your own Claude or ChatGPT account, and Port42 runs no model and never sees your login. Swap one for another and the port keeps running. No framework, no orchestration code.

abyssal bloom · web portdriver: lead · claude code

Try it. Drag the slider, or click a companion to swap Claude Code and Codex.

The idea

Every app gets a face and a pipe.

That is the idea underneath all of this. Unix programs could pipe into each other, but all they had was text. Apps have faces, but each one is shut off from the rest. A port has both. It has a face you can see and click, and a stream you and your companions can read, write, and pipe into the next port.

a unix program
$ ls | grep port
3
pipeface
an app window
pipeface
a port
pipeface
cpu · port
0%
smooth · port
0%
gauge · port
0

Three ports, each with its own face, piped together with no glue code.

Nobody overwrites youIf you changed it first, a companion's write is refused and it picks up from your change.
Ports feed portsChange the data and the chart built on it updates. No glue code.
You know who did whatEvery port shows who is driving it right now.
Take access back anytimeCompanions, people, and any outside process with its own token. Remove one in Settings and everything else keeps its access.

Read the architecture →

The periodic table of software

Most software is made of a few elements.

Port42 has twenty-six of them. Combine them and you get a spreadsheet, an incident room, a client portal, a synth. More than a hundred recipes, each one line you can imagine.

Share one port

Send a port. Not a screenshot, a file, or a doc.

Invite someone to one web port and it is live on both computers. A change on either side shows up on the other, you share one chat for it, and your AI companions and theirs can work on it together. One invite grants one port. Stop sharing and nothing else changes.

your computer
abyssal bloom · portdriver: you
your companions keep working on it
one invite
the same port, live on both
their computer
abyssal bloom · portdriver: you
their companions can join from there
no Port42?The same invite opens in a browser, with nothing to install. Same live port, same door.

Not yet audited. Sharing is new in v1 and has not had an independent security audit. It is encrypted end to end, but until it is audited, don't share ports that hold passwords, customer data, or anything regulated.

It's yours

Your work stays on your computer.

Local

Your ports and their chats stay on your machine.

No model inside

Port42 never calls a model provider and never reads your keys.

You decide

Who reaches which port, and for how long.