The workspace for your coding agents: their terminals, pull requests, diffs, a browser they can drive and every approval they wait on, in one window on your own machine.



Running several agents means living in several apps: a terminal per agent, a
browser tab per pull request, an editor for the diff, a chat window for the
permission prompt, and the phone for the one that got stuck while you were
away. agentglass is one desktop window that holds all of it. Claude Code, Codex,
Gemini CLI and OpenCode keep running where they already run — in tmux, in your
repositories — and everything they touch comes to you there. Nothing to
alt-tab to.
See it: the site walks through it,
and the live demo is the real
interface running in your browser on sample data.
🧰 Without leaving the window
- Run your agents. It attaches to the sessions already open in tmux, and it
can start them: a task or a GitHub issue becomes a worktree, a branch and an
agent working in it, several at once without colliding.
- Seat an orchestrator. One agent per project keeps the field in view and
hands work to workers under a policy you set in Settings: which engine sits
in the chair, which ones do the work, what a worker may touch, and the rules
that change that when a plan's quota runs low. Workers start narrow, a push
or a merge is never in their reach, and only you can change the policy. They
run as you, so it is a lock and not a sandbox: SECURITY.md says
where it stops.
- Work in real terminals. Real tmux panes, your tmux windows as tabs, the
project's
make targets and package.json scripts one click away.
- Answer what is waiting on you. The Lantern leads with who needs you:
red for an agent stopped on a permission gate, amber for one that finished and
is waiting for you to type. A tool call you chose to gate is held until you
allow it, from the desk or the phone, and the queue is on disk, so a crash
cannot silently allow it.
- Read what the agent wrote. A diff viewer with word-level changes grouped
by agent and worktree, and a source-control panel to stage hunks, commit,
branch, stash and resolve conflicts.
- Review pull requests to a verdict. Checks, conversation, files and an
inline review composer, without opening a browser tab.
- Give your agents a browser. A browser panel your agents drive from a CLI
and an MCP server, already signed in to what you are signed in to.
- Keep the rest in view. Docker containers and logs, listening ports and
the checkout that owns each one, a file browser, CPU and memory, and what
every session costs and where its time goes.
- Take it with you. An Android app paired by a code you scan: the machine's
terminal panes, the approvals waiting on you, pull requests and a checkout's
changes, at a scope you grant.
- Add what is missing. Plugins are separate processes with a scoped,
revocable token, installed from an in-app catalogue.
Every view, and what each one is for: docs/WORKSPACE.md.
💻 Platforms
| Platform | Status | You want | Worth knowing |
|---|
| Linux | ✅ Working | .AppImage · .deb | — |
| macOS | ✅ Working, unsigned | .dmg — Apple silicon & Intel | One xattr command on first launch, below |
| Windows | 🧪 Not verified on real metal | .exe | Builds and passes CI; a confirmation on hardware is wanted |
| Android | ✅ Working | .apk, signed | Companion app, paired by a code you scan |
⬇️ Install
A desktop app with its own server inside it: nothing to run in a terminal, no
port to open in a browser. Take the build for your platform from
Releases and
launch it.
On macOS the build is not signed yet, so Gatekeeper calls it damaged. It is
not: xattr -dr com.apple.quarantine /Applications/agentglass.app, once.
Or run it from source:
git clone https://github.com/SirAllap/agentglass && cd agentglass
bun install
AGENTGLASS_STATE_DIR=~/.local/state/agentglass-dev bun run dev # http://localhost:4000, its own database
python3 hooks/install_hooks.py # so Claude Code reports to it
Full instructions, every platform's caveats and the requirements it expects to
find: docs/INSTALL.md.
🔒 Local, and it stays that way
Your machine holds everything: a SQLite file on your own disk, no account, no
cloud, nothing phoned home. The phone reaches the desk over your own network,
paired by a code you scan, at a scope you choose — read, answer, or full.
Two paths leave the machine and both are opt-in and off by default: a webhook
you configure yourself, and the Explain button, which sends the hunks you point
at to a model. Read SECURITY.md before you install: what is
stored, what is exposed, what each token can do, and every switch that turns a
capability off.
❓ FAQ
Does it replace Claude Code, or my agent?
No. Your agents are the same CLIs you already run. agentglass attaches to the
tmux sessions and repositories already open on your machine, and when it starts
an agent it runs that same CLI, on your machine, with your login. It does not
proxy them — close agentglass and every agent in tmux keeps running.
Does anything leave my machine?
No account, no cloud, no telemetry. Everything lives in a SQLite file on your
own disk. Two paths can leave and both are off by default: a webhook you
configure yourself, and the Explain button, which sends the hunks you point at
to a model. SECURITY.md lists every switch.
What do I actually need installed?
Needed: git, the Claude Code CLI, and Python 3.
Per feature: tmux (agents as live panes, your tmux windows as tabs, theme
sync), the GitHub CLI (the pull-requests panel — and logged in, which is the
step people miss), Docker (containers, images, volumes, logs).
Settings ▸ Requirements checks all of it on your machine and says what stands
down without each one.
Why does macOS say the app is damaged?
It is not damaged — the build is not signed yet, and Gatekeeper says that about
anything unsigned. Once: xattr -dr com.apple.quarantine /Applications/agentglass.app.
Signing and notarization are not done yet.
Which agents, and which providers?
Agents: Claude Code, Codex, Gemini CLI and OpenCode.
Providers, for pointing Claude Code at something else: Kimi, OpenAI, Gemini
and Bedrock — see docs/INSTALL.md.
📚 Documentation
| |
|---|
| INSTALL.md | Installing, updating, requirements, the desktop app, the control plane, and running against any provider — Kimi, OpenAI, Gemini, Bedrock |
| WORKSPACE.md | Every view and what it is for: the rail, the Clone, the Agents screen, the terminal, keyboard shortcuts, themes |
| CONFIG.md | Every environment variable the code reads, the whole HTTP API, and the architecture |
| SECURITY.md | The trust model, what each surface can reach, retention, and how to report a vulnerability |
| EXTENDING.md | Driving agentglass from your own harness, and writing a plugin |
| PLUGINS.md | What a plugin is, what it may ask for, and how to publish one |
| CHANGELOG.md | What each release changed |
| AGENTS.md | The short version for an agent: driving the built-in browser from a session, and working in this repository. llms.txt on the site is the same index for a model |
🧩 Two things worth knowing about
Worktrees start with what git leaves out. git worktree add copies the
tracked tree and nothing else — no .env, no local settings — and a new
checkout does not start without them. A .worktreeinclude at the repository
root names the ignored paths every worktree agentglass cuts should carry in.
The terminal has two keyboard tricks. Ctrl+Shift+Space letters the paths,
links, hashes and ids on a pane's screen so one key pastes one back. And
selecting something in a pane offers to ask the agent in that pane about it.
💬 Community

🤝 Contributing
Issues and PRs welcome — see CONTRIBUTING.md. Small, fast and
dependency-light on purpose: a Bun/SQLite server, a React/Vite UI, an Electron
desktop shell, a React Native phone app, and a stdlib-only Python hook
forwarder. To adapt it to another agent or harness without forking, start at
docs/EXTENDING.md.
About
Built by @SirAllap (David Pallares).
The upstream project, with its releases and issues, lives at
github.com/SirAllap/agentglass.
Not affiliated with or endorsed by Anthropic; "Claude" and "Claude Code" are
trademarks of Anthropic.
License
MIT © 2026 David Pallares — see LICENSE.
The icons the file manager borrows from Strata carry their own notices in
NOTICE.md.