Skip to content

The built-in terminal

That Claude Code session can run inside Agent NextUp. On the project’s Terminal page, click the entry you want (an agent CLI, or a plain Shell — anything not installed is greyed out) and it runs in the project root. The experience is identical to an external terminal: login, slash commands, and permission prompts all belong to the CLI itself.

A few things worth knowing:

One project can have several tabs open. The tab bar is keyboard-operable — Tab into it, then use left/right arrow keys to switch tabs (Home/End jump to the ends).

With the terminal focused, Ctrl (⌘ on macOS) with + and - changes the font size, and Ctrl 0 puts it back to the default. The size is remembered, it is a preference of yours rather than of the project, and every other tab and pop-out window follows it immediately.

This affects the terminal only. To scale the whole window instead — the terminal along with everything else — use Settings → Interface scale; the two combine rather than replace each other.

Switching projects doesn’t interrupt anything

Section titled “Switching projects doesn’t interrupt anything”

Sessions belong to the app, not to the page. Switch to another project and come back: the screen replays and you keep typing. The sidebar’s “Terminal” item and the project card show a “terminal running” marker.

The Agent sessions page: every project at once

Section titled “The Agent sessions page: every project at once”

Agent sessions in the sidebar is the cross-project console. It lists every session in every project, and you can work from it without opening those projects:

  • Pick a running session and type into it right there — the pane beside the list is a live terminal, not a preview.
  • Start a new session in any project from the launcher at the top: choose the project, choose the CLI, press it. The project you currently have open does not change.
  • Pop out, or end, any session from its row.
  • Resume a restored session — one left over from the last time the app ran — with the button on it, without going anywhere.
  • Hide the list (top right) to give the terminal the full width; the page remembers that.

Each project’s group has two buttons, and they do different things: Start one here launches a session in that project without leaving the page, and Go to terminal is the one that navigates.

One session is live in the page at a time. To watch or drive several at once, pop them into their own windows — that is what the pop-out button is for, and it is on this page as well as in the project’s own Terminal view.

A session that has been popped out shows a card here instead of a pane, on purpose: the same terminal is never rendered twice, because a session fed from two places receives neither half of what you type. Dock it back to use it here. A session that has exited or is waiting to be restored says so too, and points at the project’s Terminal view, which is where resuming happens.

Agent NextUp never opens a terminal on its own and never types anything on your behalf — including from the cross-project page above, which can reach every session but cannot feed any of them. Account credentials are managed by each CLI (Agent NextUp doesn’t touch them).

Closing the app terminates running processes

Section titled “Closing the app terminates running processes”

You get a confirmation prompt first. Next time you open the app, terminals that can be resumed come back as restored tabs. The previous screen contents are not preserved, but whichever restored tab you switch to reconnects automatically: it reloads the last conversation using that agent’s resume flag (Claude Code’s --continue, the equivalent for Codex and Gemini) and becomes typeable again without you pressing anything — and it prioritises the tab you were last using. If reconnection fails (the CLI isn’t installed, no network) you get a retry/close card rather than an endless retry loop. Terminals that cannot be resumed — custom CLIs and the plain shell — are not restored and vanish when the app closes. Just close any restored tab you don’t need.

A running tab has a small pop out icon. Pressing it moves that terminal into a separate OS window — drag it to a second monitor, or put it side by side with the Tasks page. The slot in the main window becomes a “popped out” placeholder; press Dock back, or close the separate window, to return it. (With a pop-out open, closing the main window closes the whole app.)

The list of launchable entries is managed at the app level under Settings → Agent CLIs. Presets are Claude Code, Codex CLI, and Gemini CLI, plus a plain Shell (chosen per platform: PowerShell 7 if installed, otherwise Windows PowerShell; your login $SHELL on macOS/Linux, falling back to /bin/sh). You can add custom agents too — name, command, arguments, and environment variables.

A custom CLI’s environment variables field takes one KEY=value per line, passed to the CLI at launch. To point an agent at a local model, aim its base URL there — Claude Code’s ANTHROPIC_BASE_URL, or OPENAI_BASE_URL for OpenAI/Codex-style tools, pointed at Ollama (/v1), LM Studio, vLLM, or similar. Or just add ollama itself as a custom CLI (command ollama, arguments run <model>) and talk to a local model straight from the terminal.

Terminal screen contents are never written to the ledger or the search index. What the agent does to the project (creating tasks, recording decisions) still leaves a trace, because that goes through the hub tools.