AgnView
One screen for the coding agents already running on your machine.
Download for Windows · Download for macOS · Release notes · PyPI
What AgnView is
AgnView is a local dashboard and coordination hub for the agent CLIs you have
installed: Claude Code, Codex, AntiGravity, DeepSeek, and any local model you
run yourself. There are five known agent roles a task can be assigned to:
claude_code, codex, antigravity, deepseek and custom. It does three
things.
Watch. Every agent's output streams into one console, colour-coded by agent, instead of being scattered across terminal tabs.
Coordinate. Describe a job as a set of tasks with dependencies. A task stays blocked until the tasks it depends on complete, and when it starts, the agent picks it up with the upstream summaries and artefacts attached. If one agent finds a defect in another's work, it can send the task back for revision, or mark it failed, which blocks everything downstream.
Keep an eye on quotas. Session and weekly limits for your Claude, ChatGPT, Gemini, AntiGravity and DeepSeek accounts, in one place.
Every figure comes from the tool's own sign-in on this machine. AgnView reads the sign-ins of Claude Code, Codex and AntiGravity, asks each provider for the real windows, and shows which source a figure came from and how long ago it was measured. A provider that publishes no figure says so, with the reason, rather than showing a number nobody measured.
There is nothing to set up. On first start AgnView finds the tools signed in on the machine and adds a card for each, and it keeps looking, so a tool you sign in to later appears by itself. Sign-ins stay current without you opening the tools: Claude Code is asked to renew its own sign-in before it expires, and AntiGravity's is renewed in memory. AgnView never writes to another tool's credentials. When a read fails, a card keeps its last real reading, with its age, until that window resets.
AgnView runs entirely on your own machine. It is free, and there is nothing to sign up for.
Screenshots
| Light | Dark | |
|---|---|---|
| Pipelines | ||
| Usage |
Supported platforms
| Windows | 10 and 11, as a desktop app or from the command line |
| macOS | 12 Monterey and later. The desktop app on Apple silicon, the command line on Intel and Apple silicon |
| Linux | any distribution with Python 3.10 or newer |
| Python | 3.10 or newer |
| Browser | any current Chrome, Edge, Firefox or Safari |
Windows and macOS have a desktop app. On Linux, AgnView runs with
agnview serve in a browser. docs/PLATFORM-STATUS.md
lists what works on each platform and what is still to build.
Clients
The AgnView hub in this repo covers Windows, macOS and Linux.
Mobile companion apps are in development. Links to their App Store and Google Play listings will be added here once they are published.
AgnView does not install any coding agent for you. It watches and dispatches to the CLIs already on your machine: Claude Code, Codex, AntiGravity or any other tool you add as an adapter. Install the CLIs you want to use yourself, before or after installing AgnView.
Install
On Windows, use the desktop app. Download AgnView for Windows,
extract the AgnView folder to %LOCALAPPDATA%\Programs\AgnView and run
AgnView.exe. No Python is needed. See Windows desktop app
below for the other ways to install it.
On macOS, use the desktop app. Download AgnView for macOS,
open AgnView-macos.dmg and drag AgnView to Applications. No Python is needed.
See macOS desktop app below.
On Linux, or to run the hub from a terminal, install the Python package. The quickest way is not to install at all. uv fetches and runs AgnView in one command, with no clone and no virtualenv:
uvx agnview serve
To keep it around permanently:
uv tool install agnview # or: pipx install agnview / pip install agnview
Working on AgnView itself? Install from source:
git clone https://github.com/tlaskar-git/AgnView.git
cd AgnView
pip install -e .
agent-relay is supported as an alias for the agnview command.
Windows desktop app
On Windows, AgnView runs as a desktop app with its own window, so no browser is needed. Pick one of three ways to install it.
Download the app. No Python is needed. Download
AgnView-windows-x64.zip from the
latest release, extract the AgnView folder to
%LOCALAPPDATA%\Programs\AgnView and run AgnView.exe. Keep the whole folder
together, because the exe needs the files beside it. Each release carries
AgnView-windows-x64.zip, built by CI from the release tag.
The zip holds one folder named AgnView. When you extract it, check that
AgnView.exe sits directly in %LOCALAPPDATA%\Programs\AgnView, not in a
second AgnView folder inside it. A nested copy is easy to miss, and the old
AgnView.exe one level up keeps starting instead.
To update, download the new zip, extract it the same way and start the new
AgnView.exe. From 0.1.8 on, a newer copy closes an older running copy by
itself and takes its place, so there is no need to quit the old one first. For
an update from 0.1.7 or earlier, right-click the AgnView tray icon, choose
Quit AgnView, then replace the folder. Your accounts and settings live in
~/.agnview and are kept.
Check which version runs. In PowerShell, with the port AgnView uses (18845 on a new install, or the port an older install saved):
(Invoke-RestMethod http://127.0.0.1:18845/openapi.json).info.version
Install from PyPI. This needs Python 3.10 or later:
pip install "agnview[desktop]"
agnview-desktop
Build it from source. From a clone of this repository:
.\tools\build-windows.ps1 -Install
This builds AgnView.exe, copies it to %LOCALAPPDATA%\Programs\AgnView and
adds a Start menu shortcut.
The app needs the Microsoft Edge WebView2 runtime, which Windows 11 and current Windows Server include. It runs the hub on loopback and shows the dashboard in its window.
- The close button hides AgnView to its tray icon, next to the clock, and the hub keeps running. Click the tray icon to open it again. To close it for good, right-click the tray icon and choose Quit AgnView.
- Start with Windows in the tray menu is off until you turn it on. It creates a Task Scheduler sign-in task for your account, which starts AgnView hidden in the tray 15 seconds after you sign in. The same switch is in the dashboard under Browser Sync & Autostart.
- Allow phones on my network, in the tray menu and on the pairing screen, is off by default. Off, AgnView listens on this PC only and phones connect over iroh. On, it also listens on your local network, so a phone on the same Wi-Fi connects directly, and Windows asks once to let it through the firewall. The QR code always matches the mode that is on.
- One copy at a time. Starting AgnView while it already runs brings the open window forward. Starting a newer version closes the older running copy and takes over.
- Port. The app serves on port 18845, away from the 8765 default of
agnview serve, and moves to the next free port when that one is taken. Pass--portonce to change it, and the app remembers it. Settings live in~/.agnview/desktop.json.
macOS desktop app
On a Mac with Apple silicon, AgnView runs as a desktop app with its own window and a menu bar icon, so no browser is needed.
Download the app. Download
AgnView-macos.dmg
from the latest release
(from 0.1.9), open it and drag AgnView to
Applications. Your accounts and settings live in ~/.agnview, so an update
keeps them.
Until the app is signed with a Developer ID and notarised by Apple, macOS
blocks the first start. Right-click AgnView in Applications, choose Open, then
Open again in the dialog. macOS remembers the choice. A signed and notarised
build opens with a double-click. docs/MACOS-SIGNING.md covers the signing.
Install from PyPI with Python 3.10 or later, or build it from a clone
with tools/build-macos.sh, which writes dist/AgnView.app and
dist/AgnView-macos.dmg:
pip install "agnview[desktop]"
agnview-desktop
- The close button hides the window, and the hub keeps running. Click the AgnView icon in the menu bar and choose Open AgnView to open it again, and Quit AgnView to close it for good. Cmd+Q also quits.
- Start at login in the menu bar menu is off until you turn it on. It adds a LaunchAgent for your account, which starts AgnView hidden in the menu bar when you log in. The same switch is in the dashboard under Browser Sync & Autostart.
- Allow phones on my network, in the menu bar menu and on the pairing screen, works as on Windows. macOS asks once whether AgnView can accept incoming connections.
- Port. The same as on Windows: 18845, or the next free one.
The Usage tab and the Console need the same tools as on Windows, below. The AntiGravity card reads AntiGravity's sign-in from the login Keychain, and macOS asks once whether to allow that.
What the Usage tab needs on the machine. AgnView reads the installed apps' own sign-ins, not a browser's. Being signed in to chatgpt.com or claude.ai in a browser is not enough on its own.
| Card | Needs |
|---|---|
| Claude | Claude Code installed and signed in, with the claude command available |
| ChatGPT | Codex installed and signed in |
| AntiGravity | AntiGravity installed and signed in once. It can stay closed after that |
| Gemini | Nothing more. It reads through AntiGravity's sign-in |
What the Console needs. Chatting with an agent in the Console runs that
agent's command-line tool, which the desktop apps do not install. Claude Code
needs claude, Codex needs the Codex CLI (npm install -g @openai/codex, then
codex login), and AntiGravity needs the AntiGravity CLI, agy. When one is
missing, the Console says so and names the install step.
Start
agnview serve
The dashboard is then at http://127.0.0.1:8765.
By default AgnView binds 127.0.0.1, so only your own machine can reach it. To
let your phone or another computer on the same network connect, opt in
explicitly:
agnview serve --listen-lan
Choose a different port with --port, and require a token from connecting
clients with --token.
On macOS and Linux, and on Windows without the desktop app, the hub starts
automatically at login. The first agnview serve registers the OS-native
autostart mechanism (the Windows Registry Run key, a macOS
LaunchAgent, or a Linux XDG autostart entry, depending on your platform) with
the options you served under, so a hub started with --listen-lan or a custom
--port comes back the same way after a reboot. Change those options and the
next agnview serve updates the registration. The pairing token is never
written into it: the hub reads the persisted one at every start.
agnview autostart disable removes it and remembers that you did, so later
starts leave it off. agnview autostart enable puts it back, and
agnview autostart status shows whether it is currently registered. The
switch in the dashboard settings does the same thing.
On a machine with the desktop app installed, agnview serve does not
register itself at login. The desktop app's Start with Windows, or Start at
login on macOS, owns that, so a browser-only hub cannot start first and take
the port.
Pair a phone
- Start the hub with
agnview serve --listen-lan. - Open the dashboard and choose the mobile option in the header to show the pairing QR code.
- Scan it with the AgnView app on a device on the same network.
The QR code carries the hub's LAN address, its certificate fingerprint, and a
pairing key. Regenerating the code invalidates every device already paired.
docs/PAIRING.md is the full contract.
Treat the pairing QR code like a password. Anyone who can read it can reach
the hub, and the hub can run commands on this machine. See SECURITY.md.
LAN pairing, plus a remote path if you want it
On your own local network, your machine and your phone talk to each other directly. Nothing goes through anybody else's infrastructure, and no account or setup is needed.
If your phone is off your home or office Wi-Fi, LAN pairing alone cannot reach it. AgnView also accepts connections over iroh, which can carry the pairing QR code and the console beyond the LAN without a VPN. See "Remote access" below for what that depends on and how to opt out of it.
Remote access
docs/REMOTE-ACCESS.md covers every path in order: LAN, bundled iroh, what
iroh depends on, running your own relay, and the overlay alternatives
(Tailscale, NetBird, an SSH local port forward, or an existing WireGuard
tunnel) via --listen-overlay.
Remote access uses iroh's free public relays. Most connections are direct and never touch a relay. Relayed connections are rate limited and carry no uptime guarantee. You can point AgnView at your own relay in Settings.
Docker, and what a container cannot do
docker compose up -d
The hub is then at http://localhost:8765. The image runs as an unprivileged
agnview user and carries a HEALTHCHECK against the dashboard root, and the
compose file keeps ~/.agnview (pairing token, adapters, notification config)
in a named volume so it survives rebuilds and restarts.
A containerised hub cannot dispatch to CLI agents. AgnView dispatches work
by executing the agent binaries on the host: claude, codex, antigravity
and the rest, with their own credentials, config and your working tree. A
container sees none of that.
- Docker suits watching and managing a pipeline: the dashboard, the REST and SSE API, job and dependency state, web-LLM prompt generation, quota monitoring, and mobile pairing, with remote worker daemons doing the actual execution.
- A native install suits dispatch. If you want AgnView to run Claude Code, Codex or AntiGravity for you, install it on the machine where those CLIs live.
Command line
agnview serve runs the hub. The rest of the commands drive it, so an agent
can take part in a pipeline from a script:
| Command | Purpose |
|---|---|
create-job |
Create a job from a YAML or JSON pipeline file |
status |
Show job and task status |
wait |
Block until a task's dependencies are satisfied |
claim |
Claim a task and begin work |
complete |
Mark a task complete with a summary |
reject |
Send a task back to its agent for revision |
my-tasks |
List tasks assigned to an agent |
nodes |
List connected agent instances |
worker |
Poll for assigned tasks as a daemon |
export-prompt |
Build a context prompt for a web LLM |
usage |
Show live subscription quotas |
autostart |
Enable, disable, or check starting the hub at login |
Run any of them with --help for the full set of options.
How a pipeline runs
- Create a job whose tasks name their dependencies. Tasks with no unmet dependencies start ready; the rest start pending.
- An agent claims a ready task, which moves it to in progress.
- Completing a task records its summary and artefacts, and unlocks every task whose dependencies are now met.
- An agent that finds a defect upstream requests a revision. The upstream task reopens and its dependents go back to pending until it is fixed.
- A task that cannot be finished is marked failed, which blocks everything downstream of it and fails the job.
Every one of these changes is pushed to open dashboards over Server-Sent Events, so a second tab or a paired phone follows along without a reload.
Licence
MIT. See LICENSE.
Release files for agnview 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agnview-0.1.12.tar.gz | 8.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agnview-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.8 MB
Release files / agnview-0.1.12.tar.gz
| Download URL | agnview-0.1.12.tar.gz |
|---|---|
| Size | 8.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6d3a48fb5c8c62bf03d68723e46d448fcd38cf824913dd42e52ce446dd75a71
|
|
BLAKE2b-256 checksum How to use checksums |
982accbca16729c511262bad0c97a118adb8fffcc338b632c31a3b3339148f0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / agnview-0.1.12-py3-none-any.whl
| Download URL | agnview-0.1.12-py3-none-any.whl |
|---|---|
| Size | 8.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b3468bd1d1d42af2e9df547e716d6be65f991b78910aded8036042cb317aac75
|
|
BLAKE2b-256 checksum How to use checksums |
7f1102901dbe279b52c2e5ce8e857f5176edcf4548e035ef3d826d31c02efe47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|