mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-10-18 16:02:58 +00:00
The Window & Tabs page is gone. Its three remaining tab settings (new tab position, tab bar position, auto grouping) are a Tabs group on General, below Startup & restore, so the nav has seven sections. Removed outright: - SSH tab title (`ssh_tab_title`, #726, unreleased). The sidebar already groups SSH tabs under their host, and renaming a tab pins its name. - Open diff preview from sidebar counts (`sidebar_diff_preview`, #247). The sidebar counts and the Info panel's changes row always open the diff overlay; the large-tree stall it worked around is bounded. An old config.json that still carries either key loads as before. The now-unused window settings icon goes with the page.
109 lines
4.1 KiB
Plaintext
109 lines
4.1 KiB
Plaintext
---
|
|
title: "Status and notifications"
|
|
description: "Installing the hooks, reading the dots, and being told when an agent needs you."
|
|
---
|
|
|
|
An agent working for two minutes and an agent that stopped ninety seconds ago
|
|
waiting for permission look identical from outside. tty7 fixes that by letting
|
|
the agent say which one it is.
|
|
|
|
## Installing the hooks
|
|
|
|
**Settings → Integrations** lists every agent that can report status, with an
|
|
**Install** button beside each:
|
|
|
|
| Agent | |
|
|
|---|---|
|
|
| Claude Code · Codex · TraeCode · Copilot CLI · OpenCode · Pi · Grok Build · Oh My Pi · Gemini · Droid · Qwen Code · Goose · Kimi Code · Qoder CLI · Crush · CodeBuddy · Cursor CLI · Prime Agent · Antigravity | Hooks available |
|
|
| Aider · Amp · Auggie · Hermes · Vibe · Empryo | Detected and labelled, but no status channel yet |
|
|
|
|
Installing writes into that agent's own configuration directory. Once installed
|
|
the row grows a second **Uninstall** button beside the first, which itself
|
|
becomes **Reinstall** — or **Update**, against an **Outdated** state, when tty7
|
|
ships a newer hook.
|
|
|
|
<Note>
|
|
Crush ships only a `PreToolUse` hook today. It is enough to remember the
|
|
session for resume, but there is no turn boundary behind it, so a Crush pane
|
|
carries no status dot and `tty7 wait` times out rather than returning.
|
|
</Note>
|
|
|
|
<Note>
|
|
Antigravity has no session-start or permission event, so its pane goes
|
|
straight from no dot to working on the first model call, and a pending
|
|
permission prompt shows as working rather than amber. Its hooks live in a
|
|
`tty7` set inside `~/.gemini/config/hooks.json`, beside any sets of your own.
|
|
</Note>
|
|
|
|
<Note>
|
|
`cursor-agent -p` (print mode) sends neither of Cursor's turn hooks, so a
|
|
headless run records its session id — Copy Session ID and resume still
|
|
work — but shows no status dot. The interactive `cursor-agent` shows the
|
|
full working → done cycle.
|
|
</Note>
|
|
|
|
<Note>
|
|
The hooks only do anything inside tty7. Running the same agent in another
|
|
terminal is unaffected.
|
|
</Note>
|
|
|
|
Hooks are installed per machine. Once a second
|
|
[machine](/remote/workspaces) is linked, a row of chips appears above the table
|
|
to pick which one you are looking at, and the table then shows that machine's
|
|
agents — so a dev box gets its hooks installed the same way, from the same
|
|
screen.
|
|
|
|
## The status dot
|
|
|
|
Every tab chip and sidebar row carries a dot:
|
|
|
|
| Dot | Meaning |
|
|
|---|---|
|
|
| 🔵 **Blue** | Working |
|
|
| 🟠 **Amber** | Needs your input — a permission prompt, a question |
|
|
| 🟢 **Green** | Done with this turn |
|
|
|
|
<Frame caption="Working (blue), waiting on you (amber), and done (green), side by side">
|
|
<img src="/images/agent-status.webp" alt="Agent status dots" />
|
|
</Frame>
|
|
|
|
The same three states are what `tty7 agents` reports as `working` / `waiting` /
|
|
`done`, and what [`tty7 wait`](/agents/orchestration) blocks on. A fourth state,
|
|
`idle`, carries no dot — it is an agent that has not started a turn.
|
|
|
|
## Notifications
|
|
|
|
Two, both following your **Settings → General → Notifications** policy:
|
|
|
|
- **"needs your permission…"** the moment an agent blocks on you
|
|
- **"finished after 42s"** at the end of a turn
|
|
|
|
Which means that by default — *When unfocused* — you are told the instant you
|
|
are the bottleneck, and left alone while you are watching.
|
|
|
|
## The tray icon
|
|
|
|
tty7 keeps a status item in the system tray (menu bar on macOS). It flips to an
|
|
attention state the moment *any* agent anywhere needs input, so you can see it
|
|
without the window in front of you.
|
|
|
|
Its menu lists every agent pane with its brand avatar and status dot — click one
|
|
to reveal it — and also holds the notification policy switch and **Quit and Stop
|
|
Server…**.
|
|
|
|
Turn it off with **Settings → General → Show tray icon**
|
|
(`show_tray_icon: false`).
|
|
|
|
## Sending an agent some context
|
|
|
|
Two Search Everywhere actions hand what is in front of you to the agent running in
|
|
the pane, as a ready-made prompt:
|
|
|
|
| Command | Sends |
|
|
|---|---|
|
|
| **Agent: Send Selection** | The current terminal selection |
|
|
| **Agent: Send Git Diff for Review** | The repository's `git diff` |
|
|
|
|
If nothing recognisable is running, tty7 says *"No running coding agent found"*
|
|
rather than typing into your shell.
|