The ADE for humans.
Your agents run the work. hide reads every session and brings you only what needs a person.
Download · Website · Docs · Discord · Discussions · Contributing
You run several coding agents at once, and someone has to keep track of them. hide puts every agent, task and pull request in one view, lets the agents start, watch and write to each other, and brings up only what needs a person. Close the laptop and the work keeps going.
It works with the agent CLIs you already signed in to: no new API key, no hosted service.
Claude Code Codex Antigravity OpenCode Grok Pi omp
Give an agent more than one account: a work and a personal Claude Code, or a model gateway behind a wrapper program. Each profile is its own account folder with hide's hooks installed there; pick one in the start panel, per project, for a mission's workers or for Hide AI.
Tip
You don't have to fill in the form. Ask any agent in hide, "add a Claude Code profile for ~/.claude-work", and it sets the profile up for you.
If you also start a wrapper by hand in a terminal, have it set the profile's folder (CLAUDE_CONFIG_DIR, CODEX_HOME), so hide shows that start as the profile too.
- Real terminals. Agents run in real terminal panes with their layout, scrollback and focus, drawn in place.
- Files and diffs. An editor with a VS Code style Explorer, and each checkout's changes one click from its tab.
- A worktree per task. GitHub issues and local notes sit in one backlog; starting one opens a worktree, an agent and its first prompt.
- Keyboard first.
⌘Kgoes to any agent, task, issue or pull request, and⌘Popens any file. - Guardrails. Guard the base branch, working folders, files and risky Git commands, per project.
- Limits and cost in view. How much of each agent's week is left, and each project's last seven days at API prices.
Note
Software Factory is coming. Queue issues with clear requirements; workers take them in order, verify and merge them, and bring back only what needs a person. Email [email protected] to join the list, or watch this repository's releases.
All three run the agent CLIs you already use, side by side, across more than one machine. hide is built for the part after that: knowing which of them needs you, and why.
| hide | Orca | Herdr | |
|---|---|---|---|
| Form | Desktop app | Desktop app | Terminal app, one Rust binary |
| Runs the agent CLIs you signed in to | ✓ | ✓ | ✓ |
| Agents start and prompt each other | ✓ | ✓ | ✓ |
| Agents on several machines in one window | ✓ | ✓ | ✓ |
| Marks the agent that waits on you | ✓ | ✓ | ✓ |
| Writes why it stopped and what it asks, read from its session | ✓ | ||
| A parent agent is told when its child goes quiet | ✓ | ||
| Decisions carried to the next agent, whichever vendor | ✓ | ||
| Answer from your phone | ✓ | ✓ |
The Orca and Herdr columns come from each project's README on 2026-11-10; an empty cell means its README does not describe the feature, not that it cannot be done. Something wrong? Tell us. Parts of hide's terminal layer come from Herdr, and NOTICE names each file.
hide installs a skill and hooks into each agent, so an agent can do from its pane what you do from the window.
hide agent spawn --parent here --name export-csv --intent export-csv --kind codex \
--repo ~/billing-app --branch feat/export-csv --brief "Export invoices as CSV" # a worker it watches
hide request send <agent> --intent review --body "Check #431 before I merge" # a letter to another agent
hide mission help # plan and run a set of pull requests
hide device add workbox # another machine, by SSH aliashide guide prints how an agent works inside hide, and hide --help lists every command.
withhide.dev picks the installer for your system, or download it from the latest release:
| System | Package | First launch |
|---|---|---|
| macOS 14+, Apple Silicon | hide-v<version>-macos-arm64.dmg |
Drag hide to Applications; it opens like any app |
| Windows x64 | hide-v<version>-windows-x64-setup.exe |
Installs for you only; unsigned, so SmartScreen asks once: More info, Run anyway |
| Debian, Ubuntu (x64) | hide-v<version>-linux-x64.deb |
sudo apt install ./hide-v<version>-linux-x64.deb, then hide is in the app menu |
| Fedora and other rpm systems (x64) | hide-v<version>-linux-x64.rpm |
sudo dnf install ./hide-v<version>-linux-x64.rpm, then hide is in the app menu |
Check the installer against its .sha256 file before you open it.
After that one install, hide updates itself.
Install and sign in to the agent CLIs you want hide to start; hide never asks for their credentials.
hide runs its own terminals: each pane lives in a small holder process that keeps running across an app restart.
Install hide covers checksums, Gatekeeper, each system's steps, updates, uninstalling and troubleshooting, and What each system supports records where each system stands.
Build from source
You need Rust with 2024 edition support, Node.js 22.12.0 or later and pnpm 10.
git clone https://github.com/with-hide/hide.git
cd hide
pnpm install --frozen-lockfile
pnpm --dir desktop packageOn macOS this writes an ad-hoc signed hide.app under desktop/out/, and the dmg, the zip the updater reads, their SHA-256 files and the update file under desktop/out/release/; install the app with:
sudo /usr/bin/ditto --rsrc --extattr --qtn desktop/out/hide-darwin-arm64/hide.app /Applications/hide.app
open /Applications/hide.appA local build is named after the newest release before it and its commit, such as 1.1.1-main.6afb9543; leave HIDE_VERSION unset, since it is the release workflow's switch.
Windows and Linux source builds are in Build and install from source.
To look at hide in a browser without installing the app, bash scripts/web-dev.sh builds the daemon, starts it and opens the address (Try hide in a browser).
- Install hide from withhide.dev or the latest release, and sign in to the agent CLIs you use.
- Add a project, start an agent and give it a task; ask it to split the work across a few workers.
- Watch the sidebar's Tasks list and the Overview map, and answer only what reaches Needs You.
- Nothing hosted. The app, the core and Hide AI run on machines you own, so your code goes only where your agent CLIs already send it.
- Credentials stay with their tools. Agent CLIs and SSH keep their own sign-in state.
The one thing hide reads is Codex's
auth.jsonaccess token and account ID, which it sends to Codex's usage endpoint to show your usage. - Your phone stays in your tailnet. It reaches your machines over your own Tailscale.
pane holders ─ one per pane: its PTY, program and parsed terminal
│ terminal output + process facts
▼
hide-core (Rust) ─ the one owner of hide's state, with its own engine over the holders
│ typed events in, snapshot deltas out
▼
hided ─ the daemon and the `hide` CLI: loopback HTTP + a token WebSocket
│
▼
web shell (React) ─ in the Electron app, or a browser on the same machine
The core owns the state behind one snapshot boundary, and the shell only renders it and sends user events back, so the screen never keeps a competing model of the session. ARCHITECTURE.md explains the boundaries and their reasons.
What one machine measured
On an M4 Pro Mac, the 2026-10-04 candidate measured 16.3 ms p95 from a renderer keydown to a complete nine-character echo in the terminal buffer, and its whole process tree held 549 MiB idle and 622 MiB with three busy terminals (RSS p95).
These are one machine's numbers on macOS, taken without quiescing it: they leave out key-to-photon latency and Windows and Linux, and no other app ran the same workload, so they claim nothing about relative speed.
The method, the distributions and every limit are kept in docs/performance-results.md in with-hide/hide-private.
| Guide | What it covers |
|---|---|
| Install | Releases, source builds, devices, moving the core, updates and troubleshooting |
| UI behavior | What every screen does |
| Status model | How an agent's group and read state are decided |
| Agent hooks | What hide writes for each agent, and where |
| Browser displays | hide browser and the pages drawn beside the work |
| Architecture | The core, its engine and pane holders, the daemon and the desktop host |
| All docs | Every current guide and what owns it |
| llms.txt | The same guides as one index for an agent to read |
hide is built in the open.
Report a bug you reproduced with the bug form, ask for a feature with the feature request form, and bring open-ended ideas to Discussions.
Pull requests are open to anyone who follows the template; a maintainer reads every one.
CONTRIBUTING.md owns that policy and lists the verify gates and their local commands, and AGENTS.md holds the rules every change follows.
pnpm install --frozen-lockfile
bash scripts/verify-cargo.sh test # Rust suites
bash scripts/verify-web.sh # web and desktop typecheck, lint, test and build
pnpm --dir desktop dev # the desktop app, unpackaged, against this checkout's buildRepository map
| Path | What lives there |
|---|---|
desktop/ |
The Electron desktop host, the app that ships |
web/ |
The React web shell |
hided/ |
The daemon and the hide CLI |
hide-core/ |
The platform-neutral Rust runtime that owns hide's state |
hide-platform/ |
What differs between macOS, Windows and Linux, written once |
hide-agent-hooks/ |
The only code that writes an agent's configuration file |
hide-ai/ |
Background AI features on the operator's own agent CLIs |
hide-kit/ |
The install kit and every path under ~/.hide |
hide-*/ |
The other supporting crates: sessions, memory, devices, projects |
contracts/ |
The daemon's wire schema and the other pinned contracts |
design/ |
The Pen design library and tokens.json |
site/ |
withhide.dev |
- Chat with the team and other users: Discord
- Questions: Discussions Q&A
- Feature requests: the feature request form
- Open-ended ideas: Discussions Ideas
- Bugs you reproduced: the bug form
- Security: report privately as SECURITY.md describes, never in a public issue
- Teams and everything else: [email protected]
hide is fair source under the Functional Source License 1.1, ALv2 Future License (FSL-1.1-ALv2). You may use, change and redistribute it for any purpose except offering others a commercial product or service that competes with hide, and using it in your own work, including at a company, is always allowed. Each release becomes available under the Apache License 2.0 two years after it is published, and releases up to and including 1.1.1 remain under the Apache License 2.0. NOTICE carries the copyright notice and the files derived from other projects, which keep their own licenses. Third-party components keep their own licenses, listed in THIRD_PARTY_NOTICES.


