Skip to content

Agents

matchblox finds every agent that runs in a tmux pane. Start each agent in a tmux session. Each command gives the console row under it.

Claude Code

tmux new -s app claude
✦ busy         app        app:1.1   ██████░░░░  62%

Codex

tmux new -s api codex
╿ asks   1m    codex      api:1.1   █████░░░░░  55%   ❋ you@example.com · Plus

OpenCode

tmux new -s web opencode
✦ busy         opencode   web:1.1   ███░░░░░░░  32%   ▣ API key

Any other agent, for example aider

tmux new -s docs aider
╿ done   4m    aider      docs:1.1  not measured

The first run writes the agents it finds to agents in the config. Add any other agent there by its command.

Context use

Claude Code, Codex and OpenCode show their context use. matchblox reads it from the agent's own files: the transcript, the rollout, the session storage. It never guesses. Before the first turn a session is "fresh". An agent that it cannot read shows "not measured".

The window comes from the model that the agent reports. To change it, set [sessions.windows] in the config.

The account

On a wide screen, Sessions shows the account of each session: the provider's mark, then the email and plan, or "API key". matchblox reads only those fields from the agent's auth files. A token never reaches the console.

How an agent tells that it waits

Claude Code tells its waits through hooks: the setup step "Add the queue hooks" adds them. matchblox reads every other agent from its pane: it is busy while the pane changes, and it waits for you when it is idle and its last lines ask. That can come later than a hook.

An approval menu (Codex, OpenCode) shows as asks. Answer it in its pane, where Enter takes the selected choice.

See Limits for what is not measured yet.