# What perch is (/docs/perch)



You know the dance: drag a file, realise the window you wanted is buried under
four others, let go, dig it out, drag again.

**perch** ends it. Start dragging **anything**, flick up to the notch, and a
small shelf drops down to catch it. Pile in as much as you like, from as many
places as you like. Then grab any tile and carry the whole group to its real
home in one motion.

It has no Dock icon and asks for no permissions. It only ever sees what you
hand it: a drop, a right-click, `perch add`, or a folder you pointed it at.

Installing is one [download](https://hausfold.co/download/perch) on an Apple
Silicon Mac, or one command:

```sh
brew install --cask hausfold/tap/perch
```

[Install](/docs/perch/install) is the whole path in order, and it is what
[perch.hausfold.co](https://perch.hausfold.co) points at, the short form to hand
someone. The source and the changelog are at
[github.com/hausfold/perch](https://github.com/hausfold/perch), and the menu
bar's &#x2A;*Report a Bug…** opens the issue form there with your version, macOS
build, Mac model and install route already filled in. Nothing is sent by that
click: it opens a page and you write the report. There is no telemetry in perch,
so that form is the only way anything reaches us.

## What it holds [#what-it-holds]

Files, folders, Photos exports, images dragged out of Safari, links and plain
text all land in the same shelf. Take one tile or grab the stack and take the
lot; whatever the destination accepts leaves the shelf, and a refused drop
springs back. Pin a tile and it stays after a successful drag, ready for
the next destination.

**It hands out copies.** perch stages its own copy of whatever you drop and hands
out copies of that, so it never moves, renames, edits or deletes the thing you
dragged in, and an interrupted drag cannot lose data.

## What it doesn't do [#what-it-doesnt-do]

* **No permissions.** No Accessibility, no Input Monitoring, no Screen
  Recording, no Dock icon.
* **No telemetry.** Nothing about your files is ever written to a log.
* **Nearly offline.** The only thing perch sends to the internet is an hourly
  look at its own release tag, and Settings turns that off. It also listens for
  an iPhone you paired yourself, encrypted end to end, over your network or
  peer-to-peer if there isn't one, and off in Settings if you don't want it.

## Made for agents [#made-for-agents]

The shelf has a command line, and that means **coding agents can hand you
things**. [`perch add <file>`](/docs/perch/install#the-perch-command) puts
anything on the shelf from any script, so an agent that just rendered a chart or
built an installer can leave it where your hand already is, instead of naming a
path in a wall of text for you to copy out. `perch list` and `perch rm` go the
other way.

perch ships an **agent skill** teaching Claude Code, Codex or any
skill-reading agent when to reach for the shelf, and just as deliberately what
perch won't hand it: no verb answers with a path, staged or original, and none
of them touches the original a tile came from. `perch skill install` writes it
into every agent client on the Mac. Every hausfold app ships one, to a single
[family standard](https://github.com/hausfold/workshop/blob/main/docs/agent-surface.md).

## Questions [#questions]

**Where do my files live?** Where they already were. perch keeps its copies
inside its own sandbox container, and it only ever knows about the things you
handed it. The [privacy policy](/perch/privacy) is the whole story.

**What licence?** [MIT](https://github.com/hausfold/perch/blob/main/LICENSE), and
every line is readable on GitHub. No paid tier, no licence key and no feature
held back: the app in these pages is the whole app.

**Another shelf app?** There are others, and they're good. perch's angle is
dependability and restraint: copies rather than moves, no permissions to grant,
no telemetry, and a shelf that lives where your hand already is.

## Inside a haus machine [#inside-a-haus-machine]

perch runs perfectly well on its own, and that is how most people meet it. It is
also a **room** in [haus](/docs/haus), the macOS layer, where it is installed
and kept current with the rest of the machine, and where it can hand its
light/dark polarity to macOS. Standalone and in-the-house are the same app; only
the wiring differs. See [the Shelf room](/docs/haus/rooms/shelf).
