by SirAllap
🛰 Every AI coding agent on your machine, on one screen — live cost, tokens and tool calls across every provider, and a hold on anything dangerous until you say go. From your desk or your phone.
# Add to your Claude Code skills
git clone https://github.com/SirAllap/agentglassLast scanned: 7/19/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-19T06:32:03.599Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}agentglass is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by SirAllap. 🛰 Every AI coding agent on your machine, on one screen — live cost, tokens and tool calls across every provider, and a hold on anything dangerous until you say go. From your desk or your phone. It has 282 GitHub stars.
Yes. agentglass passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/SirAllap/agentglass" and add it to your Claude Code skills directory (see the Installation section above).
agentglass is primarily written in TypeScript. It is open-source under SirAllap on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh agentglass against similar tools.
No comments yet. Be the first to share your thoughts!
Every AI coding agent on your machine, on one screen — live cost, tokens and tool calls across every provider, and a hold on anything dangerous until you say go. From your desk or your phone.


Point any AI coding agent at agentglass — via Claude Code hooks or any OpenTelemetry GenAI exporter (OpenAI Codex, Gemini CLI, Bedrock, LangChain, LiteLLM…) — and watch every agent, tool call, token, and dollar move in real time. Cost tracking, tool-latency percentiles, error timelines, session lifecycles, one switch that filters the whole cockpit by provider, and 22 themes. It persists across reloads (unlike a pure in-browser stream).
And it's not just a viewer. agentglass carries a full workspace in the same cockpit — the idea is simple: browser, terminal, IDE panels, agent telemetry… all in one place. A syntax-highlighted diff viewer for everything the fleet changed, a lazygit-style source-control panel (stage, commit, push), a pull-request panel that reviews and merges without opening a browser, a lazydocker-style Docker panel (containers, logs, stats), a real terminal (an actual PTY shell on your machine, not an emulation), and a chat panel that drives local Claude Code sessions — all behind one keystroke, under a notch that mirrors your desktop notifications so nothing is lost while you are fullscreen. Ships as a native desktop app, server included.
The full cockpit running on fabricated sample data — a simulated live event stream, populated radar, spend charts, and even the control-plane approve/deny gate. No install, no server. (Everything there is fake; it's a showcase.)
agentglass watches every Claude Code session on your machine — you don't
launch it per-repo. Alongside the live hook stream, a transcript scanner
reads ~/.claude/projects directly, so history from every project is there the
moment you open the dashboard, and new sessions tail in live (deduped against
the hooks, so nothing is double-counted).
Want to focus? Scope the whole cockpit to a single project — only that repo (and its worktrees) show up, and its git / terminal / chat panels, diffs, and spend are all you see. The natural way is the in-app project picker: on first open (a desktop app has no "current folder", so it asks) you choose what this cockpit is about, and the ⌂ name in the header switches it any time:
~/code) → every repo from
that folder inward;The choice is applied live and persisted (root in
~/.config/agentglass/config.json), so the next launch opens straight into it.
It can also be set from outside:
AGENTGLASS_ROOT=~/code/my-project bun run dev
# desktop: AGENTGLASS_ROOT=~/code/my-project agentglass
Leave everything unset and it covers the whole machine. You can also pin the
repo sweep to specific directories via AGENTGLASS_REPO_DIRS, or the same
config file:
{ "root": "~/code/my-project", "repoDirs": ["~/code", "/mnt/hdd/code"] }
Watching is only half of it. agentglass grew a set of lazygit / lazydocker-style panels — plus a real terminal and a Claude chat — that live right in the cockpit, so you can go from seeing what the fleet did to acting on it without leaving the tab. Keyboard-driven, and they wear the same 22 themes.
They live in one workspace: Ctrl+\ (⌘\) opens it over the dashboard, a rail down the left switches between the six views, and Esc puts you back. Every view has the same fixed-height title bar and the same list width, so switching changes the panel and nothing else moves.
Two kinds of shortcut, because they answer different questions. On the dashboard, bare letters jump straight in — g d p o t c. Inside the workspace every keystroke belongs to whatever has focus, usually a shell, so navigation there carries a modifier: Ctrl+1–Ctrl+6 for the rail in order, Ctrl+[ / Ctrl+] to cycle. Both sets are rebindable in Settings ▸ Shortcuts, and the modified one takes any combination you like — Ctrl+Alt+J is recorded exactly as you hold it.

Drag the rail to reorder it. Put the terminal at the bottom if that is where your thumb goes; Ctrl+1–6 follow your arrangement, so the tooltips never start lying. Drag the seam beside any list to resize it — every view shares that width, and it is remembered.
A strip across the top of the workspace, always visible, never themed: true black so it disappears into the bezel of an OLED display.
It carries what you would otherwise go looking for — commits to push and to pull, live shells, chats waiting on you, unread notifications, your Anthropic 5-hour and weekly plan meters, a seven-segment clock — and it mirrors desktop notifications, so the Slack message that arrives while you are fullscreen is not lost. Click it and it opens downward into an inbox with the full text; click again and it closes. Capability-probed on the server, so a platform without a notification bus gets a notch with no inbox rather than a broken one.
Notifications are off by default and opt-in per level in Settings ▸ Preferences — titles only, or the full body.
dEvery Edit/Write the fleet makes, gathered into one reviewable, chaptered list. Shiki syntax highlighting composed with a word-level intra-line diff, split or unified, ligatures and a per-diff theme, "reviewed" check-offs — plus one-click ✨ Explain (a local-Claude walkthrough of the whole change set) and ⎇ Commit… to turn a review straight into a commit.

gA live view of any repo's working tree (repos are discovered from the fleet's own file paths). Stage / unstage / discard, interactive hunk staging, a commit composer, branches (checkout / create / delete), log, reflog, remotes, tags, worktrees and stashes — plus push / pull / fetch. Keyboard-driven (j/k move · s/u stage · x discard · 1–8 jump to a tab) and write-gated, so it's read-only until you opt in.
It also does the three things you would otherwise drop to a terminal for:
Sync from base. Pull main into the branch you are on, from the header, with the count of what is waiting. Disabled while the tree is dirty — merging over uncommitted work is how you lose it.
Resolve conflicts. Conflicted files are listed as what they are — files git has stopped in the middle of, not ordinary edits — so you cannot commit one with <<<<<<< still in it. Take a whole file's ours/theirs for the lockfile case, or open it one by one and choose a side per conflict block — or keep both, in either order — with both versions side by side and the common ancestor when git recorded one. Nothing is written until every block has an answer, because defaulting the ones you did not read is exactly how a merge quietly eats somebody's work.
Undo the merge, while that is still exactly reversible — only when nothing is committed on top and nothing is pushed. If either is true the button explains why instead o