Terminal¶
There are two ways to chat with Attaché in a terminal:
attache chat(or plainattache) is a line-by-line chat that works anywhere, even in a pipe or over SSH.attache skill tuiis a full-screen app, like Claude Code.
Both show what Attaché is doing while it works on a reply, which can take 15 to 30 seconds when it checks your calendar and mail.
Only your own chats show this. Group chats and other people never see steps or thinking.
The step trail in attache chat¶
While a turn of yours runs, Attaché prints short, indented lines of plain text under your message. They are added as the turn goes and never redrawn, so typing while it works is safe.
what's on tomorrow, and has Dan replied about the boiler?
working…
∴ Calendar first, then mail from Dan.
· script mail agenda 1.1s
· script mail search 0.9s
· script mail read 0.4s
attaché> Tomorrow you have the dentist at 9. Dan replied on Friday: …
14.2s · 3.1k tokens · claude
| Line | Means |
|---|---|
working… |
The turn has started. |
· script mail agenda 1.1s |
A step: a tool Attaché used, and how long it took. Labels name the tool and what it worked on (a skill, a file, a collection), never the contents. Claude Code's own tools, such as Bash ls -la or Read src/app.py, show without a time. |
∴ Calendar first, then mail from Dan. |
Thinking, as its first sentence, at most 100 characters. |
14.2s · 3.1k tokens · claude |
After the reply: how long the turn took, the tokens it used, and the route it went to. Without a token count it is 14.2s · claude. |
stopped · 3.2s |
The turn was stopped, and sent no reply. |
Ctrl+C while a turn runs stops that turn. With nothing running, Ctrl+C quits, as before.
The web page shows the same steps while a turn runs, with a Stop button (or Esc).
Stop and Ctrl+C stop what you asked for: - the turn that is running, a scheduled one in your chat included (a morning triage, say); - the messages you sent while it ran, which were waiting behind it.
The full thinking text is in the full-screen app (ctrl+o), and on the web page when you hover over the thinking summary.
Type /new to start a new chat. A turn that is running
stops first, and the web page and the full-screen app clear too.
The full-screen app¶
The conversation scrolls, the input box stays at the bottom, and a live status line sits above it:
Attaché · local:me · claude
you what's on tomorrow, and has Dan replied about the boiler?
▸ Thinking · Calendar first, then mail from Dan. ctrl+o
● script mail agenda ✓ 1.1s
● script mail search ✓ 0.9s
⠹ script mail search · 4s · esc to stop
Message Attaché
ctrl+o steps · esc stop · ctrl+l log · ctrl+d quit
After the turn, the reply appears under its steps, and the status line shows
✓ done · 14.2s · 3.1k tokens · claude.
Installing¶
It is the tui skill, built on Textual. Its first run
downloads Textual and httpx (a few MB) through uv, outside Attaché, so Attaché itself keeps
no extra dependency. A home made before the skill existed gets it with attache init, which
adds new bundled skills and never overwrites your files.
How it starts Attaché¶
The app starts Attaché itself, as attache run, and stops it when you quit. So stop any other
attache run or attache chat first, and the login service if you installed one
(attache skill service uninstall).
If one is already running, the app shows its message and exits: "Attaché may already be
running; stop it or use its web page."
It reads the link Attaché prints (Open http://127.0.0.1:8765/#t=…) and talks to Attaché the
way the web page does. The link's token stays in the app's memory, never in a file, and
changes every run. Attaché's own output goes to the log pane (ctrl+l).
Keys¶
| Key | Does |
|---|---|
| Enter | Send the message. |
| Esc | Stop the turn that is running, and the messages waiting behind it, as Stop does. |
| ctrl+o | Show every turn's thinking in full, or fold it again. |
| 1 to 9 | Answer the open question, while the input box is empty. |
| ctrl+l | Show or hide Attaché's own log. |
| ctrl+d or ctrl+q | Quit. Attaché stops too. |
Questions (Approve or Decline, Send or Not now) show their options as numbered lines. Press the number to answer.
Thinking¶
Thinking shows only on the claude-cli route, which is your Claude Code login. It comes from
Claude Code's own event stream as the turn runs, so there is nothing to set up.
The anthropic, openai-chat and openai-responses routes show steps, but no thinking.