Your screen has a doorman now.

Nothing jumps in front of you. Apps and agents wait at the door until you look, and pasted secrets get taken back.

Get the free beta

Free during the beta No card required

DoormanNormal
Guarding
Right now13 handled · 10 in lane · 1 secret
Protecting Zed13 interruptions handled
While you were focusedClear
ChromiumIn the lane · Claude Code
now
ElectronIn the lane · Claude Code
21m
SimulatorTried 2 times
2m
LinearTried once
7m
Agents
Claude CodeRunning Playwright on checkout
CodexBooted iPhone 17 simulator
PausePause agentsOpen
Zed is back in frontLinear jumped in
Chromium sent to the laneClaude Code⌃⌥⌘[
Took back the Anthropic API key⌘V keeps it

Works with the coding agents you already run

Doorman isn't just for putting windows back, it's for everything after.

Protect

Whatever jumps in, goes right back

Put back

Your window stays in front, in about 14 ms.

Measured on a MacBookLive tests with real windows and keys

An app that grabs focus while you type is put back before you notice. One that keeps trying goes to the lane.

Zed is back in frontLinear jumped in
Engine.swift
func putBack(_ app: AppRef) {
  guard isGuarding else { return }
  restore(previous)
Agents3 running1 needs youLast 30m
−25m−20m−15m−10m−5mnow
Claude Code Running Playwright on checkout
Codex Booting iPhone 17 simulator
Cursor Fixing the settings sheet
Amp Writing release notes
OpenCode Installed, not running
Agent lane

Agents keep working. Their windows wait.

  • Windows from Claude Code, Codex or any other agent go to the lane
  • The newest one is flagged so you know something needs you
  • Bring it back with one shortcut when you're ready
Secrets

Pasted a key into the wrong chat? It's taken back.

  • API keys and tokens are spotted as you paste
  • Taken back in under 0.2 seconds
  • Paste again right away if you meant it
Took back the Anthropic API key⌘V keeps it
#launch
Mira

Can you send me the staging key?

sk-ant-api03-7Qx2…
See it all

Every interruption. One quiet window.

Activity

Everything Doorman did, newest first.

Export CSV
AllFocusAgentsClipboard
TodayYesterdayThuWed
Today · Saturday, Nov 7
Claude Code opened Chromium → sent to the lane · Checkout · localhost:520711:41 AM
Codex launched Simulator in the background11:39 AM
Anthropic API key pasted into Slack11:38 AM
Linear came forward, Notes put back11:33 AM
Claude Code replaced your clipboard11:31 AM
Codex opened Chromium → sent to the lane · localhost:300011:30 AM
Claude Code used your keyboard and mouse11:28 AM
Slack came forward and was left alone11:27 AM
Claude Code launched Ghostty in the background11:25 AM
SimulatorRuleActive×
Comes forward
Only when you click it or switch to it. When it opens
Its windows wait in the agent lane. Privacy
Hide while sharing your screenHides the second you share your screen.
Warn when a secret is pasted hereTakes back API keys and passwords pasted here.
Remove ruleDone

A rule for each app

Let one app always come forward, send another straight to the lane, hide a third while you share your screen.

⌃⌥⌘⎋
Paused Claude Code, Codex⌃⌥⌘⎋

Pause every agent

An agent using your keyboard or mouse stops the moment you press four keys.

Your week with DoormanNov 1 – Nov 7
Longest flow1 h 12 minin Zed, Thursday
Put back · 58To the lane · 47
SMTWTFS
105kept away1secret cleared50agent actions

See your week

Your longest flow, who interrupted most, and a card you can copy and post.

Anthropic API key · on the clipboard

Clears in 37 s · copied from Ghostty
Clear now
Before that

Ship the focus history before the digest

Notes · 8:22 PMRestore⌃⌥⌘V

A clipboard you can undo

Secrets clear themselves, and one click brings back what an agent overwrote.

Search

Find anything it saw. In a keystroke.

↵
Activity
Moved Chromium to the agent lane11:41 AM
Moved Chromium to the agent lane11:30 AM
Chromium opened in the background11:29 AM
Moved Chromium to the agent lane11:25 AM
Search activity for “chrom”
Tabto jump between sections↑↓to moveescto close

One log

Everything it did and noticed, by day, in plain sentences.

Any agent

Claude Code, Codex, Cursor and OpenCode are spotted on their own. Anything else runs through the lane command.

Clipboard history

Put back what an agent replaced, with one click.

Fast search

⌘K finds any app, agent or moment in your history.

Export

Take your activity out as a CSV whenever you want.

Undo anything

Show a window it put away, or bring back a clipboard it restored.

Private

On your Mac. Nothing leaves it.

No account, no tracking, no servers. It never stores what you type, and your clipboard history stays on this Mac.

Made for Macs with Apple silicon.

How it works

Three steps to a quiet Mac.

01

Paste one line

The installer checks the download, then installs it. Nothing to drag, nothing to unlock.

Terminal

~

✓ Installed Doorman 1.0

NewDoorman
Step 2 of 5
Two permissions. That's it.

Doorman needs to see what you do and move windows. It only watches, and nothing leaves your Mac.

What it does Permissions Agents Rules Private apps
BackNext
PermissionsFlip each one on, then come back.
Input MonitoringSees your clicks, keys and swipes.
Allow
AccessibilityMoves windows around.
Allow
Screen RecordingOptional. Spots when you share your screen.
Allow
02

Allow two permissions

Accessibility to put windows back, Input Monitoring to tell your keys from an app's.

03

Keep working

It sits in the menu bar. When something tries to jump in, it goes back, and you see what happened.

Chromium sent to the laneClaude Code⌃⌥⌘[
Pricing

Free while it's in beta.

Free beta Now

Every feature, on every Mac you own.

$0during the beta

No trial clock, no card, no account.

Download the beta
  • Full access to every feature
  • Your beta copy keeps working

Lifetime license After the beta

When the paid version ships.

Price announced after the betaonce

No subscription. Up to 3 Macs.

Hear when it ships
  • Full access to every feature
  • Free updates for all of 1.x
Contact

Let's keep in touch.

We're here to help

Questions, or something not working quite right? Send a DM and we'll get you back to work.

Message @OgnjenAdzic

Tell us what to build

An app it should know about, or an interruption it misses? We read every note.

Send feedback on X

Frequently asked questions

Quick answers about privacy, setup, pricing and more. Anything else? DM @OgnjenAdzic.

macOS has no setting for it, which is why Doorman exists. When a window jumps in front while you're typing, it puts yours back in about 14 ms, so your keystrokes land where you meant. Anything you open yourself, with a click, ⌘Tab or Spotlight, still comes straight through.

Accessibility lets it see which window is in front and put it back. Input Monitoring lets it tell your own clicks and shortcuts from an app pushing in. It never stores what you type.

No. Clicks, ⌘Tab, swipes between desktops, Spotlight and the Dock always win.

The download is 2.8 MB. It uses 12 to 25 MB of memory and about 0.3% of the CPU when you're away.

Yes, with any of them. Claude Code, Codex, Cursor, OpenCode, Amp and other popular ones are recognised automatically. For anything else, start it with Doorman's lane command. Either way, the windows it opens wait in the agent lane until you look.

Your beta copy keeps working. The paid version will be a one-time license for up to 3 Macs, and nothing changes on your Mac without you choosing it.

Same app either way. The Terminal line installs it, checks the download and skips the macOS warning. The DMG is the classic drag to Applications, but we haven't paid Apple's $99 a year yet, so macOS asks you to approve it once: System Settings, Privacy & Security, Open Anyway. Once enough sales cover the fee, the warning goes away for good.

Yes, within 30 days. DM @OgnjenAdzic and you get your money back. The refund policy has the details.

Make every keystroke count.

Get the free beta