CLACOROO

Built-in terminal

CLACOROO includes a real terminal as a drawer at the bottom of the app. It’s a full PTY (powered by node-pty and rendered by xterm.js), so it behaves exactly like your system shell — colors, cursor, signals, multi-line commands, all of it. You can keep multiple tabs open at once.

This is where CLACOROO opens claude login, claude mcp authenticate <name> and similar interactive flows. It’s also the place you’d reach for when you want to run a one-off claude command CLACOROO doesn’t wrap (rare), or check something quickly without leaving the app.

Overview

The CLACOROO terminal drawer at the bottom of the window, showing an active shell session with prompt and command history.

A drawer slides up from the bottom of the window. It has:

  • A row of tabs at the top (with + to open a new one and × to close)
  • The terminal area itself, with normal scrollback
  • A resize handle between the drawer and the main content (drag to resize)
  • A close button that minimizes the drawer (your sessions stay alive in the background)

The drawer is global, not section-specific — open it from any section.

What it shows

Shell

Each tab starts a fresh shell — your default login shell on macOS / Linux (/bin/zsh, /bin/bash, etc.) and ConPTY on Windows. Your prompt, your aliases, your environment variables — exactly what you’d get if you opened a regular terminal app.

Tabs

The terminal drawer with multiple tabs open: one with claude login flow, another with a free shell.

Open as many tabs as you need:

  • One for an interactive flow (e.g. claude login)
  • One for a long-running claude mcp authenticate <server>
  • One for ad-hoc commands

Tabs survive resizing and section changes. Closing the drawer doesn’t kill tabs — your sessions stay alive until you explicitly close a tab.

Resize handle

Drag the handle between the drawer top edge and the main content to give the terminal more or less space. The size is remembered between launches.

Status badges (per tab)

Each tab title shows a small status:

  • active — the shell is responsive
  • busy — a long-running command is in foreground
  • exited — the shell exited; close the tab or restart

Common tasks

How to open the terminal

  • Click the Terminal button in the top-right of the topbar
  • Or press the backtick key (Cmd / Ctrl + backtick, the key above Tab)
  • The drawer slides up with the most recent tab focused (or a new one if none exist)

How to open a new tab

  • Click the + in the tabs row
  • Or press Cmd / Ctrl + T while the drawer is focused

How to close a tab

  • Click the × on the tab
  • Or run exit in the shell

How to authenticate an MCP server interactively

This is the canonical use case for the terminal:

  1. In the MCP servers section, click Authenticate on a “Needs Auth” card
  2. CLACOROO opens the terminal with claude mcp authenticate <server> already typed and ready to run
  3. Press Enter and follow the prompts (usually a browser opens for OAuth)
  4. Once the flow finishes, the MCP card updates its status on next refresh

How to log in to claude.ai

Same shape:

  1. Settings → Claude account → Login to claude.ai
  2. CLACOROO opens the terminal with claude login prepared
  3. Follow the prompts; the account panel updates on completion

How to copy / paste

Selection works as usual: drag to select, then Cmd / Ctrl + C to copy. Paste with Cmd / Ctrl + V.

On Linux/Windows you can also paste with middle click if your shell supports it.

Tips & shortcuts

  • The terminal is a real shell: aliases, nvm, asdf, completion all work; nothing is sandboxed away
  • The backtick key (Cmd / Ctrl + backtick, the key above Tab) toggles the drawer; learn this and you’ll never reach for the topbar button
  • Tabs survive closing the drawer, switching section, and resizing the window. They die only when you close them or quit CLACOROO.
  • The drawer height is saved per-session: resize it to where you like it, and it’ll come back the same way next launch
  • On macOS the drawer height counts as a normal element, so the main content scrolls behind it — useful when you want to keep both visible

Edge cases & errors

  • Tabs say “exited” right after opening. Your default shell isn’t available or your $SHELL is misconfigured. Set $SHELL to a valid path and reopen the tab.
  • The terminal doesn’t accept input. Click in the terminal area to give it focus, then try again.
  • An ANSI escape leaks through (e.g. ^[[K). Some old programs assume a “dumb” terminal; force-set TERM=xterm-256color before running them.
  • Pasting a long block trims characters. Some shells throttle paste; use bracketed paste (most shells support it by default in recent versions) or save the snippet to a file and cat it.
  • The shell stalls after claude login. The OAuth callback couldn’t reach your machine. Run claude login --headless (device-code flow) and follow the URL printed in the terminal.
  • MCP servers — the typical reason you open the terminal (auth flows)
  • Claude accountclaude login lives here
  • Claude Config — for non-interactive config inspection, use claude config get ... in the terminal
  • Troubleshooting — when something else fails, the terminal is the place to diagnose