AGENT TERMINAL / DOCUMENTATION

Make yourself
at home.

Everything you need to get started with a terminal built around your coding agents.

01 / GET STARTED

Installation

Agent Terminal is stable on macOS 13 and later, with Zsh as its daily-driver shell. Download the build for your Mac or install it using Homebrew.

HOMEBREW
$ brew install --cask daniakash/tap/agent-terminal

First launch

  1. Open Agent Terminal and create a project for a directory you work in.
  2. Open a tab in that project. Your shell starts in the project workspace.
  3. Install your preferred agent using its own setup guide, then launch it from the tab.

Already have a terminal workflow? Your shell and CLI tools remain available. Agent Terminal adds project organization and session context around them.

02 / WORKSPACE

Projects and tabs

Organize related sessions under projects and switch between them without losing your place. Tabs remember their working directory and reopen there.

Keep context between sessions

Projects group tabs by the work they belong to. Each tab remembers its working directory, so reopening a project helps you return to the right place. The sidebar and tab bar give you ways to move between active sessions.

Find a recent session

Press ⌘ P to open the recent-tabs switcher. Type to filter and press Enter to jump back in.

03 / INTEGRATIONS

Work with your agents

Install your preferred coding agent separately, then run it in an Agent Terminal tab. The workspace recognizes supported agents and surfaces their identity and activity state.

Supported

Claude Code, Codex CLI, and opencode.

Experimental

Amp, Kilo Code, Kimi CLI, and Mastra. Detection works and is still being tested.

How detection works

Agent Terminal identifies a running agent and combines available signals such as lifecycle hooks, terminal titles, and process activity. Integration methods differ by agent: for example, Claude Code and Codex use native hooks, while opencode uses a session plugin. Amp uses terminal-title signals.

Agent support is independent of provider usage in Jarvis. An installed CLI may still need its own sign-in, and experimental integrations may need further testing.

See all agent integrations
04 / LIVE CONTEXT

The status bar

The status bar follows the focused tab and refreshes its context regularly, so you can see what’s running without leaving the terminal.

  • Process name, PID, elapsed time, and memory usage
  • Listening TCP ports and the current working directory
  • Git branch, dirty state, and ahead/behind information
  • Detected agent and model information when available

Use the theme control in the status bar to choose light, dark, or system appearance for the workspace and terminal.

05 / PROVIDER USAGE

Jarvis

Jarvis shows provider usage and reset windows. Open Jarvis from the status bar, choose Settings, enable it, and select the providers you want to track. Sources remain off until selected.

Hover or focus the Jarvis button for compact gauges, or open it for details. Usage access depends on the enabled provider and an existing local session or key. Unavailable data is shown as unavailable.

Provider access stays opt-in

Credentials are read for enabled providers; Jarvis does not save them or send them to the frontend. It reports provider quotas, not estimated model spending.

Reading the gauges

The hover panel can show a weekly outer arc and an hourly or session inner arc when those windows are reported. Unknown windows remain empty. In an agent tab, the status bar follows that agent’s available session allowance or account status; weekly readings remain in the hover panel and usage dialog.

Refresh and troubleshooting

Jarvis refreshes every five minutes by default; manual, one-minute, and fifteen-minute modes are also available. Use Refresh after changing credentials. If a provider session has expired, renew it in that provider’s CLI. Claude Code may require explicitly authorizing Keychain access from its usage card.

Jarvis detects installed executables at startup and periodically thereafter. Use Rescan in Settings to check immediately. If an executable is not found, make sure its install location is available to the desktop process’s PATH.

Read the full Jarvis guide
06 / COMPANION

On your phone

The mobile companion pairs with your desktop and lets you access your projects and terminal sessions from your phone. Pair a device from the desktop using the app’s pairing flow.

Pair a device

  1. Open the companion pairing dialog on the desktop to display its QR code.
  2. Scan the code from the mobile app and verify the fingerprint shown by the pairing flow.
  3. After pairing, choose your desktop and open a project or terminal session.

The desktop’s paired-devices list lets you revoke access. A revoked device needs to pair again before it can reconnect.

Explore the companion source
07 / KEYBOARD

Keyboard shortcuts

Move around your workspace without leaving the keyboard.

ACTIONSHORTCUT
New tab in the active projectCtrl + T
Close the active tabCtrl + W
Cycle tabsCtrl + Tab / Ctrl + Shift + Tab
Jump to project 1–9Ctrl + 1 … 9
Open recent-tabs switcher⌘ + P
08 / COMPATIBILITY

Platforms and shells

Agent Terminal is daily-driven on macOS with Zsh. Other platforms and shells need more testing and contributions.

PLATFORM OR SHELLSTATUS
macOS 13+ · Apple Silicon / IntelDaily driver
ZshDaily driver
BashLightly tested
LinuxUntested · contributors wanted
WindowsUntested · contributors wanted
09 / BUILD WITH US

Contributing

Agent Terminal is open source under the MIT license. Bug reports, agent integrations, and help testing Linux and Windows are welcome.

For desktop development, the repository lists macOS 13+, Rust, Bun, and Xcode command line tools as prerequisites. Clone your fork, install dependencies with bun install, then run bun run tauri:dev.

Useful development commands

FROM THE REPOSITORY ROOT
bun install
bun run tauri:dev
bun run check
bun run tauri:build

The agent registry lives under apps/desktop/src-tauri/src/agents/. The contribution guide explains how profiles, hooks, plugins, and terminal signals fit together when adding an integration.